From b878f80a0db22f72cc430aae5614803525668787 Mon Sep 17 00:00:00 2001 From: mmitchel Date: Wed, 16 May 2001 01:11:20 +0000 Subject: [PATCH] * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define. * porting.texi: Correct documentation about handling _LARRGEFILE_SOURCE and its ilk. * config/os/solaris/solaris2.5/bits/os_defines.h: Remove definitions of _XOPEN_SOURCE, _LARGEFILE64_SOURCE, and __EXTENSIONS__. * config/os/solaris/solaris2.6/bits/os_defines.h: Likewise. * config/os/solaris/solaris2.7/bits/os_defines.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42125 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/config/sparc/sol2.h | 22 +++++++++++++++++++ libstdc++-v3/ChangeLog | 10 +++++++++ .../config/os/solaris/solaris2.5/bits/os_defines.h | 5 ----- .../config/os/solaris/solaris2.6/bits/os_defines.h | 5 ----- .../config/os/solaris/solaris2.7/bits/os_defines.h | 6 ------ libstdc++-v3/porting.texi | 25 ++++++++++++---------- 7 files changed, 50 insertions(+), 27 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ac1f3d..e1b1c6a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-05-15 Mark Mitchell + + * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define. + 2001-05-15 Geoffrey Keating * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 5075f9a..bf0466d 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -35,6 +35,28 @@ Boston, MA 02111-1307, USA. */ %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} \ " +/* For C++ we need to add some additional macro definitions required + by the C++ standard library. */ +#define CPLUSPLUS_CPP_SPEC "\ +-D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 \ +-D__EXTENSIONS__ \ +%{mcypress:} \ +%{msparclite:-D__sparclite__} \ +%{mf930:-D__sparclite__} %{mf934:-D__sparclite__} \ +%{mv8:-D__sparc_v8__} \ +%{msupersparc:-D__supersparc__ -D__sparc_v8__} \ +%{mcpu=sparclet:-D__sparclet__} %{mcpu=tsc701:-D__sparclet__} \ +%{mcpu=sparclite:-D__sparclite__} \ +%{mcpu=f930:-D__sparclite__} %{mcpu=f934:-D__sparclite__} \ +%{mcpu=v8:-D__sparc_v8__} \ +%{mcpu=supersparc:-D__supersparc__ -D__sparc_v8__} \ +%{mcpu=hypersparc:-D__hypersparc__ -D__sparc_v8__} \ +%{mcpu=sparclite86x:-D__sparclite86x__} \ +%{mcpu=v9:-D__sparc_v9__} \ +%{mcpu=ultrasparc:-D__sparc_v9__} \ +%{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} \ +" + /* The sun bundled assembler doesn't accept -Yd, (and neither does gas). It's safe to pass -s always, even if -g is not used. */ #undef ASM_SPEC diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6d68629..c427746 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2001-05-15 Mark Mitchell + + * porting.texi: Correct documentation about handling + _LARRGEFILE_SOURCE and its ilk. + * config/os/solaris/solaris2.5/bits/os_defines.h: Remove + definitions of _XOPEN_SOURCE, _LARGEFILE64_SOURCE, and + __EXTENSIONS__. + * config/os/solaris/solaris2.6/bits/os_defines.h: Likewise. + * config/os/solaris/solaris2.7/bits/os_defines.h: Likewise. + 2001-05-15 Zack Weinberg * testsuite/21_strings/inserters_extractors.cc, diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h index c947be7..4dd1fa2 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h +++ b/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h @@ -31,11 +31,6 @@ #ifndef _GLIBCPP_OS_DEFINES # define _GLIBCPP_OS_DEFINES -// Need these to get sane definitions, esp. of 64-bit types and typedefs. -#define _XOPEN_SOURCE 500 -#define _LARGEFILE64_SOURCE 1 -#define __EXTENSIONS__ - /* System-specific #define, typedefs, corrections, etc, go here. This file will come before all others. */ // These are typedefs which libio assumes are already in place (because diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h index c947be7..4dd1fa2 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h +++ b/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h @@ -31,11 +31,6 @@ #ifndef _GLIBCPP_OS_DEFINES # define _GLIBCPP_OS_DEFINES -// Need these to get sane definitions, esp. of 64-bit types and typedefs. -#define _XOPEN_SOURCE 500 -#define _LARGEFILE64_SOURCE 1 -#define __EXTENSIONS__ - /* System-specific #define, typedefs, corrections, etc, go here. This file will come before all others. */ // These are typedefs which libio assumes are already in place (because diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h index ec63697..cb0afed 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h +++ b/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h @@ -31,12 +31,6 @@ #ifndef _GLIBCPP_OS_DEFINES # define _GLIBCPP_OS_DEFINES -// Need these to get sane definitions, esp. of 64-bit types and typedefs. -#define _XOPEN_SOURCE 500 -#define _LARGEFILE_SOURCE 1 -#define _LARGEFILE64_SOURCE 1 -#define __EXTENSIONS__ - // These are typedefs which libio assumes are already in place (because // they really are, under Linux). #define __off_t off_t diff --git a/libstdc++-v3/porting.texi b/libstdc++-v3/porting.texi index 7d42171..1315de3 100644 --- a/libstdc++-v3/porting.texi +++ b/libstdc++-v3/porting.texi @@ -126,17 +126,20 @@ provide these macros. Note that this file does not have to include a header file that defines @code{off_t}, or the other types; you simply have to provide the macros. -In addition, several libstdc++-v3 source files unconditionally define the macro -@code{_POSIX_SOURCE}. On many systems, defining this macro causes large -portions of the C library header files to be eliminated at preprocessing -time. Therefore, you may have to @code{#undef} this macro, or define -other macros (like @code{_LARGEFILE_SOURCE} or @code{__EXTENSIONS__}). -You won't know what macros to define or undefine at this point; you'll -have to try compiling the library and seeing what goes wrong. If you -see errors about calling functions that have not been declared, look in -your C library headers to see if the functions are declared there, and -then figure out what macros you should but in @file{bits/os_defines.h} -to make these declarations available. +In addition, several libstdc++-v3 source files unconditionally define +the macro @code{_POSIX_SOURCE}. On many systems, defining this macro +causes large portions of the C library header files to be eliminated +at preprocessing time. Therefore, you may have to @code{#undef} this +macro, or define other macros (like @code{_LARGEFILE_SOURCE} or +@code{__EXTENSIONS__}). You won't know what macros to define or +undefine at this point; you'll have to try compiling the library and +seeing what goes wrong. If you see errors about calling functions +that have not been declared, look in your C library headers to see if +the functions are declared there, and then figure out what macros you +need to define. You will need to add them to the +@code{CPLUSPLUS_CPP_SPEC} macro in the GCC configuration file for your +target. It will not work to simply define these macros in +@file{os_defines.h}. Finally, you should bracket the entire file in an include-guard, like this: -- 2.7.4