WLPG generates wrong vardec type
|
|
Bugzilla Link |
698 |
Created on |
Apr 18, 2010 21:08 |
Resolution |
FIXED |
Resolved on |
Oct 13, 2011 18:36 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
If I compile the following code with these options, PINL generates bum
vardec for axis:
PINLavis: PINL: renaming _wlpg_27_axis to _pinl_47__wlpg_27_axis
PINLavis: PINL: renaming _pinl_47__wlpg_27_axis to _pinl_68__wlpg_27_axis
int[.], int[.], int[.], int[.] sacprelude::partitionSlicer( int[.] min { } , int[.] max { } , int axis { } , int[.] lb { } , int[.] ub { } )
external int[.], int[.], int[.], int[.] sacprelude::partitionSlicer( int[*] min { } , int[*] max { } , int[*] axis { } , int[*] lb { } , int[*] ub { } )
int[1] _pinl_68__wlpg_27_axis { } ;
_pinl_68__wlpg_27_axis = 0;
Note that the latter variable is an int, but is declared int[1].
sac2c inlbug.sac -v1 -nocyc -b11:inl -nocf -noprelude -#d,PINL &>crud
inlbug.sac is:
use Array : {iota,-};
inline int[.] lltopXII(int n )
{
z=iota( n);
return(z);
}
int main()
{
A_60=lltopXII( 40000);
StdIO::print(_sel_VxA_( [23], A_60));
return(0);
}
This version of sac2c on obelix:
sac2c v1.00-beta (Haggis And Apple)
developer rev 16794:MODIFIED linux-gnu_i686
I stumbled onto this one while fault-isolating a few others.