https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97755
Harald van Dijk <harald at gigawatt dot nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |harald at gigawatt dot nl --- Comment #1 from Harald van Dijk <harald at gigawatt dot nl> --- This may be in order to ensure that the following valid C++03 code is accepted in C++11 mode as well, to limit the impact when the default language version was changed: struct A { explicit A(int = 24); }; int main() { A a[1] = {}; } This did not get diagnosed in GCC 5 in any mode. GCC 6 accepts it without a warning in C++03 mode, and accepts it with a warning in C++11 mode.