https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84501
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |10.0 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- In GCC 10+ we get now (r10-464-ga9c697b88395): <source>: In function 'int main()': <source>:4:18: error: initializer-string for 'wchar_t [3]' is too long [-fpermissive] 4 | wchar_t w[3] = L"abcd"; | ^~~~~~~ <source>:5:21: error: initializer-string for 'char16_t [3]' is too long [-fpermissive] 5 | char16_t u16[3] = u"abcd"; | ^~~~~~~ <source>:6:21: error: initializer-string for 'char32_t [3]' is too long [-fpermissive] 6 | char32_t u32[3] = U"abcd"; | ^~~~~~~ So fixed.