Adriaan van Os wrote:
Frank Heckenbach wrote:
I have uploaded a new beta version of GPC to http://www.gnu-pascal.de/beta/.
Thanks for the beta version. I finally found the time to give it a try.
Building gpc-20040516 with gcc-3.3.2 on powerpc-apple-darwin, make bootstrap dies with:
stage1/xgcc -Bstage1/ -B/Developer/Pascal/gpc332d6/powerpc-apple-darwin/bin/ -o p/lang.o -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -I. -Ip -I../../gpc-332d6/gcc -I../../gpc-332d6/gcc/p -I../../gpc-332d6/gcc/config -I../../gpc-332d6/gcc/../include -DGPC -I../../gpc-332d6/gcc/p ../../gpc-332d6/gcc/p/lang.c ../../gpc-332d6/gcc/p/lang.c: In function `lang_init': ../../gpc-332d6/gcc/p/lang.c:511: warning: implicit declaration of function `rs6000_cpu_cpp_builtins'
This looks like the problem reported by Matthias Klose on powerpc-linux. The following patch should fix the problem.
--- ../tst25/gpc-20040516/p/Make-lang.in 2004-05-18 20:01:22.000000000 +0200 +++ gpc-20040516/p/Make-lang.in 2004-05-20 20:19:42.000000000 +0200 @@ -587,7 +587,7 @@ p/typecheck.o p/types.o p/convert.o p/dbxout.o p/dwarf2out.o \ p/expr.o p/fold-const.o p/function.o p/integrate.o p/optabs.o \ p/stor-layout.o p/toplev.o p/tree.o p/stmt.o p/emit-rtl.o \ - p/version.o + p/version.o $(C_TARGET_OBJS)
# Exclude patched files from language-independent object file list. # Not necessary for gcc-3 since for a library (libbackend.a), the linker does this automatically. --- ../tst25/gpc-20040516/p/lang.c 2004-05-19 01:12:12.000000000 +0200 +++ gpc-20040516/p/lang.c 2004-05-20 20:40:07.000000000 +0200 @@ -402,6 +402,29 @@ fprintf (stderr, "-D%s -D__%s -D__%s__ ", s, s, s); }
+int +c_lex (t) + tree * t; +{ + return 0; +} + +void +cpp_define (r, s) + void * r; + const char * s; +{ + builtin_define_std (s); +} + +void +cpp_assert (pfile, str) + void *pfile; + const char *str; +{ +} + + #define preprocessing_asm_p() 0 #define preprocessing_trad_p() 0 #define c_language (-1) @@ -554,9 +577,12 @@ /* @@ Backend bug: TARGET_OS_CPP_BUILTINS on some targets uses it though it's a C specific flag. */ #define flag_iso 1 - - TARGET_CPU_CPP_BUILTINS (); - TARGET_OS_CPP_BUILTINS (); + { + extern void rs6000_cpu_cpp_builtins PARAMS ((void *)); + void * pfile = 0; + TARGET_CPU_CPP_BUILTINS (); + TARGET_OS_CPP_BUILTINS (); + } #endif /* The following is no joke! The difference between what the preprocessor and the compiler think of BYTES_BIG_ENDIAN is