[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