------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-20
15:50 -------
And here is a reduced (and self contained) testcase for that case:
int func_pure (void) __attribute__ ((pure));
void func_other (int);
int global_int;
void abort ();
void func_other(int a)
{
if (a != global_int)
abort ();
global_int++;
}
int func_pure(void)
{
return global_int;
}
int
func_loop (int arg)
{
// global_int ++;
while (arg--)
func_other (func_pure ());
}
int main(void)
{
func_loop(10);
return 0;
}
Uncommenting global_int++; will cause the testcase to work as we have vops now.
I think this is just like the testcase which was attached in comment #1 because
if I add a variable and
have it set a global variable, it works too.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20100