Commit 99d8dccc by Mark Mitchell Committed by Mark Mitchell

sol2.h (CPLUSPLUS_CPP_SPEC): Define.

	* 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
parent 6f4226f8
2001-05-15 Mark Mitchell <mark@codesourcery.com>
* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2001-05-15 Geoffrey Keating <geoffk@redhat.com> 2001-05-15 Geoffrey Keating <geoffk@redhat.com>
* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
......
...@@ -35,6 +35,28 @@ Boston, MA 02111-1307, USA. */ ...@@ -35,6 +35,28 @@ Boston, MA 02111-1307, USA. */
%{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} \ %{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). /* 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. */ It's safe to pass -s always, even if -g is not used. */
#undef ASM_SPEC #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> 2001-05-15 Zack Weinberg <zackw@stanford.edu>
* testsuite/21_strings/inserters_extractors.cc, * testsuite/21_strings/inserters_extractors.cc,
......
...@@ -31,11 +31,6 @@ ...@@ -31,11 +31,6 @@
#ifndef _GLIBCPP_OS_DEFINES #ifndef _GLIBCPP_OS_DEFINES
# define _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 /* System-specific #define, typedefs, corrections, etc, go here. This
file will come before all others. */ file will come before all others. */
// These are typedefs which libio assumes are already in place (because // These are typedefs which libio assumes are already in place (because
......
...@@ -31,11 +31,6 @@ ...@@ -31,11 +31,6 @@
#ifndef _GLIBCPP_OS_DEFINES #ifndef _GLIBCPP_OS_DEFINES
# define _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 /* System-specific #define, typedefs, corrections, etc, go here. This
file will come before all others. */ file will come before all others. */
// These are typedefs which libio assumes are already in place (because // These are typedefs which libio assumes are already in place (because
......
...@@ -31,12 +31,6 @@ ...@@ -31,12 +31,6 @@
#ifndef _GLIBCPP_OS_DEFINES #ifndef _GLIBCPP_OS_DEFINES
# define _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 // These are typedefs which libio assumes are already in place (because
// they really are, under Linux). // they really are, under Linux).
#define __off_t off_t #define __off_t off_t
......
...@@ -126,17 +126,20 @@ provide these macros. Note that this file does not have to include a ...@@ -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 header file that defines @code{off_t}, or the other types; you simply
have to provide the macros. have to provide the macros.
In addition, several libstdc++-v3 source files unconditionally define the macro In addition, several libstdc++-v3 source files unconditionally define
@code{_POSIX_SOURCE}. On many systems, defining this macro causes large the macro @code{_POSIX_SOURCE}. On many systems, defining this macro
portions of the C library header files to be eliminated at preprocessing causes large portions of the C library header files to be eliminated
time. Therefore, you may have to @code{#undef} this macro, or define at preprocessing time. Therefore, you may have to @code{#undef} this
other macros (like @code{_LARGEFILE_SOURCE} or @code{__EXTENSIONS__}). macro, or define other macros (like @code{_LARGEFILE_SOURCE} or
You won't know what macros to define or undefine at this point; you'll @code{__EXTENSIONS__}). You won't know what macros to define or
have to try compiling the library and seeing what goes wrong. If you undefine at this point; you'll have to try compiling the library and
see errors about calling functions that have not been declared, look in seeing what goes wrong. If you see errors about calling functions
your C library headers to see if the functions are declared there, and that have not been declared, look in your C library headers to see if
then figure out what macros you should but in @file{bits/os_defines.h} the functions are declared there, and then figure out what macros you
to make these declarations available. 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 Finally, you should bracket the entire file in an include-guard, like
this: this:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment