re PR middle-end/40943 (Uninitialized warning is missed when dereferencing uninitialized pointers)
PR middle-end/40943 * tree-ssa.c (warn_uninitialized_var): Even on LHS warn for operand of INDIRECT_REF. * gcc.dg/uninit-6.c: Re-add XFAIL. * gcc.dg/uninit-6-O0.c: Likewise. * gcc.dg/uninit-pr40943.c: New test. From-SVN: r150379
This commit is contained in:
parent
239bca9def
commit
1768a05203
6 changed files with 31 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2009-08-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/40943
|
||||
* tree-ssa.c (warn_uninitialized_var): Even on LHS warn for
|
||||
operand of INDIRECT_REF.
|
||||
|
||||
2009-08-03 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2009-08-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/40943
|
||||
* gcc.dg/uninit-6.c: Re-add XFAIL.
|
||||
* gcc.dg/uninit-6-O0.c: Likewise.
|
||||
* gcc.dg/uninit-pr40943.c: New test.
|
||||
|
||||
2009-08-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR testsuite/40858
|
||||
|
|
|
@ -39,7 +39,7 @@ make_something(int a, int b, int c)
|
|||
rv = malloc (sizeof (struct tree));
|
||||
rv->car = 0;
|
||||
|
||||
APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" } */
|
||||
APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */
|
||||
APPEND(rv, field, PTR_T, b);
|
||||
APPEND(rv, field, INTEGER_T, c);
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ make_something(int a, int b, int c)
|
|||
rv = malloc (sizeof (struct tree));
|
||||
rv->car = 0;
|
||||
|
||||
APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" } */
|
||||
APPEND(rv, field, INTEGER_T, a); /* { dg-bogus "field" "uninitialized variable warning" { xfail *-*-* } } */
|
||||
APPEND(rv, field, PTR_T, b);
|
||||
APPEND(rv, field, INTEGER_T, c);
|
||||
|
||||
|
|
10
gcc/testsuite/gcc.dg/uninit-pr40943.c
Normal file
10
gcc/testsuite/gcc.dg/uninit-pr40943.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
/* PR middle-end/40943 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -Wuninitialized" } */
|
||||
|
||||
void
|
||||
foo (void)
|
||||
{
|
||||
int *p;
|
||||
*p = 3; /* { dg-warning "is used uninitialized" } */
|
||||
}
|
|
@ -1265,7 +1265,12 @@ warn_uninitialized_var (tree *tp, int *walk_subtrees, void *data_)
|
|||
|
||||
/* We do not care about LHS. */
|
||||
if (wi->is_lhs)
|
||||
return NULL_TREE;
|
||||
{
|
||||
/* Except for operands of INDIRECT_REF. */
|
||||
if (!INDIRECT_REF_P (t))
|
||||
return NULL_TREE;
|
||||
t = TREE_OPERAND (t, 0);
|
||||
}
|
||||
|
||||
switch (TREE_CODE (t))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue