ESD goes wild: about 4000 (!) variables holding the same value!
|
|
Bugzilla Link |
516 |
Created on |
Jun 24, 2009 09:28 |
Resolution |
FIXED |
Resolved on |
Jun 26, 2009 14:24 |
Version |
1.00beta |
OS |
Linux |
Architecture |
PC |
Attachments |
bob.sac |
Extended Description
Created an attachment (id=545)
source code
revision 16146. Run sac2c -b11:cyc. Look at function
ArrayTransform::_dup_1167_rotate__Cond_48
It starts in line 7879.
Then we have declarations
{
int _esd_12471 { } ;
int _esd_12470 { } ;
int _esd_12469 { } ;
int _esd_12468 { } ;
int _esd_12467 { } ;
int _esd_12466 { } ;
int _esd_12465 { } ;
int _esd_12464 { } ;
....
until line 11460(!)
followed by "normal declarations.
A bit later (line 11641) we find
_esd_12471 = _sub_SxS_( 0, _cf_2755_iv);
_esd_7735 = _sub_SxS_( 0, _cf_2755_iv);
_esd_12470 = _sub_SxS_( 0, _cf_2755_iv);
_esd_5367 = _sub_SxS_( 0, _cf_2755_iv);
_esd_12469 = _sub_SxS_( 0, _cf_2755_iv);
_esd_7734 = _sub_SxS_( 0, _cf_2755_iv);
_esd_12468 = _sub_SxS_( 0, _cf_2755_iv);
_esd_4183 = _sub_SxS_( 0, _cf_2755_iv);
....
until line 14781(!!!!)
we see further situations of similar code explosions further down.
I believe to remember that there was a known issue with esd and I assume it
might only be a matter of running the right sequence (eg CSE should do)
BUT I think that such an explosion needs to be controlled!!!