bug652.breaks.sac dies in back end, due to unflattened AST node
|
|
Bugzilla Link |
1002 |
Created on |
Jul 10, 2012 20:55 |
Resolution |
FIXED |
Resolved on |
Aug 27, 2012 18:49 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
sac2c bug652.breaks.sac -v4
...
** 20: Generating Code ...
**** Tag preparation ...
**** Converting to old type representation ...
**** Creating intermediate code macros ...
TRAVERSE ERROR: node of type 46:N_bool found where 31:N_id was expected!
sac@rattler:~/sac/testsuite/optimizations/awlf$ sac2c -V
sac2c v1.00-beta (Haggis And Apple)
developer rev 18058:MODIFIED linux-gnu_x86_64
(Tue Jul 10 10:45:30 EDT 2012 by sac)
We crash around or below codegen/compile.c:2663
A few levels up from the crash, we have this:
call PRTdoPrintNode(arg_node)
-----------------------------------------------
_unshare_( false, SACp_pinl_3510_iv)
--------------------------------------------
The clean approach, I suspect, would be to flatten "false".
FLATGflattenExpression can do this for you.