[Bug c++/84501] New: diagnostic says "array of chars" for arrays of wchar_t, char16_t and char32_t
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 21 13:50:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84501
Bug ID: 84501
Summary: diagnostic says "array of chars" for arrays of
wchar_t, char16_t and char32_t
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: diagnostic
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
int main() {
wchar_t w[3] = L"abc";
char16_t u16[3] = u"abc";
char32_t u32[3] = U"abc";
}
a.c: In function ‘int main()’:
a.c:2:18: error: initializer-string for array of chars is too long
[-fpermissive]
wchar_t w[3] = L"abc";
^~~~~~
a.c:3:21: error: initializer-string for array of chars is too long
[-fpermissive]
char16_t u16[3] = u"abc";
^~~~~~
a.c:4:21: error: initializer-string for array of chars is too long
[-fpermissive]
char32_t u32[3] = U"abc";
^~~~~~
Saying "chars" implies narrow characters. The standard uses "character array"
for the general case.
More information about the Gcc-bugs
mailing list