On 09/02/2011 07:13 PM, H.J. Lu wrote: > On Fri, Sep 2, 2011 at 9:40 AM, Eric Botcazou <ebotca...@adacore.com> wrote: >>> so accessing the With_Flags array (which is not empty) yields a SEGV >>> because the base pointer is equal to Last_Unit (i.e. 2). In other words, >>> the GIMPLE code looks legitimate and the bug is very likely in the stack >>> slot allocation code (maybe triggered by the newly created zero-sized >>> arrays). >> >> And this is the real fix. Richard, do you want me to apply (part of it)? >> >> >> * cfgexpand.c (add_stack_var): Assert that the alignment is not zero. >> * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Force BITS_PER_UNIT >> alignment at least on the new variable. >> > > Will this also fix: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50251 > > Thanks. >
I don't think so. The alloca there has an argument of 24 and an aligment of 128 bits. Furthermore, the bug report lists a test-case that triggers without vla and alloca. Thanks, - Tom