[fpc-devel] Optimization error causes pyacc and plex to fail
Marco van de Voort
marcov at stack.nl
Sun Jan 2 21:42:08 CET 2005
> On 1 jan 2005, at 19:49, DSTRODT at aol.com wrote:
> > 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.
>
> 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.
(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$
More information about the fpc-devel
mailing list