Loopfun recursive call parameter/argument count mismatch due to LACSI fault
|
|
Bugzilla Link |
1027 |
Created on |
Oct 02, 2012 19:56 |
Resolution |
FIXED |
Resolved on |
Oct 04, 2012 18:26 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Attachments |
1027.sac |
Extended Description
This is a failing LACSI unit test.
~/sac/testsuite/optimizations/lacs$ cat DropCatenate.sac/*
* This tests the performance of a loop that builds
* a new array through catenate and drop.
*
*/
use Array:{*,drop,genarray,sum,+,++,<};
/* RESULT: with 16 14 */
/* FILTER: no-no */
int[*] id( int[*] y)
{
return(y);
}
int main()
{
count = 50000000;
ZZ = [ 42, 666];
i = 0;
do {
ZZ = drop( [1], ZZ ++ [i]);
i ++;
} while (i < count);
z = sum( ZZ);
StdIO::print (z);
z = _sub_SxS_( z , 242250);
return( z);
}
sac@rattler:~/sac/testsuite/optimizations/lacs$ sac2c DropCatenate.sac -v1 -dolacsi
OOOOOOOPS, your program crashed the compiler 8-((
Compiling with -d treecheck -chkfreq 4 gives us:
WARNING: Loopfun recursive call parameter/argument count mismatch
WARNING: Function parameter/argument count mismatch
sac2c -V
sac2c v1.00-beta (Haggis And Apple)
developer rev 18237:18238:MODIFIED linux-gnu_x86_64
(Tue Oct 2 11:30:51 EDT 2012 by sac)