[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org 2012-11-27 
09:20:07 UTC ---

Author: rguenth

Date: Tue Nov 27 09:20:02 2012

New Revision: 193839



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193839

Log:

2012-11-27  Richard Biener  rguent...@suse.de



PR middle-end/55331

* gimple-fold.c (gimplify_and_update_call_from_tree): Replace

stmt with a NOP instead of removing it.



* g++.dg/opt/pr55331.C: New testcase.



Added:

trunk/gcc/testsuite/g++.dg/opt/pr55331.C

Modified:

trunk/gcc/ChangeLog

trunk/gcc/gimple-fold.c

trunk/gcc/testsuite/ChangeLog


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-27 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org 2012-11-27 
09:23:19 UTC ---

Author: rguenth

Date: Tue Nov 27 09:23:15 2012

New Revision: 193840



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193840

Log:

2012-11-27  Richard Biener  rguent...@suse.de



PR middle-end/55331

* gimple-fold.c (gimplify_and_update_call_from_tree): Replace

stmt with a NOP instead of removing it.



* g++.dg/opt/pr55331.C: New testcase.



Added:

branches/gcc-4_7-branch/gcc/testsuite/g++.dg/opt/pr55331.C

Modified:

branches/gcc-4_7-branch/gcc/ChangeLog

branches/gcc-4_7-branch/gcc/gimple-fold.c

branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
11:52:43 UTC ---

Hand-reduced testcase for -O2 -fno-tree-fre



struct A {};



void

foo (A *p, bool x)

{

  A a;

  char *e = (char *) (a + 1);

  if (x)

__builtin_memmove (p, a, e - (char *) a);

}


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org

   |gnu.org |



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-15 
12:00:21 UTC ---

Created attachment 28697

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28697

gcc48-pr55331.patch



Untested fix.


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-15 Thread jakub at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.6.4


[Bug middle-end/55331] [4.6/4.7/4.8 Regression] ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre

2012-11-14 Thread dominiq at lps dot ens.fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55331



Dominique d'Humieres dominiq at lps dot ens.fr changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-11-14

 Ever Confirmed|0   |1



--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-11-14 
22:16:00 UTC ---

Confirmed:

4.6.0 2011-01-20 revision 169049 is OK

4.7.0 2011-04-14 revision 172429 gives an ICE.