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