Dear ListFolks,
I am attempting to make an i486-pc-mingwmsvc (i.e., Windows NT standalone) version of the latest gpc alpha (gpc-19991030) using the Cygwin B20.1 emulation, and I get a compilation error when the build process attempts to make the run-time library. Specifically, I get:
/usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c: At top level: /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:577: warning: `struct passwd' declared inside parameter list /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:577: warning: its scope is only this definition or declaration, which is probably not what you want.
/usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c: In function `_p_pwl2c': /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:579: dereferencing pointer to incomplete type /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:592: dereferencing pointer to incomplete type /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:593: dereferencing pointer to incomplete type /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:594: dereferencing pointer to incomplete type /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c:595: dereferencing pointer to incomplete type
I don't know enough C to be sure, but this looks like a syntax error. Surely, though, it must compile on other systems, so I'm stumped. Perhaps it has something to do with the Cygwin-specific version of gcc?
As far as I can tell, everything was unloaded, patched, and configured correctly. The compiler itself appears to have been made correctly, i.e., I have xgpc.exe, gpc1.exe, and gpc-cpp.exe in the object directory. The invocation on the RTL appears to be:
../../i486-pc-mingwmsvc-gcc -c -I. -W -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -g -O2 -DRTS_RELEASE_STRING="'__GPC_RTS_VERSION_`cat /usr/local/src/gcc-2.95.2/gcc/p/rts/rts_release`__'" -DBSD_RTS=0 `if [ x@with_shared@ = xyes ] ; then echo -fPIC; fi` -v /usr/local/src/gcc-2.95.2/gcc/p/rts/rts.c
I've tried compiling rts.c with gcc-2.8.1 as a test, and I get the same error. Could someone point me in the right direction? Thanks!
-- Dave