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
This commit is contained in:
parent
273aa49e2f
commit
c27348aaa5
|
@ -1,3 +1,9 @@
|
|||
2015-09-09 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR middle-end/67512
|
||||
* tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
|
||||
for comparisons.
|
||||
|
||||
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/53184
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-09-09 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR middle-end/67512
|
||||
* gcc.dg/pr67512.c: New test.
|
||||
|
||||
2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/53184
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
/* PR middle-end/67512 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -Wuninitialized" } */
|
||||
|
||||
extern int fn2 (void);
|
||||
extern int fn3 (int);
|
||||
void
|
||||
fn1 (void)
|
||||
{
|
||||
int z, m;
|
||||
if (1 & m) /* { dg-warning "is used uninitialized" } */
|
||||
z = fn2 ();
|
||||
z = 1 == m ? z : 2 == m;
|
||||
fn3 (z);
|
||||
}
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue