This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ada bootstrap failure due to loop optimization and builtin_stack_alloc


Hello,

> I found out what's going on.  I tried reproducing it in C, but failed.
> It fails compiling the back_end.adb file in function Scan_Compiler_Arguments.
> 
> You can see the problem by looking at argv.103 between t46.loop and t48.lim.
> 
> Inside the loop, we have:
> 
>   __builtin_stack_alloc (&argv, iftmp.293_316);
> 
> 	[ ... deleted ... ]
> 
>   if (T.101_186) goto <L53>; else goto <L56>;
>  
> <L53>:;
>   argv.103_273 = (character[...] *)&argv;
> 
> The former actually *changes* what &argv returns.   But the loop analyzer
> doesn't know that and views the last statement above as a loop invariant and
> moves it out of the loop.  That's what's causing the SIGSEGV.

this sounds weird.  What are the virtual operands on
__builtin_stack_alloc and the assignment statements?

Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]