Update GCC components to Unicode 18.0.0
GCC's Unicode handling is updated to version 18.0.0.
GCC’s contrib, libcpp, and libstdc++ components have been updated to align with the Unicode 18.0.0 standard, released on September 16, 2026. This update includes changes to various Unicode data files and regenerates necessary header files. The libstdc++ inline namespace and version code have also been bumped. Testcases have been enhanced to cover new characters and ranges introduced in this Unicode version.
In Details
This commit synchronizes GCC's internal Unicode data with the latest Unicode standard (18.0.0). This involves updating numerous data files like DerivedCoreProperties.txt, UnicodeData.txt, etc., used by libcpp (for character property lookups) and libstdc++ (for character classification and handling). The makeuname2c.cc script, responsible for generating uname2c.h, has been updated to reflect version 18.0.0 and includes new generated ranges. The libstdc++ inline namespace __unicode::__v16_0_0 is renamed to __unicode::__v18_0_0 (and the associated code constant bumped from 160000…
- Unicode
- A universal character encoding standard designed to represent every character in every writing system, plus symbols and control characters.
- libcpp
- The C++ preprocessor library used by GCC.
- libstdc++
- The C++ standard library implementation for GCC.
- inline namespace
- A namespace that allows its members to be visible as if they were part of the enclosing namespace, often used for versioning library components.
- character property
- Attributes associated with a Unicode character, such as its general category, numeric value, or script.