gnu/gcj/io/shs.cc doesn't compile on Solaris 2.5.1 (bootstrap failure)

Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Fri Mar 15 13:33:00 GMT 2002


Tom Tromey writes:
> Could you try this patch?

close :-) After fixing the #else/#endif nesting, the initial version
failed on Solaris 2.5.1:
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/gnu/gcj/io/shs.h:24: conflicting 
 types for `typedef unsigned int uint32_t'
/vol/gcc/obj/gcc-3.1-20020313/2.5.1-gcc/gcc/include/pthread.h:40: previous 
 declaration as `typedef long unsigned int uint32_t'
Taking the whole section from java/lang/mprec.h works on both
sparc-sun-solaris2.5.1 (where the bootstrap completes now; I'll run the
testsuite and post results soon) and alpha-dec-osf4.0f (where shs.c
compiles, but I get the same ICE compiling java/lang/Character.java,
details follow).
	Rainer
Index: gnu/gcj/io/shs.h
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/gcj/io/shs.h,v
retrieving revision 1.2
diff -u -p -r1.2 shs.h
--- shs.h	2002年02月07日 05:01:29	1.2
+++ shs.h	2002年03月15日 21:28:02
@@ -20,6 +20,14 @@
 #else
 # if HAVE_STDINT_H
 # include <stdint.h>
+# else
+typedef unsigned int uint8_t __attribute__((mode(QI)));
+/* This is a blatant hack: on Solaris 2.5, pthread.h defines uint32_t
+ in pthread.h, which we sometimes include. We protect our
+ definition the same way Solaris 2.5 does, to avoid redefining it. */
+# ifndef _UINT32_T
+typedef unsigned int uint32_t __attribute__((mode(SI)));
+# endif
 # endif
 #endif
 


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /