Death in EMRCOprf due to N_id vs. N_num
|
|
Bugzilla Link |
1112 |
Created on |
Jan 24, 2014 20:29 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
bug1107.sac |
Extended Description
Created an attachment (id=1000)
source code to reproduce fault
I do not know how long this has been broken...
sac2c bug1107.sac
**** Reducing reference counting instructions ...
**** Optimizing reference counting instructions ...
TRAVERSE ERROR: node of type 31:N_id found where 32:N_num was expected!
Things go wrong in EMRCOprf, in the F_inc_rc block, here:
NUM_VAL( PRF_ARG1( alloc)) += NUM_VAL( PRF_ARG2( arg_node));
I think that PRF_ARG1( alloc) should be PRF_ARG3( alloc).
arg_node is the F_inc_rc; alloc is an F_suballoc.
I would like someone to confirm this before I check in my one-character
fix for this. I would like someone to tell me why this thing
doesn't break more often...