From a011aa391b886f560cf113abdae8c5e7298fda8a Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 12 Feb 2013 11:18:05 +0000 Subject: [PATCH] re PR middle-end/56288 (always true conditional expression in verify_ssa_name) 2013-02-12 Richard Biener PR middle-end/56288 * tree-ssa.c (verify_ssa_name): Fix check, move SSA_NAME_IN_FREE_LIST check up. From-SVN: r195973 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa.c | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d959c9c0364..ec0d8c1d8b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-02-12 Richard Biener + + 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 Steven Bosscher diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index f83a9ca80e2..e08bcf89970 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -626,19 +626,19 @@ 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)) - { - error ("type mismatch between an SSA_NAME and its symbol"); - return true; - } - if (SSA_NAME_IN_FREE_LIST (ssa_name)) { error ("found an SSA_NAME that had been released into the free pool"); return true; } + if (SSA_NAME_VAR (ssa_name) != NULL_TREE + && TREE_TYPE (ssa_name) != TREE_TYPE (SSA_NAME_VAR (ssa_name))) + { + error ("type mismatch between an SSA_NAME and its symbol"); + return true; + } + if (is_virtual && !virtual_operand_p (ssa_name)) { error ("found a virtual definition for a GIMPLE register");