[libcxx] [llvm] Finish supporting Unicode 18 (PR #199111)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 15 05:07:41 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Charlie Lin (clin1234)
<details>
<summary>Changes</summary>
This PR updates other Unicode tables started by #<!-- -->198255. In particular, Unicode names to codepoints mappings, case foldings, and which codepoints to escape in identifiers.
---
Patch is 1.05 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/199111.diff
22 Files Affected:
- (modified) libcxx/include/__format/escaped_output_table.h (+73-66)
- (modified) libcxx/include/__format/extended_grapheme_cluster_table.h (+124-37)
- (modified) libcxx/include/__format/indic_conjunct_break_table.h (+100-20)
- (modified) libcxx/include/__format/unicode.h (+48-63)
- (modified) libcxx/include/__format/width_estimation_table.h (+18-14)
- (modified) libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp (+11-9)
- (modified) libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h (+2570-3282)
- (modified) libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp (+7-7)
- (modified) libcxx/utils/data/unicode/DerivedCoreProperties.txt (+765-270)
- (modified) libcxx/utils/data/unicode/DerivedGeneralCategory.txt (+230-127)
- (modified) libcxx/utils/data/unicode/EastAsianWidth.txt (+119-51)
- (modified) libcxx/utils/data/unicode/GraphemeBreakProperty.txt (+27-11)
- (modified) libcxx/utils/data/unicode/GraphemeBreakTest.txt (+860-1098)
- (modified) libcxx/utils/data/unicode/emoji-data.txt (+69-104)
- (modified) libcxx/utils/generate_escaped_output_table.py (+6-6)
- (modified) libcxx/utils/generate_extended_grapheme_cluster_table.py (+5-5)
- (modified) libcxx/utils/generate_extended_grapheme_cluster_test.py (+6-4)
- (modified) libcxx/utils/generate_indic_conjunct_break_table.py (+2-2)
- (modified) libcxx/utils/generate_width_estimation_table.py (+1-1)
- (modified) llvm/lib/Support/UnicodeCaseFold.cpp (+63-8)
- (modified) llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp (+3-3)
- (modified) llvm/utils/unicode-case-fold.py (+28-23)
``````````diff
diff --git a/libcxx/include/__format/escaped_output_table.h b/libcxx/include/__format/escaped_output_table.h
index 7b6a03162c490..7ba40e98400bb 100644
--- a/libcxx/include/__format/escaped_output_table.h
+++ b/libcxx/include/__format/escaped_output_table.h
@@ -98,7 +98,7 @@ namespace __escaped_output_table {
/// - Unassigned.
///
/// The data is generated from
-/// - https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedGeneralCategory.txt
+/// - https://www.unicode.org/Public/18.0.0/ucd/extracted/DerivedGeneralCategory.txt
///
/// The table is similar to the table
/// __extended_grapheme_custer_property_boundary::__entries
@@ -110,7 +110,7 @@ namespace __escaped_output_table {
/// - bits [14, 31] The lower bound code point of the range. The upper bound of
/// the range is lower bound + size. Note the code expects code units the fit
/// into 18 bits, instead of the 21 bits needed for the full Unicode range.
-_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
+_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[742] = {
0x00000020 /* 00000000 - 00000020 [ 33] */,
0x001fc021 /* 0000007f - 000000a0 [ 34] */,
0x002b4000 /* 000000ad - 000000ad [ 1] */,
@@ -120,10 +120,9 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x00e34000 /* 0000038d - 0000038d [ 1] */,
0x00e88000 /* 000003a2 - 000003a2 [ 1] */,
0x014c0000 /* 00000530 - 00000530 [ 1] */,
- 0x0155c001 /* 00000557 - 00000558 [ 2] */,
- 0x0162c001 /* 0000058b - 0000058c [ 2] */,
+ 0x0155c000 /* 00000557 - 00000557 [ 1] */,
0x01640000 /* 00000590 - 00000590 [ 1] */,
- 0x01720007 /* 000005c8 - 000005cf [ 8] */,
+ 0x01728005 /* 000005ca - 000005cf [ 6] */,
0x017ac003 /* 000005eb - 000005ee [ 4] */,
0x017d4010 /* 000005f5 - 00000605 [ 17] */,
0x01870000 /* 0000061c - 0000061c [ 1] */,
@@ -137,7 +136,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x02170001 /* 0000085c - 0000085d [ 2] */,
0x0217c000 /* 0000085f - 0000085f [ 1] */,
0x021ac004 /* 0000086b - 0000086f [ 5] */,
- 0x0223c007 /* 0000088f - 00000896 [ 8] */,
+ 0x02240006 /* 00000890 - 00000896 [ 7] */,
0x02388000 /* 000008e2 - 000008e2 [ 1] */,
0x02610000 /* 00000984 - 00000984 [ 1] */,
0x02634001 /* 0000098d - 0000098e [ 2] */,
@@ -192,7 +191,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x02ce8001 /* 00000b3a - 00000b3b [ 2] */,
0x02d14001 /* 00000b45 - 00000b46 [ 2] */,
0x02d24001 /* 00000b49 - 00000b4a [ 2] */,
- 0x02d38006 /* 00000b4e - 00000b54 [ 7] */,
+ 0x02d38004 /* 00000b4e - 00000b52 [ 5] */,
0x02d60003 /* 00000b58 - 00000b5b [ 4] */,
0x02d78000 /* 00000b5e - 00000b5e [ 1] */,
0x02d90001 /* 00000b64 - 00000b65 [ 2] */,
@@ -221,7 +220,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x03124000 /* 00000c49 - 00000c49 [ 1] */,
0x03138006 /* 00000c4e - 00000c54 [ 7] */,
0x0315c000 /* 00000c57 - 00000c57 [ 1] */,
- 0x0316c001 /* 00000c5b - 00000c5c [ 2] */,
+ 0x0316c000 /* 00000c5b - 00000c5b [ 1] */,
0x03178001 /* 00000c5e - 00000c5f [ 2] */,
0x03190001 /* 00000c64 - 00000c65 [ 2] */,
0x031c0006 /* 00000c70 - 00000c76 [ 7] */,
@@ -233,7 +232,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x03314000 /* 00000cc5 - 00000cc5 [ 1] */,
0x03324000 /* 00000cc9 - 00000cc9 [ 1] */,
0x03338006 /* 00000cce - 00000cd4 [ 7] */,
- 0x0335c005 /* 00000cd7 - 00000cdc [ 6] */,
+ 0x0335c004 /* 00000cd7 - 00000cdb [ 5] */,
0x0337c000 /* 00000cdf - 00000cdf [ 1] */,
0x03390001 /* 00000ce4 - 00000ce5 [ 2] */,
0x033c0000 /* 00000cf0 - 00000cf0 [ 1] */,
@@ -331,7 +330,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x06a28005 /* 00001a8a - 00001a8f [ 6] */,
0x06a68005 /* 00001a9a - 00001a9f [ 6] */,
0x06ab8001 /* 00001aae - 00001aaf [ 2] */,
- 0x06b3c030 /* 00001acf - 00001aff [ 49] */,
+ 0x06bc400e /* 00001af1 - 00001aff [ 15] */,
0x06d34000 /* 00001b4d - 00001b4d [ 1] */,
0x06fd0007 /* 00001bf4 - 00001bfb [ 8] */,
0x070e0002 /* 00001c38 - 00001c3a [ 3] */,
@@ -359,15 +358,12 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x080a0007 /* 00002028 - 0000202f [ 8] */,
0x0817c010 /* 0000205f - 0000206f [ 17] */,
0x081c8001 /* 00002072 - 00002073 [ 2] */,
- 0x0823c000 /* 0000208f - 0000208f [ 1] */,
- 0x08274002 /* 0000209d - 0000209f [ 3] */,
- 0x0830400e /* 000020c1 - 000020cf [ 15] */,
+ 0x0831400a /* 000020c5 - 000020cf [ 11] */,
0x083c400e /* 000020f1 - 000020ff [ 15] */,
0x08630003 /* 0000218c - 0000218f [ 4] */,
0x090a8015 /* 0000242a - 0000243f [ 22] */,
0x0912c014 /* 0000244b - 0000245f [ 21] */,
0x0add0001 /* 00002b74 - 00002b75 [ 2] */,
- 0x0ae58000 /* 00002b96 - 00002b96 [ 1] */,
0x0b3d0004 /* 00002cf4 - 00002cf8 [ 5] */,
0x0b498000 /* 00002d26 - 00002d26 [ 1] */,
0x0b4a0004 /* 00002d28 - 00002d2c [ 5] */,
@@ -383,7 +379,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x0b73c000 /* 00002dcf - 00002dcf [ 1] */,
0x0b75c000 /* 00002dd7 - 00002dd7 [ 1] */,
0x0b77c000 /* 00002ddf - 00002ddf [ 1] */,
- 0x0b978021 /* 00002e5e - 00002e7f [ 34] */,
+ 0x0b978001 /* 00002e5e - 00002e5f [ 2] */,
+ 0x0b99001b /* 00002e64 - 00002e7f [ 28] */,
0x0ba68000 /* 00002e9a - 00002e9a [ 1] */,
0x0bbd000b /* 00002ef4 - 00002eff [ 12] */,
0x0bf58019 /* 00002fd6 - 00002fef [ 26] */,
@@ -399,10 +396,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x2931c008 /* 0000a4c7 - 0000a4cf [ 9] */,
0x298b0013 /* 0000a62c - 0000a63f [ 20] */,
0x29be0007 /* 0000a6f8 - 0000a6ff [ 8] */,
- 0x29f38001 /* 0000a7ce - 0000a7cf [ 2] */,
- 0x29f48000 /* 0000a7d2 - 0000a7d2 [ 1] */,
- 0x29f50000 /* 0000a7d4 - 0000a7d4 [ 1] */,
- 0x29f74014 /* 0000a7dd - 0000a7f1 [ 21] */,
+ 0x29f78003 /* 0000a7de - 0000a7e1 [ 4] */,
+ 0x29f8c00d /* 0000a7e3 - 0000a7f0 [ 14] */,
0x2a0b4002 /* 0000a82d - 0000a82f [ 3] */,
0x2a0e8005 /* 0000a83a - 0000a83f [ 6] */,
0x2a1e0007 /* 0000a878 - 0000a87f [ 8] */,
@@ -423,7 +418,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x2ac5c008 /* 0000ab17 - 0000ab1f [ 9] */,
0x2ac9c000 /* 0000ab27 - 0000ab27 [ 1] */,
0x2acbc000 /* 0000ab2f - 0000ab2f [ 1] */,
- 0x2adb0003 /* 0000ab6c - 0000ab6f [ 4] */,
+ 0x2adb8001 /* 0000ab6e - 0000ab6f [ 2] */,
0x2afb8001 /* 0000abee - 0000abef [ 2] */,
0x2afe8005 /* 0000abfa - 0000abff [ 6] */,
0x35e9000b /* 0000d7a4 - 0000d7af [ 12] */,
@@ -438,9 +433,6 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x3ecfc000 /* 0000fb3f - 0000fb3f [ 1] */,
0x3ed08000 /* 0000fb42 - 0000fb42 [ 1] */,
0x3ed14000 /* 0000fb45 - 0000fb45 [ 1] */,
- 0x3ef0c00f /* 0000fbc3 - 0000fbd2 [ 16] */,
- 0x3f640001 /* 0000fd90 - 0000fd91 [ 2] */,
- 0x3f720006 /* 0000fdc8 - 0000fdce [ 7] */,
0x3f74001f /* 0000fdd0 - 0000fdef [ 32] */,
0x3f868005 /* 0000fe1a - 0000fe1f [ 6] */,
0x3f94c000 /* 0000fe53 - 0000fe53 [ 1] */,
@@ -498,7 +490,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x41da0017 /* 00010768 - 0001077f [ 24] */,
0x41e18000 /* 00010786 - 00010786 [ 1] */,
0x41ec4000 /* 000107b1 - 000107b1 [ 1] */,
- 0x41eec044 /* 000107bb - 000107ff [ 69] */,
+ 0x41f0003f /* 000107c0 - 000107ff [ 64] */,
0x42018001 /* 00010806 - 00010807 [ 2] */,
0x42024000 /* 00010809 - 00010809 [ 1] */,
0x420d8000 /* 00010836 - 00010836 [ 1] */,
@@ -511,7 +503,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x423d8004 /* 000108f6 - 000108fa [ 5] */,
0x42470002 /* 0001091c - 0001091e [ 3] */,
0x424e8004 /* 0001093a - 0001093e [ 5] */,
- 0x4250003f /* 00010940 - 0001097f [ 64] */,
+ 0x42568025 /* 0001095a - 0001097f [ 38] */,
0x426e0003 /* 000109b8 - 000109bb [ 4] */,
0x42740001 /* 000109d0 - 000109d1 [ 2] */,
0x42810000 /* 00010a04 - 00010a04 [ 1] */,
@@ -543,7 +535,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x43aa8000 /* 00010eaa - 00010eaa [ 1] */,
0x43ab8001 /* 00010eae - 00010eaf [ 2] */,
0x43ac800f /* 00010eb2 - 00010ec1 [ 16] */,
- 0x43b14036 /* 00010ec5 - 00010efb [ 55] */,
+ 0x43b20000 /* 00010ec8 - 00010ec8 [ 1] */,
+ 0x43bbc000 /* 00010eef - 00010eef [ 1] */,
0x43ca0007 /* 00010f28 - 00010f2f [ 8] */,
0x43d68015 /* 00010f5a - 00010f6f [ 22] */,
0x43e28025 /* 00010f8a - 00010faf [ 38] */,
@@ -626,7 +619,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x46920007 /* 00011a48 - 00011a4f [ 8] */,
0x46a8c00c /* 00011aa3 - 00011aaf [ 13] */,
0x46be4006 /* 00011af9 - 00011aff [ 7] */,
- 0x46c280b5 /* 00011b0a - 00011bbf [ 182] */,
+ 0x46c2c054 /* 00011b0b - 00011b5f [ 85] */,
+ 0x46da0057 /* 00011b68 - 00011bbf [ 88] */,
0x46f8800d /* 00011be2 - 00011bef [ 14] */,
0x46fe8005 /* 00011bfa - 00011bff [ 6] */,
0x47024000 /* 00011c09 - 00011c09 [ 1] */,
@@ -648,7 +642,10 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x4763c000 /* 00011d8f - 00011d8f [ 1] */,
0x47648000 /* 00011d92 - 00011d92 [ 1] */,
0x47664006 /* 00011d99 - 00011d9f [ 7] */,
- 0x476a8135 /* 00011daa - 00011edf [ 310] */,
+ 0x476a8005 /* 00011daa - 00011daf [ 6] */,
+ 0x47770003 /* 00011ddc - 00011ddf [ 4] */,
+ 0x477a8005 /* 00011dea - 00011def [ 6] */,
+ 0x477c80ed /* 00011df2 - 00011edf [ 238] */,
0x47be4006 /* 00011ef9 - 00011eff [ 7] */,
0x47c44000 /* 00011f11 - 00011f11 [ 1] */,
0x47cec002 /* 00011f3b - 00011f3d [ 3] */,
@@ -656,9 +653,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x47ec400e /* 00011fb1 - 00011fbf [ 15] */,
0x47fc800c /* 00011ff2 - 00011ffe [ 13] */,
0x48e68065 /* 0001239a - 000123ff [ 102] */,
- 0x491bc000 /* 0001246f - 0001246f [ 1] */,
- 0x491d400a /* 00012475 - 0001247f [ 11] */,
- 0x49510a4b /* 00012544 - 00012f8f [ 2636] */,
+ 0x4951000b /* 00012544 - 0001254f [ 12] */,
+ 0x49a1c908 /* 00012687 - 00012f8f [ 2313] */,
0x4bfcc00c /* 00012ff3 - 00012fff [ 13] */,
0x4d0c000f /* 00013430 - 0001343f [ 16] */,
0x4d158009 /* 00013456 - 0001345f [ 10] */,
@@ -678,39 +674,45 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x5ade0004 /* 00016b78 - 00016b7c [ 5] */,
0x5ae401af /* 00016b90 - 00016d3f [ 432] */,
0x5b5e80c5 /* 00016d7a - 00016e3f [ 198] */,
- 0x5ba6c064 /* 00016e9b - 00016eff [ 101] */,
+ 0x5ba6c004 /* 00016e9b - 00016e9f [ 5] */,
+ 0x5bae4001 /* 00016eb9 - 00016eba [ 2] */,
+ 0x5bb5002b /* 00016ed4 - 00016eff [ 44] */,
0x5bd2c003 /* 00016f4b - 00016f4e [ 4] */,
0x5be20006 /* 00016f88 - 00016f8e [ 7] */,
0x5be8003f /* 00016fa0 - 00016fdf [ 64] */,
0x5bf9400a /* 00016fe5 - 00016fef [ 11] */,
- 0x5bfc800d /* 00016ff2 - 00016fff [ 14] */,
- 0x61fe0007 /* 000187f8 - 000187ff [ 8] */,
- 0x63358028 /* 00018cd6 - 00018cfe [ 41] */,
- 0x634262e6 /* 00018d09 - 0001afef [ 8935] */,
+ 0x5bfdc008 /* 00016ff7 - 00016fff [ 9] */,
+ 0x6336c023 /* 00018cdb - 00018cfe [ 36] */,
+ 0x6348405e /* 00018d21 - 00018d7f [ 95] */,
+ 0x637cc00c /* 00018df3 - 00018dff [ 13] */,
+ 0x6464800d /* 00019192 - 0001919f [ 14] */,
+ 0x6474de1c /* 000191d3 - 0001afef [ 7709] */,
0x6bfd0000 /* 0001aff4 - 0001aff4 [ 1] */,
0x6bff0000 /* 0001affc - 0001affc [ 1] */,
0x6bffc000 /* 0001afff - 0001afff [ 1] */,
- 0x6c48c00e /* 0001b123 - 0001b131 [ 15] */,
+ 0x6c4a4008 /* 0001b129 - 0001b131 [ 9] */,
0x6c4cc01c /* 0001b133 - 0001b14f [ 29] */,
0x6c54c001 /* 0001b153 - 0001b154 [ 2] */,
0x6c55800d /* 0001b156 - 0001b163 [ 14] */,
- 0x6c5a0007 /* 0001b168 - 0001b16f [ 8] */,
+ 0x6c5a4006 /* 0001b169 - 0001b16f [ 7] */,
0x6cbf0903 /* 0001b2fc - 0001bbff [ 2308] */,
0x6f1ac004 /* 0001bc6b - 0001bc6f [ 5] */,
0x6f1f4002 /* 0001bc7d - 0001bc7f [ 3] */,
0x6f224006 /* 0001bc89 - 0001bc8f [ 7] */,
0x6f268001 /* 0001bc9a - 0001bc9b [ 2] */,
0x6f280f5f /* 0001bca0 - 0001cbff [ 3936] */,
- 0x733e8005 /* 0001ccfa - 0001ccff [ 6] */,
- 0x73ad004b /* 0001ceb4 - 0001ceff [ 76] */,
+ 0x733f4002 /* 0001ccfd - 0001ccff [ 3] */,
+ 0x73ad0005 /* 0001ceb4 - 0001ceb9 [ 6] */,
+ 0x73b44000 /* 0001ced1 - 0001ced1 [ 1] */,
+ 0x73b54007 /* 0001ced5 - 0001cedc [ 8] */,
+ 0x73bf8001 /* 0001cefe - 0001ceff [ 2] */,
0x73cb8001 /* 0001cf2e - 0001cf2f [ 2] */,
0x73d1c008 /* 0001cf47 - 0001cf4f [ 9] */,
0x73f1003b /* 0001cfc4 - 0001cfff [ 60] */,
0x743d8009 /* 0001d0f6 - 0001d0ff [ 10] */,
- 0x7449c001 /* 0001d127 - 0001d128 [ 2] */,
0x745cc007 /* 0001d173 - 0001d17a [ 8] */,
- 0x747ac014 /* 0001d1eb - 0001d1ff [ 21] */,
- 0x74918079 /* 0001d246 - 0001d2bf [ 122] */,
+ 0x74918009 /* 0001d246 - 0001d24f [ 10] */,
+ 0x74a0803d /* 0001d282 - 0001d2bf [ 62] */,
0x74b5000b /* 0001d2d4 - 0001d2df [ 12] */,
0x74bd000b /* 0001d2f4 - 0001d2ff [ 12] */,
0x74d5c008 /* 0001d357 - 0001d35f [ 9] */,
@@ -733,13 +735,14 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x75514000 /* 0001d545 - 0001d545 [ 1] */,
0x7551c002 /* 0001d547 - 0001d549 [ 3] */,
0x75544000 /* 0001d551 - 0001d551 [ 1] */,
- 0x75a98001 /* 0001d6a6 - 0001d6a7 [ 2] */,
+ 0x75a9c000 /* 0001d6a7 - 0001d6a7 [ 1] */,
0x75f30001 /* 0001d7cc - 0001d7cd [ 2] */,
0x76a3000e /* 0001da8c - 0001da9a [ 15] */,
0x76a80000 /* 0001daa0 - 0001daa0 [ 1] */,
- 0x76ac044f /* 0001dab0 - 0001deff [ 1104] */,
- 0x77c7c005 /* 0001df1f - 0001df24 [ 6] */,
- 0x77cac0d4 /* 0001df2b - 0001dfff [ 213] */,
+ 0x76ac004f /* 0001dab0 - 0001daff [ 80] */,
+ 0x76c743e2 /* 0001db1d - 0001deff [ 995] */,
+ 0x77e0800d /* 0001df82 - 0001df8f [ 14] */,
+ 0x77e5c035 /* 0001df97 - 0001dfcc [ 54] */,
0x7801c000 /* 0001e007 - 0001e007 [ 1] */,
0x78064001 /* 0001e019 - 0001e01a [ 2] */,
0x78088000 /* 0001e022 - 0001e022 [ 1] */,
@@ -756,7 +759,10 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x78c001cf /* 0001e300 - 0001e4cf [ 464] */,
0x793e80d5 /* 0001e4fa - 0001e5cf [ 214] */,
0x797ec003 /* 0001e5fb - 0001e5fe [ 4] */,
- 0x798001df /* 0001e600 - 0001e7df [ 480] */,
+ 0x798000bf /* 0001e600 - 0001e6bf [ 192] */,
+ 0x79b7c000 /* 0001e6df - 0001e6df [ 1] */,
+ 0x79bd8007 /* 0001e6f6 - 0001e6fd [ 8] */,
+ 0x79c000df /* 0001e700 - 0001e7df [ 224] */,
0x79f9c000 /* 0001e7e7 - 0001e7e7 [ 1] */,
0x79fb0000 /* 0001e7ec - 0001e7ec [ 1] */,
0x79fbc000 /* 0001e7ef - 0001e7ef [ 1] */,
@@ -808,44 +814,45 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
0x7c300000 /* 0001f0c0 - 0001f0c0 [ 1] */,
0x7c340000 /* 0001f0d0 - 0001f0d0 [ 1] */,
0x7c3d8009 /* 0001f0f6 - 0001f0ff [ 10] */,
- 0x7c6b8037 /* 0001f1ae - 0001f1e5 [ 56] */,
+ 0x7c6bc036 /* 0001f1af - 0001f1e5 [ 55] */,
0x7c80c00c /* 0001f203 - 0001f20f [ 13] */,
0x7c8f0003 /* 0001f23c - 0001f23f [ 4] */,
0x7c924006 /* 0001f249 - 0001f24f [ 7] */,
0x7c94800d /* 0001f252 - 0001f25f [ 14] */,
0x7c998099 /* 0001f266 - 0001f2ff [ 154] */,
- 0x7db60003 /* 0001f6d8 - 0001f6db [ 4] */,
+ 0x7db68001 /* 0001f6da - 0001f6db [ 2] */,
0x7dbb4002 /* 0001f6ed - 0001f6ef [ 3] */,
0x7dbf4002 /* 0001f6fd - 0001f6ff [ 3] */,
- 0x7dddc003 /* 0001f777 - 0001f77a [ 4] */,
- 0x7df68005 /* 0001f7da - 0001f7df [ 6] */,
+ 0x7df70003 /* 0001f7dc - 0001f7df [ 4] */,
0x7dfb0003 /* 0001f7ec - 0001f7ef [ 4] */,
- 0x7dfc400e /* 0001f7f1 - 0001f7ff [ 15] */,
0x7e030003 /* 0001f80c - 0001f80f [ 4] */,
0x7e120007 /* 0001f848 - 0001f84f [ 8] */,
0x7e168005 /* 0001f85a - 0001f85f [ 6] */,
0x7e220007 /* 0001f888 - 0001f88f [ 8] */,
0x7e2b8001 /* 0001f8ae - 0001f8af [ 2] */,
0x7e2f0003 /* 0001f8bc - 0001f8bf [ 4] */,
- 0x7e30803d /* 0001f8c2 - 0001f8ff [ 62] */,
- 0x7e95000b /* 0001fa54 - 0001fa5f [ 12] */,
+ 0x7e30800d /* 0001f8c2 - 0001f8cf [ 14] */,
+ 0x7e364026 /* 0001f8d9 - 0001f8ff [ 39] */,
+ 0x7e960007 /* 0001fa58 - 0001fa5f [ 8] */,
0x7e9b8001 /* 0001fa6e - 0001fa6f [ 2] */,
0x7e9f4002 /* 0001fa7d - 0001fa7f [ 3] */,
- 0x7ea28004 /* 0001fa8a - 0001fa8e [ 5] */,
- 0x7eb1c006 /* 0001fac7 - 0001facd [ 7] */,
- 0x7eb74001 /* 0001fadd - 0001fade [ 2] */,
- 0x7eba8005 /* 0001faea - 0001faef [ 6] */,
- 0x7ebe4006 /* 0001faf9 - 0001faff [ 7] */,
+ 0x7eb1c000 /* 0001fac7 - 0001fac7 [ 1] */,
+ 0x7eb24002 /* 0001fac9 - 0001facb [ 3] */,
+ 0x7eb78000 /* 0001fade - 0001fade [ 1] */,
+ 0x7ebb0002 /* 0001faec - 0001faee [ 3] */,
+ 0x7ebec004 /* 0001fafb - 0001faff [ 5] */,
0x7ee4c000 /* 0001fb93 - 0001fb93 [ 1] */,
- 0x7efe8405 /* 0001fbfa - 0001ffff [ 1030] */,
+ 0x7efec404 /* 0001fbfb - 0001ffff [ 1029] */,
0xa9b8001f /* 0002a6e0 - 0002a6ff [ 32] */,
- 0xadce8005 /* 0002b73a - 0002b73f [ 6] */,
- 0xae078001 /* 0002b81e - 0002b81f [ 2] */,
- 0xb3a8800d /* 0002cea2 - 0002ceaf [ 14] */,
+ 0xae07c000 /* 0002b81f - 0002b81f [ 1] */,
+ 0xb3ab8001 /* 0002ceae - 0002ceaf [ 2] */,
0xbaf8400e /* 0002ebe1 - 0002ebef [ 15] */,
0xbb9789a1 /* 0002ee5e - 0002f7ff [ 2466] */,
0xbe8785e1 /* 0002fa1e - 0002ffff [ 1506] */,
- 0xc4d2c004 /* 0003134b - 0003134f [ 5] */};
+ 0xc4d2c004 /* 0003134b - 0003134f [ 5] */,
+ 0xcd1ebfff /* 0003347a - 00037479 [16384] */,
+ 0xdd1ebfff /* 0003747a - 0003b479 [16384] */,
+ 0xed1e9b85 /* 0003b47a - 0003cfff [ 7046] */};
/// Returns whether the code unit needs to be escaped.
///
@@ -866,7 +873,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
return false;
// The entries at the end.
- if (__code_point >= 0x000323b0)
+ if (__code_point >= 0x0003fc40)
return true;
ptrdiff_t __i = std::upper_bound(std::begin(__entries), std::end(__entries), (__code_point << 14) | 0x3fffu) - __entries;
diff --git a/libcxx/include/__format/extended_grapheme_cluster_table.h b/libcxx/include/__format/extended_grapheme_cluster_table.h
index 6da07862d41e6..b805f738c359b 100644
--- a/libcxx/include/__format/extended_grapheme_cluster_table.h
+++ b/libcxx/include/__format/extended_grapheme_cluster_table.h
@@ -107,8 +107,8 @@ enum class __property : uint8_t {
/// The entries of the extended grapheme cluster bondary property table.
///
/// The data is generated from
-/// - https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt
-/// - https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
+/// - https://www.unicode.org/Public/18.0.0/ucd/auxiliary/GraphemeBreakProperty.txt
+/// - https://www.unicode.org/Public/18.0.0/ucd/emoji/emoji-data.txt
///
/// The data has 3 values
/// - bits [0, 3] The property. One of the values generated from the datafiles
@@ -125,7 +125,7 @@ enum class __property : uint8_t {
/// following benchmark.
/// libcxx/benchmarks/std_format_spec_string_unicode.bench.cpp
// clang-format off
-_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[1501] = {
+_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[1588] = {
0x00000091,
0x00005005,
0x00005811,
@@ -141,7 +141,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[1501...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/199111
More information about the llvm-commits
mailing list