This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53210] warning for data member initialized with itself should be in -Wall
- From: "manu at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 03 May 2012 13:09:44 +0000
- Subject: [Bug c++/53210] warning for data member initialized with itself should be in -Wall
- Auto-submitted: auto-generated
- References: <bug-53210-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53210
Manuel LÃpez-IbÃÃez <manu at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-05-03
CC| |manu at gcc dot gnu.org
Ever Confirmed|0 |1
--- Comment #2 from Manuel LÃpez-IbÃÃez <manu at gcc dot gnu.org> 2012-05-03 13:09:44 UTC ---
(In reply to comment #0)
>
> Although the warning is enabled by -Winit-self it is reported as
> -Wuninitialized (which kinda makes sense as it requires both to be active)
>
> More importantly, I think this code should always warn.
No, it doesn't make sense. Warnings should be controlled by the same option
used to warn. This is a bug. Please, could you test this patch?
Index: gcc/cp/init.c
===================================================================
--- gcc/cp/init.c (revision 187018)
+++ gcc/cp/init.c (working copy)
@@ -573,8 +573,7 @@
if (decl == error_mark_node)
return;
- if (warn_init_self && init && TREE_CODE (init) == TREE_LIST
- && TREE_CHAIN (init) == NULL_TREE)
+ if (init && TREE_CODE (init) == TREE_LIST && TREE_CHAIN (init) == NULL_TREE)
{
tree val = TREE_VALUE (init);
if (TREE_CODE (val) == COMPONENT_REF && TREE_OPERAND (val, 1) == member
Some testcases may need adjusting. Once tested, feel free to submit it for
approval (but I would consider it as obvious and commit it).