https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
Daniel Sommermann changed:
What|Removed |Added
CC||dcsommer at fb dot com
--- Comment #11 from Daniel Sommermann ---
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,};
^