I wrote:
With your gpc binaries, based on gcc-3.3.1-3, it works correctly. With your gpc sources, my sources, and the pristine sources, built, on a freshly installed Cygwin, and based on gcc-3.2.3, it gives the result shown above. This is the first time that this error has shown up. I have traced down to the _p_Stat() function in rts.c, and I have ascertained that the error happens here, with respect to FileExists: The call: " if (Special) *Special = S_ISCHR (st.st_mode) || S_ISBLK (st.st_mode) || S_ISFIFO (st.st_mode) || S_ISSOCK (st.st_mode);"
returns 1. I don't know what "Special" means and why it is returning true here. But I doubt that that attribute has any significant meaning under Windows.
The DirectoryExists call fails here: " if (Dir) *Dir = S_ISDIR (st.st_mode);" This returns 0 if you pass any directory other than "/".
Is this a gcc-3.2.3 problem? I don't know - and I would doubt it. On the other hand, it obviously doesn't exist with your gcc-3.3.1-3 based binary.
I have just built gpc-20030830 on gcc-3.3.1-3 sources, and this problem does not exist with the new gpc binaries. So it seems that the problem is related to gcc-3.2.3. This is all mysterious to me ...
Best regards, The Chief -------- Prof. Abimbola A. Olowofoyeku (The African Chief) web: http://www.bigfoot.com/~african_chief/