https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88572
--- Comment #13 from Will Wray <wjwray at gmail dot com> --- Re-reviewing, I notice that the patch I posted in comment #9 now rejects nested empty-brace scalar init: int i{{}}; which was previously accepted. So we'll need a decision on this too. Clang rejects with -pedantic-errors or warns otherwise: pedantic error / warning: too many braces around scalar initializer MSVC rejects: error: 'initializing': cannot convert from 'initializer list' to 'int' note: Too many braces around initializer for 'int' I reckon that Clang is right to reject under -pedantic, else accept and warn This Quora post comes to a similar conclusion: https://www.quora.com/Is-double-braced-scalar-initialization-allowed-by-the-C-standard-int-x >accepting {{}} for int seems like a harmless language extension.