This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: libstdc++-v3 irix6.2 fix for 70 broken g++ testsuite results


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]