aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2002-05-06 14:03:57 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2002-05-06 14:03:57 +0000
commit567310ad7f5936f50c5bb108b69deb0f5430b9c1 (patch)
tree600bf25309a37774dfc392ed12ca03374c36f08a
parentde20ab96b1dc3812d8658453bee4b717e7584068 (diff)
downloadgcc-567310ad7f5936f50c5bb108b69deb0f5430b9c1.zip
gcc-567310ad7f5936f50c5bb108b69deb0f5430b9c1.tar.gz
gcc-567310ad7f5936f50c5bb108b69deb0f5430b9c1.tar.bz2
os_defines.h (_SGI_SOURCE, [...]): Ensure they are always defined.
* config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE, __EXTENSIONS__): Ensure they are always defined. From-SVN: r53216
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h16
2 files changed, 21 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7eaed91..b948d3a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE,
+ __EXTENSIONS__): Ensure they are always defined.
+
2002-05-06 Phil Edwards <pme@gcc.gnu.org>
* docs/html/documentation.html: Fix broken link.
diff --git a/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h b/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h
index 1a9eeca..be2d2fb 100644
--- a/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h
+++ b/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h
@@ -44,6 +44,22 @@
// the command-line.
#undef _POSIX_SOURCE
+/* On at least irix6.2 (which uses this file,) the header files are
+ very fragile and depend heavily on _SGI_SOURCE and __EXTENSIONS__
+ being defined. If they're not, then features disappear that
+ configure was relying on which then breaks the libstdc++ headers.
+ These macros are normally implicitly defined by the command-line,
+ however they are not defined when -ansi is used, and -ansi is
+ passed to the testsuite. The g++ test results (where it uses
+ libstdc++ headers) get dozens of extra failures without these
+ macros, so ensure they always are defined here. */
+#ifndef _SGI_SOURCE
+# define _SGI_SOURCE
+#endif
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__
+#endif
+
#define __off_t off_t
#define __off64_t off64_t
#define __ssize_t ssize_t