aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-08-15 14:11:38 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-08-15 14:11:38 +0200
commit49317655fe694ad6e5d21de25b68753b3d0c8b87 (patch)
tree0a07bf11feda750d266bbefa06abea34c6d07348
parent59fe92745a5360e7771f9ca0b86301ff6ddb2ac1 (diff)
downloadgcc-49317655fe694ad6e5d21de25b68753b3d0c8b87.zip
gcc-49317655fe694ad6e5d21de25b68753b3d0c8b87.tar.gz
gcc-49317655fe694ad6e5d21de25b68753b3d0c8b87.tar.bz2
re PR middle-end/33074 (ICE in copy_insn_1, at emit-rtl.c:4925)
PR middle-end/33074 * emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for REG_LIBCALL note. * gfortran.dg/pr33074.f90: New test. From-SVN: r127511
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/emit-rtl.c2
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gfortran.dg/pr33074.f908
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 246cd5c..dd6567a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/33074
+ * emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
+ REG_LIBCALL note.
+
2007-08-14 Daniel Berlin <dberlin@dberlin.org>
* tree-pass.h (PROP_pta): Removed.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 745a10a..6e7230d 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3274,7 +3274,7 @@ try_split (rtx pat, rtx trial, int last)
/* Relink the insns with REG_LIBCALL note and with REG_RETVAL note
after split. */
REG_NOTES (insn_last)
- = gen_rtx_EXPR_LIST (REG_LIBCALL,
+ = gen_rtx_INSN_LIST (REG_LIBCALL,
XEXP (note, 0),
REG_NOTES (insn_last));
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 45fc15c..86abadd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2007-08-15 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/33074
+ * gfortran.dg/pr33074.f90: New test.
+
PR c++/32992
* g++.dg/opt/nrv14.C: New test.
diff --git a/gcc/testsuite/gfortran.dg/pr33074.f90 b/gcc/testsuite/gfortran.dg/pr33074.f90
new file mode 100644
index 0000000..3538d65
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr33074.f90
@@ -0,0 +1,8 @@
+! PR middle-end/33074
+! { dg-do compile }
+! { dg-options "-O" }
+
+subroutine pr33074(a, w)
+ real a(1), w(1)
+ a(1) = 2.0**int(w(1))
+end