[Clang] Allow additional mathematical symbols in identifiers.
authorCorentin Jabot <corentinjabot@gmail.com>
Sun, 30 Oct 2022 22:20:00 +0000 (23:20 +0100)
committerCorentin Jabot <corentinjabot@gmail.com>
Fri, 16 Dec 2022 09:20:49 +0000 (10:20 +0100)
commit31f4859c3e4d261d4a45118bb77d453138a6f7a9
tree3bdeb755c799ee0e9014a37d4ba069140ea83a10
parent2c8e7b2257e52eb713f623a756bb0e351ff99ea9
[Clang] Allow additional mathematical symbols in identifiers.

Implement the proposed UAX Profile
"Mathematical notation profile for default identifiers".

This implements a not-yet approved Unicode for a vetted
UAX31 identifier profile
https://www.unicode.org/L2/L2022/22230-math-profile.pdf

This change mitigates the reported disruption caused
by the implementation of UAX31 in C++ and C2x,
as these mathematical symbols are commonly used in the
scientific community.

Fixes #54732

Reviewed By: tahonermann, #clang-language-wg

Differential Revision: https://reviews.llvm.org/D137051
clang/docs/ReleaseNotes.rst
clang/include/clang/Basic/DiagnosticLexKinds.td
clang/lib/Lex/Lexer.cpp
clang/lib/Lex/UnicodeCharSets.h
clang/test/Driver/autocomplete.c
clang/test/Lexer/unicode.c