PR49020: Diagnose brace elision in designated initializers in C++.
authorRichard Smith <richard@metafoo.co.uk>
Wed, 3 Feb 2021 22:33:17 +0000 (14:33 -0800)
committerRichard Smith <richard@metafoo.co.uk>
Wed, 3 Feb 2021 22:36:49 +0000 (14:36 -0800)
commitb15cbaf5a03d0b32dbc32c37766e32ccf66e6c87
tree2ef8f7126f97820b68152385441940938c1372d6
parent1a13ee1efb62c048c5a38090fe9e64a09df23c03
PR49020: Diagnose brace elision in designated initializers in C++.

This is a corner of the differences between C99 designators and C++20
designators that we'd previously overlooked. As with other such cases,
this continues to be permitted as an extension and allowed by default,
behind the -Wc99-designators warning flag, except in cases where it
leads to a conformance difference (such as in overload resolution and in
a SFINAE context).
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/Sema/SemaInit.cpp
clang/test/SemaCXX/cxx2a-initializer-aggregates.cpp