Hello,
Building the new gpc-19991030-snapshot with gcc-2.95.2 on HPUX-10.20 regrettably failed.
The build was done in a different objdir then srddir, as adviced by gcc. The configuration as described by config.status :
#!/bin/sh # This file was generated automatically by configure. Do not edit. # This directory was configured as follows: ../gcc-2.95.2/configure --with-gcc-version-trigger=/wing3/home1/users/sietse/gcc-2.95.2/gcc/version.c --host=hppa1.1-hp-hpux10.20 --prefix=/opt/gcc-2.95.2 --enable-shared --with-gnu-as --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --norecursion # using "mh-frag" and "mt-frag"
FIRST a small problem
1 Using the option --with-as=/usr/local/bin/gas with configure is NOT obeyed by xgcp. xgpc also does not use $PATH of the caller of the make which would be a symbolic link to gas.
And here the MAIN problem, which (I guess) is another example of the known HPUX bug as triggered with "p/test/knownbugs/sietse1u.pas".
2 The "gmake bootstrap" ends in:
../.././xgpc -B../.././ -c -I. -W -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -O2 -g -O2 -DRTS_RELEASE_STRING="'__GPC_RTS_VERSION_`cat /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/rts_release`__'" -DBSD_RTS=0 `if [ x@with_shared@ = xyes ] ; then echo -fPIC; fi` --unit-path=/wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts --automake /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/files.pas /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/string2.pas: In function `Getenv': /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/string2.pas:193: internal error--unrecognizable insn: (insn 15 14 17 (set (zero_extract:SI (reg:SI 97) (const_int 32 [0x20]) (const_int 0 [0x0])) (reg:SI 98)) -1 (insn_list 12 (insn_list 14 (nil))) (expr_list:REG_DEAD (reg:SI 98) (nil))) gpc1: ../.././xgpc exited with status 1 /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/files.pas:30: module/unit `string2' could not be compiled make[3]: *** [files.o] Error 1 make[3]: Leaving directory `/wing3/home1/users/sietse/hpux-gcc/gcc/p/rts' make[2]: *** [pascal.rts] Error 2 make[2]: Leaving directory `/wing3/home1/users/sietse/hpux-gcc/gcc' make[1]: *** [bootstrap] Error 2 make[1]: Leaving directory `/wing3/home1/users/sietse/hpux-gcc/gcc' make: *** [bootstrap] Error 2
It looks like the knownbug from "p/test/knownbugs/sietse1u.pas". Locally defining the TString-type in string2.pas as was done earlier in filename.pas helps. BUT NOW:
/wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/filename.pas: In function `Gettempdirectory': /wing3/home1/users/sietse/gcc-2.95.2/gcc/p/rts/filename.pas:513: internal error--unrecognizable insn: (insn 54 53 56 (set (zero_extract:SI (reg:SI 111) (const_int 32 [0x20]) (const_int 0 [0x0])) (reg:SI 112)) -1 (insn_list 51 (insn_list 53 (nil))) (nil))
This can be "removed" by removing the complete if-statement from Gettempdirectory. Simplifying the boolean expressing also helps. BUT NOW such an error shows up in the function BraceExpand.
So something's wrong on HPUX, and it is more than suggested from the earlier bug exposed in knownbugs/sietse1u.pas
I'm not familiar with the internals of gcc/gpc and I don't now how to proceed next. But hopefully this description makes some sense.
Sietse Achterop
P.S. The GNU-pascal side still suggests that mail for the mailing list is to be send to gpc@fut.fi instead of gpc@gnu.de.