------- Comment #3 from astrange at ithinksw dot com 2009-03-02 02:39 ------- > This is correct, vla and alloca always uses a frame pointer because there is > no way to get back to the original offsets so the compiler needs a frame > pointer.
It's not restoring from the frame pointer here, it's restoring from ecx. 'addl $8, %esp' would work just as well in the function epilogue, like it would if this function had no VLA. Disabling inlining does fix that problem, though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39337