https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100977
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 51258 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51258&action=edit gcc12-pr100977-1.patch I think I found a bug in the makeucnid.c program, sometimes the ranges are split even when they contain the identical flags and combining value (which results in unnecessarily large table), but in other cases, e.g. U+0483 to U+0487 inclusive are combining 230 and U+0488 is combining 0, but the generated file had: { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 0, 0x0482 }, { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 230, 0x0483 }, { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 230, 0x0484 }, { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 230, 0x0485 }, { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 230, 0x0486 }, { 0| 0| 0|C11| 0|CID|NFC|NKC| 0, 0, 0x048f }, i.e. 0x0487 would be handled as non-combining.