This is the mail archive of the gcc-patches@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: [Committed] Fix PR middle-end/31095 ICE in expand_expr_real_1, at expr.c:8786


Andrew Pinski/R&D/SCEA wrote on 05/22/2007 06:13:36 PM:

> Hi,
>   The problem here is that expand_builtin_memmove_args forgot that 
fold_builtin_memory_op could return a NOP_EXPR around the COUMPOUND_EXPR 
which causes an ICE in expand_expr_real_1 (which no longer handles 
COMPOUND_EXPR).  expand_builtin_memmove_args already handles 
COMPOUND_EXPRs correct, this patch just adds a STRIP_TYPE_NOPS which 
allows  expand_builtin_memmove_args to handle this case also.
> 
> Committed as obvious after a bootstrap/test on i686-linux-gnu with no 
regressions and a build/test on spu-elf with no regressions.
> 
> Thanks,
> Andrew Pinski
> 
> ChangeLog:
> 
>  * builtins.c (expand_builtin_memmove_args): Strip nops that don't 
change
>  the type before looking for a COMPOUND_EXPR.
> 
>  * gcc.c-torture/compile/bcopy-1.c: New testcase.

This time with a patch :).

Thanks,
Andrew Pinski

Attachment: fix31095.diff.txt
Description: Text document


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