Hi, While doing a review of the open and closed PRs related to Wuninitialized for my Google's Summer of Code[*], I found out that PR179 was never actually fixed. This means that we still xfail http://gcc.gnu.org/svn/gcc/trunk/gcc/testsuite/gcc.dg/uninit-B.c
extern void foo (int *);
extern void bar (int);
void
baz (void)
{
int i;
if (i) /* { dg-warning "uninit" "uninit i warning" { xfail *-*-* } } */
bar (i);
foo (&i);
}
If we comment out foo(&i); then we do give a warning. I would like to
understand what is going on. So I dumped the gimple and SSA trees for
the original and the commented out version (uninit-B2). Then, I put a
break in warn_uninit and check why we didn't warn. It seems that when
we gimplify the above testcase, we don't create an empty definition
statement for i. Am I wrong? Why can be the reason for this? How can I
investigate further?
Cheers,
Manuel.
[*] http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
uninit-B2.c.004t.gimple
Description: Binary data
uninit-B2.c.023t.ssa
Description: Binary data
uninit-B.c.004t.gimple
Description: Binary data
uninit-B.c.023t.ssa
Description: Binary data
