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
This commit is contained in:
Mark Mitchell 2001-05-16 01:11:20 +00:00 committed by Mark Mitchell
parent 6f4226f843
commit 99d8dccc07
7 changed files with 50 additions and 27 deletions

View File

@ -1,3 +1,7 @@
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

View File

@ -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

View File

@ -1,3 +1,13 @@
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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: