https://llvm.org/bugs/show_bug.cgi?id=27614
Bug ID: 27614 Summary: Wrong location for -Wmissing-braces for overriding initializers Product: clang Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: chere...@mccme.ru CC: llvm-bugs@lists.llvm.org Classification: Unclassified Source code: ---------------------------------------------------------------------- int main() { struct { struct { int x; } sub; } s = { .sub = { 1 }, .sub = 2 }; (void)s; } ---------------------------------------------------------------------- Results: ---------------------------------------------------------------------- $ clang -std=c11 -Weverything -O3 test.c && ./a.out test.c:3:65: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] struct { struct { int x; } sub; } s1 = { .sub = { 1 }, .sub = 2 }; ^ test.c:3:53: note: previous initialization is here struct { struct { int x; } sub; } s1 = { .sub = { 1 }, .sub = 2 }; ^ test.c:3:51: warning: suggest braces around initialization of subobject [-Wmissing-braces] struct { struct { int x; } sub; } s1 = { .sub = { 1 }, .sub = 2 }; ^~~~~ { } test.c:4:51: warning: suggest braces around initialization of subobject [-Wmissing-braces] struct { struct { int x; } sub; } s2 = { .sub = 1, .sub = 2 }; ^ {} test.c:4:61: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] struct { struct { int x; } sub; } s2 = { .sub = 1, .sub = 2 }; ^ test.c:4:51: note: previous initialization is here struct { struct { int x; } sub; } s2 = { .sub = 1, .sub = 2 }; ^ test.c:4:51: warning: suggest braces around initialization of subobject [-Wmissing-braces] struct { struct { int x; } sub; } s2 = { .sub = 1, .sub = 2 }; ^~~~~~~~~~~ { } 5 warnings generated. ---------------------------------------------------------------------- clang version: clang version 3.9.0 (trunk 268228) I guess the 2nd and 5th warnings intended to warn about missing braces around "2" only. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs