This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PR179 reopened (was it ever fixed?)


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

Attachment: uninit-B2.c.004t.gimple
Description: Binary data

Attachment: uninit-B2.c.023t.ssa
Description: Binary data

Attachment: uninit-B.c.004t.gimple
Description: Binary data

Attachment: uninit-B.c.023t.ssa
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]