With some code (attached) using an anonymous namespace I get an unexplained
"‘<anonymous>’ is used uninitialized in this function" with -Wall, with no
indication of what is seen to be used uninitialized. Changing the namespace to
a named one removes the error, as does removing part of the body of a used
method. 

g++ (GCC) 4.4.0 20090506 (Red Hat 4.4.0-4)

-DTEST1 names the namespace
-DTEST2 comments out the body of the offending method
"wiggling" the code makes it disappear/reappear, but difficult to know what the
problem is so as to make the test-case a more reasonable size

$ g++ -O2 -c -Wall foo.cxx
foo.cxx: In function ‘bool demo()’:
foo.cxx:4033: warning: ‘<anonymous>’ is used uninitialized in this function
foo.cxx:4033: note: ‘<anonymous>’ was declared here
$ g++ -DTEST1 -O2 -c -Wall foo.cxx
$ g++ -DTEST2 -O2 -c -Wall foo.cxx

Looks similar to bug #38908 but that one compiles without warnings here


-- 
           Summary: Unexplained "'<anonymous>' is used uninitialized in this
                    function" warning
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: caolanm at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40146

Reply via email to