aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-02-12 11:18:05 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-02-12 11:18:05 +0000
commita011aa391b886f560cf113abdae8c5e7298fda8a (patch)
tree478cbf82d49906c7b86783b2280ab621602aa60b /gcc
parent6da26889318467b3df29c215f15d0c8369c969e3 (diff)
downloadgcc-a011aa391b886f560cf113abdae8c5e7298fda8a.zip
gcc-a011aa391b886f560cf113abdae8c5e7298fda8a.tar.gz
gcc-a011aa391b886f560cf113abdae8c5e7298fda8a.tar.bz2
re PR middle-end/56288 (always true conditional expression in verify_ssa_name)
2013-02-12 Richard Biener <rguenther@suse.de> PR middle-end/56288 * tree-ssa.c (verify_ssa_name): Fix check, move SSA_NAME_IN_FREE_LIST check up. From-SVN: r195973
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d959c9c..ec0d8c1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-02-12 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/56288
+ * tree-ssa.c (verify_ssa_name): Fix check, move
+ SSA_NAME_IN_FREE_LIST check up.
+
2013-02-12 Jakub Jelinek <jakub@redhat.com>
Steven Bosscher <steven@gcc.gnu.org>
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index f83a9ca..e08bcf8 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -626,16 +626,16 @@ verify_ssa_name (tree ssa_name, bool is_virtual)
return true;
}
- if (SSA_NAME_VAR (ssa_name) != NULL_TREE
- && TREE_TYPE (ssa_name) != TREE_TYPE (ssa_name))
+ if (SSA_NAME_IN_FREE_LIST (ssa_name))
{
- error ("type mismatch between an SSA_NAME and its symbol");
+ error ("found an SSA_NAME that had been released into the free pool");
return true;
}
- if (SSA_NAME_IN_FREE_LIST (ssa_name))
+ if (SSA_NAME_VAR (ssa_name) != NULL_TREE
+ && TREE_TYPE (ssa_name) != TREE_TYPE (SSA_NAME_VAR (ssa_name)))
{
- error ("found an SSA_NAME that had been released into the free pool");
+ error ("type mismatch between an SSA_NAME and its symbol");
return true;
}