One of my programs, which I have used with many compilers in the past, started an odd behavior as soon as I compiled with GPC. I rooted down to what the cause was and found this:
EOF is not true on a reset empty file.
Here is the program:
<snip>
echo -------------------- compile gpcc gpcbug2005jan27.p echo --------------------
<snip>
You missed an important information. If I type (with `eof.pas' beeing your file): ../gpc-3.4.3/gcc/xgpc -B../gpc-3.4.3/gcc/ -O -ftransparent-file-names -fstandard-pascal eof.pas ./a.out
I get: NOT eof of namebook NOT eof of namelist
However, if I type: ../gpc-3.4.3/gcc/xgpc -B../gpc-3.4.3/gcc/ -O --transparent-file-names eof.pas ./a.out
I get: eof of namebook eof of namelist
Both with my (modified) copy of gpc-20041218 on Linux. Yes, standard requires that you get EOF on empty file.