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 c++/53210] warning for data member initialized with itself should be in -Wall


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).


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