Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2005-01

Optimization error causes pyacc and plex to fail

6 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Unknown author

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.

Reply by email

Lee, John

Know that there have been problems with some optimisations (Jonas has fixed some), so maybe this is reason. Regards John

Earlier message 18 lines
-----Original Message----- From: To: Sent: 01/01/2005 06:49 p.m. Subject: [fpc-devel] Optimization error causes pyacc and plex to fail 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. <<opttest.txt>> <<ATT11044709.txt>> This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.

Reply by email

Jonas Maebe
to Unknown author: 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
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.

Thanks,

Jonas

Reply by email

Florian Klaempfl
to Jonas Maebe
Jonas Maebe wrote 18 lines
On 1 jan 2005, at 19:49, 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.

h2pas?

Reply by email

Marco van de Voort
to Jonas Maebe: Could you try again with the 1.9.6 release? Several optimizer bugs have been fixed this…
Show quoted text 14 lines
On 1 jan 2005, at 19:49, 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$

Reply by email

Unknown author
Show quoted text 6 lines
I downloaded the new binary release Michael posted this morning. The versions in that exhibit the same behavior I re-ran all my tests with the same results. plex quits way too early and pyacc dies an ugly death if compiled with -OG2 and work fine when compiled with either -Og2 or -OG1.

It's fixed now, thanks!
Jonas

Just tested with the latest CVS and both are now working great. Thanks for all your help.

Dave

Reply by email