Patch: libstdc++-v3 irix6.2 fix for 70 broken g++ testsuite results
Kaveh R. Ghazi
ghazi@caip.rutgers.edu
Sun May 5 09:10:00 GMT 2002
This patch corrects a problem when running the g++ testsuite on
irix6.2. I'd very much like the comments I inserted in the patch to
stand on their own so I purposely left out any explanation here. If
there not clear below, let me know and I'll gladly revise them.
This patch corrects the roughly 70 failure difference in the g++
results between here:
http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg00090.html
and here:
http://gcc.gnu.org/ml/gcc-testresults/2002-04/msg00149.html
and I've been using it ever since.
Tested on mips-sgi-irix6.2. Ok to install on the trunk?
(I'll privately queue it up for 3.1.1.)
Thanks,
--Kaveh
2002-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE,
__EXTENSIONS__): Ensure they are always defined.
diff -rup orig/egcc-3.1-CVS20020504/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h egcc-3.1-CVS20020504/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h
--- orig/egcc-3.1-CVS20020504/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h Tue Oct 23 17:40:29 2001
+++ egcc-3.1-CVS20020504/libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h Sun May 5 11:53:51 2002
@@ -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
More information about the Libstdc++
mailing list