https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103446

            Bug ID: 103446
           Summary: Invalid wide multibyte character constant
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zloten at mail dot ru
  Target Milestone: ---

assert('Z' == 0x5A);
assert('Ы' == 0xD0AB);
assert('闩' == 0x00E997A9);
assert('𠂡' == 0xF0A082A1);
assert(U'Z' == 0x5A);
assert(U'Ы' == 0x042B);
assert(U'闩' == 0x95E9);
assert(U'𠂡' == 0x000200A1);
assert(L'Z' == 0x5A);
assert(L'Ы' == 0x042B);
assert(L'闩' == 0x95E9);
assert(L'𠂡' == 56481); ==> warning: character constant too long for its type   
         BUT MUST BE 0xDCA1D840

This problem occurs only with non-bmp wide supplementary characters.

Reply via email to