[PATCH] Fix tree-stdarg after "Mark objects death@end of scope" changes

2011-11-11 Thread Jakub Jelinek
Hi! This fixes stdarg-2.c failures on i?86-linux, bootstrapped/regtested on i686-linux, will commit as obvious tonight. 2011-11-11 Jakub Jelinek PR tree-optimization/51091 * tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P rhs also in the va_list_simple_p

Re: Mark objects death@end of scope

2011-11-11 Thread Michael Matz
Hi, On Fri, 11 Nov 2011, Ulrich Weigand wrote: > I haven't fully debugged it yet, but it seems to be related to the > linked list of unwind contexts that are maintained by the SjLj logic. > During unwinding, those are pulled off the list one by one; it seems the > routines that do that don't

Re: Mark objects death@end of scope

2011-11-11 Thread Ulrich Weigand
Michael Matz wrote: > On Fri, 11 Nov 2011, Ulrich Weigand wrote: > > > One reason why this happens is that the unwind*.c files are specifically > > built with -fexception. I think this is for the benefit of the DWARF > > unwinder, to ensure CFI records are available for those routines. > > Exc

Re: Mark objects death@end of scope

2011-11-11 Thread Michael Matz
Hi, On Fri, 11 Nov 2011, Ulrich Weigand wrote: > One reason why this happens is that the unwind*.c files are specifically > built with -fexception. I think this is for the benefit of the DWARF > unwinder, to ensure CFI records are available for those routines. Except for the routines that sta

Re: Mark objects death@end of scope

2011-11-11 Thread Ulrich Weigand
Michael Matz wrote: > * gimplify.c (gimplify_bind_expr): Add clobbers for all variables > that go out of scope and live in memory. This seems to have completely broken SPU exception handling (note that SPU is currently completely broken anyway due to the libgcc move). What happens is