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

Daniel Sommermann <dcsommer at fb dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcsommer at fb dot com

--- Comment #11 from Daniel Sommermann <dcsommer at fb dot com> ---
Created attachment 33627
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33627&action=edit
Test case showing overly strict warning

This still produces false positives in C++11.

I attached a test case with several false positives. The compilation should be
clean as there are no uninitialized members. Repros with g++ 4.9.1

Compile with "g++ test.cpp -std=c++11 -Wmissing-field-initializers`"

Produces:

dcsommer@dcsommer-ThinkPad-T440s:~/src/proxygen-oss-test/proxygen$ g++ test.cpp
-Wmissing-field-initializers -std=c++11
test.cpp: In function ‘int main()’:
test.cpp:7:10: warning: missing initializer for member ‘Foo::bar’
[-Wmissing-field-initializers]
   Foo f1{};
          ^
test.cpp:7:10: warning: missing initializer for member ‘Foo::baz’
[-Wmissing-field-initializers]
test.cpp:8:11: warning: missing initializer for member ‘Foo::baz’
[-Wmissing-field-initializers]
   Foo f2{0};
           ^
test.cpp:9:14: warning: missing initializer for member ‘Foo::baz’
[-Wmissing-field-initializers]
   Foo f3 = {0};
              ^
test.cpp:10:15: warning: missing initializer for member ‘Foo::baz’
[-Wmissing-field-initializers]
   Foo f4 = {0,};
               ^

Reply via email to