This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/79345] [6/7 Regression] passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized)
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 21 Feb 2017 10:02:48 +0000
- Subject: [Bug tree-optimization/79345] [6/7 Regression] passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized)
- Auto-submitted: auto-generated
- References: <bug-79345-4@http.gcc.gnu.org/bugzilla/>
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.