aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2014-06-09 16:41:10 +0000
committerJeff Law <law@gcc.gnu.org>2014-06-09 10:41:10 -0600
commit748e88da7ede35273266e9f35488a9a4dd299f84 (patch)
tree39a17786464eca67269e1c8d16a689aead2d5f28 /gcc
parent00f30445f42d7a01e60455deaa9c7db23508099d (diff)
downloadgcc-748e88da7ede35273266e9f35488a9a4dd299f84.zip
gcc-748e88da7ede35273266e9f35488a9a4dd299f84.tar.gz
gcc-748e88da7ede35273266e9f35488a9a4dd299f84.tar.bz2
re PR middle-end/61141 (c-common.c:1502:1: ICE: in reset_insn_used_flags, at emit-rtl.c:2677)
2014-05-18 John David Anglin <danglin@gcc.gnu.org> PR middle-end/61141 * emit-rtl.c (reset_all_used_flags): In a sequence, check that XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags. (verify_rtl_sharing): Likewise. From-SVN: r211380
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/emit-rtl.c12
2 files changed, 17 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd8cd87..e12f2f9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2014-05-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR middle-end/61141
+ * emit-rtl.c (reset_all_used_flags): In a sequence, check that
+ XVECEXP (pat, 0, i) is an INSN before calling reset_insn_used_flags.
+ (verify_rtl_sharing): Likewise.
+
2014-06-09 Marc Glisse <marc.glisse@inria.fr>
PR c++/54442
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index ceb072a..80e5b2c 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2719,7 +2719,11 @@ reset_all_used_flags (void)
{
gcc_assert (REG_NOTES (p) == NULL);
for (int i = 0; i < XVECLEN (pat, 0); i++)
- reset_insn_used_flags (XVECEXP (pat, 0, i));
+ {
+ rtx insn = XVECEXP (pat, 0, i);
+ if (INSN_P (insn))
+ reset_insn_used_flags (insn);
+ }
}
}
}
@@ -2756,7 +2760,11 @@ verify_rtl_sharing (void)
verify_insn_sharing (p);
else
for (int i = 0; i < XVECLEN (pat, 0); i++)
- verify_insn_sharing (XVECEXP (pat, 0, i));
+ {
+ rtx insn = XVECEXP (pat, 0, i);
+ if (INSN_P (insn))
+ verify_insn_sharing (insn);
+ }
}
reset_all_used_flags ();