Can't seem to get bug submission to work so I'm sending this here. The 1.9.x distributed binaries of plex and pyacc both fail, as well as any created from a 1.9.5 source snapshot. plex ends normally but only creates 2 states. pyacc fails with a RTE 216 on a move in procedure setunion of yaccbase. The makefile compiles these programs with the -OG2p3 option. Changing this to either -Og2p3 or -OG1p3 and they both work correctly. I am using unmodified versions of both programs so am only attaching the output of each scenario. Feel free to contact me if you need anything else.
Mailing lists / fpc-devel / 2005-01
Optimization error causes pyacc and plex to fail
6 messages · 5 people · –
- UUnknown author 2
- FFlorian Klaempfl 1
- JJonas Maebe 1
- LLee, John 1
- MMarco van de Voort 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Know that there have been problems with some optimisations (Jonas has fixed some), so maybe this is reason. Regards John
Earlier message 18 lines
Can't seem to get bug submission to work so I'm sending this here. The 1.9.x distributed…
Show quoted text 10 lines
Could you try again with the 1.9.6 release? Several optimizer bugs have been fixed this week. I can't test since I don't have any yacc/lex grammar available.
Thanks,
Jonas
Jonas Maebe wrote 18 lines
h2pas?
Could you try again with the 1.9.6 release? Several optimizer bugs have been fixed this…
Show quoted text 14 lines
(today's 1.9.7)
-bash-2.05b$ touch h2pas.y
There is mail for you!
-bash-2.05b$ gmake
/home/marcov/bin/pyacc h2pas.y
TP Yacc Version 4.1a [April 2000], Copyright (c) 1990-2000 Albert Graef parse ... sort ... closures ... Runtime error 216 at $08051474 $08051474 MOVE, line 76 of /home2/marcov/cvs/devel/fpc/rtl/i386/i386.inc $0804F0A1 SETUNION, line 349 of yaccbase.pas
$08049167 CLOSURES, line 94 of yaccclos.pas
$0804E55A GENERATE_PARSER, line 580 of yaccsem.pas $08062EA4 YYACTION, line 250 of pyacc.pas
$08062A9A YYPARSE, line 2079 of pyacc.pas
$0806494A main, line 2479 of pyacc.pas
gmake: *** [h2pas.pas] Error 216
-bash-2.05b$ touch scan.l
-bash-2.05b$ gmake
/home/marcov/bin/plex scan.l
TP Lex Version 4.1a [April 2000], Copyright (c) 1990-2000 Albert Graef parse ... DFA construction ... code generation ... DONE 839 lines, 88 rules, 555/1200 p, 2/600 s, 0/1200 t. /home/marcov/bin/ppc386 -Sg -Fu../../rtl/units/i386-freebsd -FE. -FUunits/i386-freebsd -di386 h2pas.pas Free Pascal Compiler version 1.9.7 [2005/01/02] for i386 Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: FreeBSD/ELF for i386
Compiling h2pas.pas
Compiling scan.pas
scan.pas(232,6) Note: Local variable "i" not used
scan.pas(943,25) Error: High range limit < low range limit scan.pas(943,25) Error: Upper bound of range is less than lower bound scan.pas(946,2) Error: Illegal expression
scan.pas(946,2) Error: Illegal expression
scan.pas(946,2) Fatal: Syntax error, ")" expected but ";" found gmake: *** [h2pas] Error 1
-bash-2.05b$
Show quoted text 6 lines
It's fixed now, thanks!
Jonas
Just tested with the latest CVS and both are now working great. Thanks for all your help.
Dave
