------- Comment #24 from mikulas at artax dot karlin dot mff dot cuni dot cz
2009-08-11 21:01 -------
Another case when stack frame is spuriously generated:
/* -O2 -fomit-frame-pointer -mno-accumulate-outgoing-args */
void __attribute__((__noreturn__)) crash(__const__ char *, ...);
void F(int *q)
{
while (1) {
if (*q < 0)
crash("buuu");
if (!*q)
break;
q++;
}
}
--- stack frame is generated for no apparent reason. The switch that actually
does it is -ftree-ch (with -fno-tree-ch, the stack frame is not generated).
This is not misgenerated code byt it may indicate that something bad is going
on in the compiler. The conditions are very peculiar ...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40667