diff options
author | Marek Polacek <polacek@redhat.com> | 2015-09-09 17:09:32 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2015-09-09 17:09:32 +0000 |
commit | c27348aaa59599eefacd930aba1a56978ca95281 (patch) | |
tree | dc75de5dbb8e23bf8634a5333e69c16632f5cf7b /gcc/tree-ssa-uninit.c | |
parent | 273aa49e2fe00de54cb1dbe67f1a6155fb47439b (diff) | |
download | gcc-c27348aaa59599eefacd930aba1a56978ca95281.zip gcc-c27348aaa59599eefacd930aba1a56978ca95281.tar.gz gcc-c27348aaa59599eefacd930aba1a56978ca95281.tar.bz2 |
re PR middle-end/67512 (internal compiler error: in invert_tree_comparison, at fold-const.c:2456)
PR middle-end/67512
* tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
for comparisons.
* gcc.dg/pr67512.c: New test.
From-SVN: r227594
Diffstat (limited to 'gcc/tree-ssa-uninit.c')
-rw-r--r-- | gcc/tree-ssa-uninit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c index ec6d6f5..fa59642 100644 --- a/gcc/tree-ssa-uninit.c +++ b/gcc/tree-ssa-uninit.c @@ -1296,7 +1296,8 @@ pred_equal_p (pred_info x1, pred_info x2) return false; c1 = x1.cond_code; - if (x1.invert != x2.invert) + if (x1.invert != x2.invert + && TREE_CODE_CLASS (x2.cond_code) == tcc_comparison) c2 = invert_tree_comparison (x2.cond_code, false); else c2 = x2.cond_code; |