Adriaan van Os wrote:
Waldek Hebisch wrote:
? procedural parameter and local procedure problems (? trampolines ?)
the following test failures look the same:
- backtraceerr.pas
- fjf35.pas
- fjf464c.pas
- fjf464e.pas
- fproc.pas, same
- knuth1.pas, same
- nicola4d.pas, same
- nlgpp.pas
- nlgpp2.pas
- t6334-2.pas
- t6p6p3p4.pas
<snip>
Anything I can do to investigate this further and report it to gcc bugzilla ?
Basic precedure I use is: first debug the test program. There is added difficulty that one has to down to assembly level. Once the exact problem with generated code is known one looks why the compiler generated this code.
The long list starting with backtraceerr.pas looks like tests for nonlocal jumps (and related). We had problems with them on various platforms in the past. To demonstrate that the problems indeed are backend problems we have translated few of the tests to C. The tests should be now in GCC testsuite, but probably buried between thousends of other tests. I would suggest finding tests attached to past bug reports about nonlocal jumps and check if they work with the C compiler. If you have problem finding the tests I can search for them. If the tests work with the C compiler then we need to do extra work. If not we should report that to backend developers.
I believe trampolines are failing rather non-local goto's. The nonlocxxgoto.pas tests pass with --no-pic, but a simplified version of fjf35.pas fails.
<snip> This would also mean that <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22119> is wrong (or right for the wrong reasons). I will try the gcc testsuite, but I bet trampolines fail there also. I couldn't find anything related to darwin/x86 and trampolines on the gcc mailing list, so I think they didn't even bother.
Test results for gcc are attached - the tests fail with gcc-3.4.4 and partly fail with gcc-4.0.2 and gcc-4.1.0-20051112. I reported this as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24959.
Regards,
Adriaan van Os