* 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.
From-SVN: r42125
+2001-05-15 Mark Mitchell <mark@codesourcery.com>
+
+ * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+
2001-05-15 Geoffrey Keating <geoffk@redhat.com>
* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
%{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
+2001-05-15 Mark Mitchell <mark@codesourcery.com>
+
+ * 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 <zackw@stanford.edu>
* testsuite/21_strings/inserters_extractors.cc,
#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
#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
#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
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: