Skip to content

Commit 3faacac

Browse files
committed
[Clang] Update Unicode version to 15.1
This update all of our Unicode tables to Unicode 15.1. This is a minor version so only a relatively small numbers of characters are added, mainly ideographs https://www.unicode.org/versions/Unicode15.1.0/#Appendices_nb
1 parent f22dc88 commit 3faacac

File tree

9 files changed

+20080
-20058
lines changed

9 files changed

+20080
-20058
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ Non-comprehensive list of changes in this release
238238

239239
* Added ``#pragma clang fp reciprocal``.
240240

241+
* The version of Unicode used by Clang (primarily to parse identifiers) has been updated to 15.1.
242+
241243
New Compiler Flags
242244
------------------
243245

clang/lib/Lex/UnicodeCharSets.h

Lines changed: 68 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
#include "llvm/Support/UnicodeCharRanges.h"
1212

13-
// Unicode 15.0 XID_Start
13+
// Unicode 15.1 XID_Start
1414
static const llvm::sys::UnicodeCharRange XIDStartRanges[] = {
1515
{0x0041, 0x005A}, {0x0061, 0x007A}, {0x00AA, 0x00AA},
1616
{0x00B5, 0x00B5}, {0x00BA, 0x00BA}, {0x00C0, 0x00D6},
@@ -233,9 +233,10 @@ static const llvm::sys::UnicodeCharRange XIDStartRanges[] = {
233233
{0x1EE8B, 0x1EE9B}, {0x1EEA1, 0x1EEA3}, {0x1EEA5, 0x1EEA9},
234234
{0x1EEAB, 0x1EEBB}, {0x20000, 0x2A6DF}, {0x2A700, 0x2B739},
235235
{0x2B740, 0x2B81D}, {0x2B820, 0x2CEA1}, {0x2CEB0, 0x2EBE0},
236-
{0x2F800, 0x2FA1D}, {0x30000, 0x3134A}, {0x31350, 0x323AF}};
236+
{0x2EBF0, 0x2EE5D}, {0x2F800, 0x2FA1D}, {0x30000, 0x3134A},
237+
{0x31350, 0x323AF}};
237238

238-
// Unicode 15.0 XID_Continue, excluding XID_Start
239+
// Unicode 15.1 XID_Continue, excluding XID_Start
239240
// The Unicode Property XID_Continue is a super set of XID_Start.
240241
// To save Space, the table below only contains the codepoints
241242
// that are not also in XID_Start.
@@ -302,69 +303,70 @@ static const llvm::sys::UnicodeCharRange XIDContinueRanges[] = {
302303
{0x203F, 0x2040}, {0x2054, 0x2054}, {0x20D0, 0x20DC},
303304
{0x20E1, 0x20E1}, {0x20E5, 0x20F0}, {0x2CEF, 0x2CF1},
304305
{0x2D7F, 0x2D7F}, {0x2DE0, 0x2DFF}, {0x302A, 0x302F},
305-
{0x3099, 0x309A}, {0xA620, 0xA629}, {0xA66F, 0xA66F},
306-
{0xA674, 0xA67D}, {0xA69E, 0xA69F}, {0xA6F0, 0xA6F1},
307-
{0xA802, 0xA802}, {0xA806, 0xA806}, {0xA80B, 0xA80B},
308-
{0xA823, 0xA827}, {0xA82C, 0xA82C}, {0xA880, 0xA881},
309-
{0xA8B4, 0xA8C5}, {0xA8D0, 0xA8D9}, {0xA8E0, 0xA8F1},
310-
{0xA8FF, 0xA909}, {0xA926, 0xA92D}, {0xA947, 0xA953},
311-
{0xA980, 0xA983}, {0xA9B3, 0xA9C0}, {0xA9D0, 0xA9D9},
312-
{0xA9E5, 0xA9E5}, {0xA9F0, 0xA9F9}, {0xAA29, 0xAA36},
313-
{0xAA43, 0xAA43}, {0xAA4C, 0xAA4D}, {0xAA50, 0xAA59},
314-
{0xAA7B, 0xAA7D}, {0xAAB0, 0xAAB0}, {0xAAB2, 0xAAB4},
315-
{0xAAB7, 0xAAB8}, {0xAABE, 0xAABF}, {0xAAC1, 0xAAC1},
316-
{0xAAEB, 0xAAEF}, {0xAAF5, 0xAAF6}, {0xABE3, 0xABEA},
317-
{0xABEC, 0xABED}, {0xABF0, 0xABF9}, {0xFB1E, 0xFB1E},
318-
{0xFE00, 0xFE0F}, {0xFE20, 0xFE2F}, {0xFE33, 0xFE34},
319-
{0xFE4D, 0xFE4F}, {0xFF10, 0xFF19}, {0xFF3F, 0xFF3F},
320-
{0xFF9E, 0xFF9F}, {0x101FD, 0x101FD}, {0x102E0, 0x102E0},
321-
{0x10376, 0x1037A}, {0x104A0, 0x104A9}, {0x10A01, 0x10A03},
322-
{0x10A05, 0x10A06}, {0x10A0C, 0x10A0F}, {0x10A38, 0x10A3A},
323-
{0x10A3F, 0x10A3F}, {0x10AE5, 0x10AE6}, {0x10D24, 0x10D27},
324-
{0x10D30, 0x10D39}, {0x10EAB, 0x10EAC}, {0x10EFD, 0x10EFF},
325-
{0x10F46, 0x10F50}, {0x10F82, 0x10F85}, {0x11000, 0x11002},
326-
{0x11038, 0x11046}, {0x11066, 0x11070}, {0x11073, 0x11074},
327-
{0x1107F, 0x11082}, {0x110B0, 0x110BA}, {0x110C2, 0x110C2},
328-
{0x110F0, 0x110F9}, {0x11100, 0x11102}, {0x11127, 0x11134},
329-
{0x11136, 0x1113F}, {0x11145, 0x11146}, {0x11173, 0x11173},
330-
{0x11180, 0x11182}, {0x111B3, 0x111C0}, {0x111C9, 0x111CC},
331-
{0x111CE, 0x111D9}, {0x1122C, 0x11237}, {0x1123E, 0x1123E},
332-
{0x11241, 0x11241}, {0x112DF, 0x112EA}, {0x112F0, 0x112F9},
333-
{0x11300, 0x11303}, {0x1133B, 0x1133C}, {0x1133E, 0x11344},
334-
{0x11347, 0x11348}, {0x1134B, 0x1134D}, {0x11357, 0x11357},
335-
{0x11362, 0x11363}, {0x11366, 0x1136C}, {0x11370, 0x11374},
336-
{0x11435, 0x11446}, {0x11450, 0x11459}, {0x1145E, 0x1145E},
337-
{0x114B0, 0x114C3}, {0x114D0, 0x114D9}, {0x115AF, 0x115B5},
338-
{0x115B8, 0x115C0}, {0x115DC, 0x115DD}, {0x11630, 0x11640},
339-
{0x11650, 0x11659}, {0x116AB, 0x116B7}, {0x116C0, 0x116C9},
340-
{0x1171D, 0x1172B}, {0x11730, 0x11739}, {0x1182C, 0x1183A},
341-
{0x118E0, 0x118E9}, {0x11930, 0x11935}, {0x11937, 0x11938},
342-
{0x1193B, 0x1193E}, {0x11940, 0x11940}, {0x11942, 0x11943},
343-
{0x11950, 0x11959}, {0x119D1, 0x119D7}, {0x119DA, 0x119E0},
344-
{0x119E4, 0x119E4}, {0x11A01, 0x11A0A}, {0x11A33, 0x11A39},
345-
{0x11A3B, 0x11A3E}, {0x11A47, 0x11A47}, {0x11A51, 0x11A5B},
346-
{0x11A8A, 0x11A99}, {0x11C2F, 0x11C36}, {0x11C38, 0x11C3F},
347-
{0x11C50, 0x11C59}, {0x11C92, 0x11CA7}, {0x11CA9, 0x11CB6},
348-
{0x11D31, 0x11D36}, {0x11D3A, 0x11D3A}, {0x11D3C, 0x11D3D},
349-
{0x11D3F, 0x11D45}, {0x11D47, 0x11D47}, {0x11D50, 0x11D59},
350-
{0x11D8A, 0x11D8E}, {0x11D90, 0x11D91}, {0x11D93, 0x11D97},
351-
{0x11DA0, 0x11DA9}, {0x11EF3, 0x11EF6}, {0x11F00, 0x11F01},
352-
{0x11F03, 0x11F03}, {0x11F34, 0x11F3A}, {0x11F3E, 0x11F42},
353-
{0x11F50, 0x11F59}, {0x13440, 0x13440}, {0x13447, 0x13455},
354-
{0x16A60, 0x16A69}, {0x16AC0, 0x16AC9}, {0x16AF0, 0x16AF4},
355-
{0x16B30, 0x16B36}, {0x16B50, 0x16B59}, {0x16F4F, 0x16F4F},
356-
{0x16F51, 0x16F87}, {0x16F8F, 0x16F92}, {0x16FE4, 0x16FE4},
357-
{0x16FF0, 0x16FF1}, {0x1BC9D, 0x1BC9E}, {0x1CF00, 0x1CF2D},
358-
{0x1CF30, 0x1CF46}, {0x1D165, 0x1D169}, {0x1D16D, 0x1D172},
359-
{0x1D17B, 0x1D182}, {0x1D185, 0x1D18B}, {0x1D1AA, 0x1D1AD},
360-
{0x1D242, 0x1D244}, {0x1D7CE, 0x1D7FF}, {0x1DA00, 0x1DA36},
361-
{0x1DA3B, 0x1DA6C}, {0x1DA75, 0x1DA75}, {0x1DA84, 0x1DA84},
362-
{0x1DA9B, 0x1DA9F}, {0x1DAA1, 0x1DAAF}, {0x1E000, 0x1E006},
363-
{0x1E008, 0x1E018}, {0x1E01B, 0x1E021}, {0x1E023, 0x1E024},
364-
{0x1E026, 0x1E02A}, {0x1E08F, 0x1E08F}, {0x1E130, 0x1E136},
365-
{0x1E140, 0x1E149}, {0x1E2AE, 0x1E2AE}, {0x1E2EC, 0x1E2F9},
366-
{0x1E4EC, 0x1E4F9}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A},
367-
{0x1E950, 0x1E959}, {0x1FBF0, 0x1FBF9}, {0xE0100, 0xE01EF}};
306+
{0x3099, 0x309A}, {0x30FB, 0x30FB}, {0xA620, 0xA629},
307+
{0xA66F, 0xA66F}, {0xA674, 0xA67D}, {0xA69E, 0xA69F},
308+
{0xA6F0, 0xA6F1}, {0xA802, 0xA802}, {0xA806, 0xA806},
309+
{0xA80B, 0xA80B}, {0xA823, 0xA827}, {0xA82C, 0xA82C},
310+
{0xA880, 0xA881}, {0xA8B4, 0xA8C5}, {0xA8D0, 0xA8D9},
311+
{0xA8E0, 0xA8F1}, {0xA8FF, 0xA909}, {0xA926, 0xA92D},
312+
{0xA947, 0xA953}, {0xA980, 0xA983}, {0xA9B3, 0xA9C0},
313+
{0xA9D0, 0xA9D9}, {0xA9E5, 0xA9E5}, {0xA9F0, 0xA9F9},
314+
{0xAA29, 0xAA36}, {0xAA43, 0xAA43}, {0xAA4C, 0xAA4D},
315+
{0xAA50, 0xAA59}, {0xAA7B, 0xAA7D}, {0xAAB0, 0xAAB0},
316+
{0xAAB2, 0xAAB4}, {0xAAB7, 0xAAB8}, {0xAABE, 0xAABF},
317+
{0xAAC1, 0xAAC1}, {0xAAEB, 0xAAEF}, {0xAAF5, 0xAAF6},
318+
{0xABE3, 0xABEA}, {0xABEC, 0xABED}, {0xABF0, 0xABF9},
319+
{0xFB1E, 0xFB1E}, {0xFE00, 0xFE0F}, {0xFE20, 0xFE2F},
320+
{0xFE33, 0xFE34}, {0xFE4D, 0xFE4F}, {0xFF10, 0xFF19},
321+
{0xFF3F, 0xFF3F}, {0xFF65, 0xFF65}, {0xFF9E, 0xFF9F},
322+
{0x101FD, 0x101FD}, {0x102E0, 0x102E0}, {0x10376, 0x1037A},
323+
{0x104A0, 0x104A9}, {0x10A01, 0x10A03}, {0x10A05, 0x10A06},
324+
{0x10A0C, 0x10A0F}, {0x10A38, 0x10A3A}, {0x10A3F, 0x10A3F},
325+
{0x10AE5, 0x10AE6}, {0x10D24, 0x10D27}, {0x10D30, 0x10D39},
326+
{0x10EAB, 0x10EAC}, {0x10EFD, 0x10EFF}, {0x10F46, 0x10F50},
327+
{0x10F82, 0x10F85}, {0x11000, 0x11002}, {0x11038, 0x11046},
328+
{0x11066, 0x11070}, {0x11073, 0x11074}, {0x1107F, 0x11082},
329+
{0x110B0, 0x110BA}, {0x110C2, 0x110C2}, {0x110F0, 0x110F9},
330+
{0x11100, 0x11102}, {0x11127, 0x11134}, {0x11136, 0x1113F},
331+
{0x11145, 0x11146}, {0x11173, 0x11173}, {0x11180, 0x11182},
332+
{0x111B3, 0x111C0}, {0x111C9, 0x111CC}, {0x111CE, 0x111D9},
333+
{0x1122C, 0x11237}, {0x1123E, 0x1123E}, {0x11241, 0x11241},
334+
{0x112DF, 0x112EA}, {0x112F0, 0x112F9}, {0x11300, 0x11303},
335+
{0x1133B, 0x1133C}, {0x1133E, 0x11344}, {0x11347, 0x11348},
336+
{0x1134B, 0x1134D}, {0x11357, 0x11357}, {0x11362, 0x11363},
337+
{0x11366, 0x1136C}, {0x11370, 0x11374}, {0x11435, 0x11446},
338+
{0x11450, 0x11459}, {0x1145E, 0x1145E}, {0x114B0, 0x114C3},
339+
{0x114D0, 0x114D9}, {0x115AF, 0x115B5}, {0x115B8, 0x115C0},
340+
{0x115DC, 0x115DD}, {0x11630, 0x11640}, {0x11650, 0x11659},
341+
{0x116AB, 0x116B7}, {0x116C0, 0x116C9}, {0x1171D, 0x1172B},
342+
{0x11730, 0x11739}, {0x1182C, 0x1183A}, {0x118E0, 0x118E9},
343+
{0x11930, 0x11935}, {0x11937, 0x11938}, {0x1193B, 0x1193E},
344+
{0x11940, 0x11940}, {0x11942, 0x11943}, {0x11950, 0x11959},
345+
{0x119D1, 0x119D7}, {0x119DA, 0x119E0}, {0x119E4, 0x119E4},
346+
{0x11A01, 0x11A0A}, {0x11A33, 0x11A39}, {0x11A3B, 0x11A3E},
347+
{0x11A47, 0x11A47}, {0x11A51, 0x11A5B}, {0x11A8A, 0x11A99},
348+
{0x11C2F, 0x11C36}, {0x11C38, 0x11C3F}, {0x11C50, 0x11C59},
349+
{0x11C92, 0x11CA7}, {0x11CA9, 0x11CB6}, {0x11D31, 0x11D36},
350+
{0x11D3A, 0x11D3A}, {0x11D3C, 0x11D3D}, {0x11D3F, 0x11D45},
351+
{0x11D47, 0x11D47}, {0x11D50, 0x11D59}, {0x11D8A, 0x11D8E},
352+
{0x11D90, 0x11D91}, {0x11D93, 0x11D97}, {0x11DA0, 0x11DA9},
353+
{0x11EF3, 0x11EF6}, {0x11F00, 0x11F01}, {0x11F03, 0x11F03},
354+
{0x11F34, 0x11F3A}, {0x11F3E, 0x11F42}, {0x11F50, 0x11F59},
355+
{0x13440, 0x13440}, {0x13447, 0x13455}, {0x16A60, 0x16A69},
356+
{0x16AC0, 0x16AC9}, {0x16AF0, 0x16AF4}, {0x16B30, 0x16B36},
357+
{0x16B50, 0x16B59}, {0x16F4F, 0x16F4F}, {0x16F51, 0x16F87},
358+
{0x16F8F, 0x16F92}, {0x16FE4, 0x16FE4}, {0x16FF0, 0x16FF1},
359+
{0x1BC9D, 0x1BC9E}, {0x1CF00, 0x1CF2D}, {0x1CF30, 0x1CF46},
360+
{0x1D165, 0x1D169}, {0x1D16D, 0x1D172}, {0x1D17B, 0x1D182},
361+
{0x1D185, 0x1D18B}, {0x1D1AA, 0x1D1AD}, {0x1D242, 0x1D244},
362+
{0x1D7CE, 0x1D7FF}, {0x1DA00, 0x1DA36}, {0x1DA3B, 0x1DA6C},
363+
{0x1DA75, 0x1DA75}, {0x1DA84, 0x1DA84}, {0x1DA9B, 0x1DA9F},
364+
{0x1DAA1, 0x1DAAF}, {0x1E000, 0x1E006}, {0x1E008, 0x1E018},
365+
{0x1E01B, 0x1E021}, {0x1E023, 0x1E024}, {0x1E026, 0x1E02A},
366+
{0x1E08F, 0x1E08F}, {0x1E130, 0x1E136}, {0x1E140, 0x1E149},
367+
{0x1E2AE, 0x1E2AE}, {0x1E2EC, 0x1E2F9}, {0x1E4EC, 0x1E4F9},
368+
{0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A}, {0x1E950, 0x1E959},
369+
{0x1FBF0, 0x1FBF9}, {0xE0100, 0xE01EF}};
368370

369371
// Clang supports the "Mathematical notation profile" as an extension,
370372
// as described in https://www.unicode.org/L2/L2022/22230-math-profile.pdf

clang/test/Lexer/unicode.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ extern int ༀ;
3838
extern int 𑩐;
3939
extern int 𐠈;
4040
extern int ;
41-
extern int \u1B4C; // BALINESE LETTER ARCHAIC JNYA - Added in Unicode 14
42-
extern int \U00016AA2; // TANGSA LETTER GA - Added in Unicode 14
43-
extern int \U0001E4D0; // 𞓐 NAG MUNDARI LETTER O - Added in Unicode 15
41+
extern int \u1B4C; // BALINESE LETTER ARCHAIC JNYA - Added in Unicode 14
42+
extern int \U00016AA2; // TANGSA LETTER GA - Added in Unicode 14
43+
extern int \U0001E4D0; // 𞓐 NAG MUNDARI LETTER O - Added in Unicode 15
44+
extern int \u{2EBF0}; // CJK UNIFIED IDEOGRAPH-2EBF0 - Added in Unicode 15.1
4445
extern int a\N{TANGSA LETTER GA};
4546
extern int a\N{TANGSALETTERGA}; // expected-error {{'TANGSALETTERGA' is not a valid Unicode character name}} \
4647
// expected-error {{expected ';' after top level declarator}} \

0 commit comments

Comments
 (0)