Maurice Lombardi wrote:
[...]
OK but the error comes afterwards:
internal file name: (null) internal file name: (null) internal file name: (null) internal file name: c:\djgpp\tmp\GPaaa14287 c:/lombardi/djgpp/gpc/bug2.exe: permission denied to erase internal file `F' (er ror #472 at 1597)
This file is indeed created, and it has zero length
If this still works, you might want to make sure it really isn't a LFN problem. You could change rts/filename.pas, function GetTempFileName, so it return a name not longer than 8+3 (e.g., just return a constant name for testing), and rebuild the RTS. If the problem still exists then, it's no LFN problem...
Same result
internal file name: (null) internal file name: (null) internal file name: (null) internal file name: c:\djgpp\tmp\aaa12508 c:/lombardi/djgpp/gpc/bug2.exe: permission denied to erase internal file `F' (er ror #472 at 1597)
I think I found the bug now. The problem was that I can't reproduce it well -- Dos doesn't seem to like unlinking an opened file, but running under DosEmu (like I do when testing GPC), it works because it calls the Linux file routines and they just do it. After simulating a failure, I could see the problem and hopefully fix it. The patch will be uploaded to CVS soon.
Thanks for helping to find it.
Frank
Frank Heckenbach a écrit :
Maurice Lombardi wrote:
[...]
OK but the error comes afterwards:
internal file name: (null) internal file name: (null) internal file name: (null) internal file name: c:\djgpp\tmp\GPaaa14287 c:/lombardi/djgpp/gpc/bug2.exe: permission denied to erase internal file `F' (er ror #472 at 1597)
This file is indeed created, and it has zero length
If this still works, you might want to make sure it really isn't a LFN problem. You could change rts/filename.pas, function GetTempFileName, so it return a name not longer than 8+3 (e.g., just return a constant name for testing), and rebuild the RTS. If the problem still exists then, it's no LFN problem...
Same result
internal file name: (null) internal file name: (null) internal file name: (null) internal file name: c:\djgpp\tmp\aaa12508 c:/lombardi/djgpp/gpc/bug2.exe: permission denied to erase internal file `F' (er ror #472 at 1597)
I think I found the bug now. The problem was that I can't reproduce it well -- Dos doesn't seem to like unlinking an opened file, but running under DosEmu (like I do when testing GPC), it works because it calls the Linux file routines and they just do it. After simulating a failure, I could see the problem and hopefully fix it. The patch will be uploaded to CVS soon.
Hooray. It works !
Thanks very much
Maurice Lombardi a écrit :
Hooray. It works !
I have run the demos and the test suite. Only 4 errors
constovfl and fjf83 which are designed to fail
fjf119 and fjf120: may be a relation with the previous bug ? failure related to reset(input)
Anyway the compiler seems quite good now. Time to make a release ? I have uploaded to agnes djgpp binaries for the today snapshot ftp://agnes.dida.physik.uni-essen.de/home/maurice/gpc-20000718.i586-pc-msdosdjgpp.zip
Thanks a lot
Maurice
Maurice Lombardi wrote:
constovfl and fjf83 which are designed to fail
Indeed. These did break when changing from gcc-2.8.x to gcc-2.95.x. Until this problem is fixed, I will move the test files to the `knownbugs' subdirectory.
Peter