This is the mail archive of the gcc-bugs@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]

[Bug tree-optimization/79345] [6/7 Regression] passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized)


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79345

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|jakub at gcc dot gnu.org           |rguenth at gcc dot gnu.org

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 40796
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40796&action=edit
untested patch w/o limiting the oracle walk

Extra warns for

FAIL: gcc.dg/uninit-B-O0.c (test for excess errors)
FAIL: gcc.dg/uninit-pr19430-2.c (test for excess errors)

Excess errors:
/space/rguenther/src/svn/gcc-7-branch/gcc/testsuite/gcc.dg/uninit-B-O0.c:13:5:
warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]

Excess errors:
/space/rguenther/src/svn/gcc-7-branch/gcc/testsuite/gcc.dg/uninit-pr19430-2.c:13:7:
warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]

which is kind-of expected (TREE_NO_WARNING wouldn't work on non-shared
trees in general).  Maybe we should try to mark the base if it is a decl?
But that might miss cases, say for

{
  X a;
  if (flag)
     ... = a.x;
  else
     .... = a.y;
}

we'd warn for a.x but not a.y.

To get an idea about verbosity I'll bootstrap the patch (w/o the limiting).

Comments welcome.

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