Hi, Has anyone out there managed to build gpc-19990813 with gcc-2.95 on solaris2.{6,7} and irix6.5 ? I have managed to get past a few hurdles: 1) gpc/p/config-lang.in uses test unknown on solaris [ -e $srcdir/p/Make-lang.in ] must be replaced by [ -r $srcdir/p/Make-lang.in ] --- gpc.orig/p/config-lang.in Tue Aug 3 00:18:13 1999 +++ gpc/p/config-lang.in Wed Oct 27 15:32:44 1999 @@ -43,10 +43,10 @@ echo "#define EGCS" > gcc-version.h echo "#define EGCS92" >> gcc-version.h echo "#define EGCS95" >> gcc-version.h - if [ -e $srcdir/p/Make-lang.in ] \ + if [ -r $srcdir/p/Make-lang.in ] \ && cmp -s $srcdir/p/Make-lang-2.95.in $srcdir/p/Make-lang.in; then true; else cp $srcdir/p/Make-lang-2.95.in $srcdir/p/Make-lang.in; fi - if [ -e $srcdir/p/Makefile.in ] \ + if [ -r $srcdir/p/Makefile.in ] \ && cmp -s $srcdir/p/Makefile-2.95.in $srcdir/p/Makefile.in; then true; else cp $srcdir/p/Makefile-2.95.in $srcdir/p/Makefile.in; fi else @@ -58,10 +58,10 @@ else echo "/* empty */" > gcc-version.h fi - if [ -e $srcdir/p/Make-lang.in ] \ + if [ -r $srcdir/p/Make-lang.in ] \ && cmp -s $srcdir/p/Make-lang-old.in $srcdir/p/Make-lang.in; then true; else cp $srcdir/p/Make-lang-old.in $srcdir/p/Make-lang.in; fi - if [ -e $srcdir/p/Makefile.in ] \ + if [ -r $srcdir/p/Makefile.in ] \ && cmp -s $srcdir/p/Makefile-old.in $srcdir/p/Makefile.in; then true; else cp $srcdir/p/Makefile-old.in $srcdir/p/Makefile.in; fi fi 2) gpc/p/gpc-decl.c needs declaration of nonlocal_goto_handler_slot --- gpc.orig/p/gpc-decl.c Wed Jul 28 03:31:23 1999 +++ gpc/p/gpc-decl.c Wed Oct 27 15:35:49 1999 @@ -54,6 +54,7 @@ #include <ctype.h> extern rtx tail_recursion_reentry; /* in function.c */ +extern rtx nonlocal_goto_handler_slot; /* in function.c */ /* for language specific parts of the tree_node */ extern struct obstack permanent_obstack; 3) An ugly hack to make two object files available [reported by Alexander Sokolov <robocop@amur.rosnet.ru> Fri, 20 Aug 1999 20:02:51 +1100 (VLAST) - if there was an answer, I missed it.] # An ugly hack ... rm -f gcc/choose-temp.o; ln -s ../libiberty/choose-temp.o gcc rm -f gcc/pexecute.o; ln -s ../libiberty/pexecute.o gcc 4) Comes to a grinding halt: The hacks&patches above get the build going, until gcc -c -DIN_GCC -DGPC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../.. /include gpc-lang.c gpc-lang.c: In function `lang_decode_option': gpc-lang.c:50: argument `p' doesn't match prototype ../tree.h:2078: prototype declaration gpc-lang.c:50: number of arguments doesn't match prototype ../tree.h:2078: prototype declaration where the symbol EGCS should be defined to get past this one, but if I do, then the next hurdle is: gcc -c -DIN_GCC -DGPC -DEGCS -I. -I.. -I. -I./.. -I./../config -I./../../include gpc-lex.c In file included from gpc-lex.c:41: gbe.h:79: conflicting types for `fatal' ../system.h:394: previous declaration of `fatal' In file included from gpc-lex.c:46: util.h:174: conflicting types for `concat' ../../include/libiberty.h:48: previous declaration of `concat' gpc-lex.c: In function `yyerror': gpc-lex.c:1158: argument `string' doesn't match prototype ../c-lex.h:84: prototype declaration gmake[2]: *** [gpc-lex.o] Error 1 Anyone with some help & advice out there? --- benedict