Open mrolle45 opened 1 month ago
@llvm/issue-subscribers-clang-frontend
Author: None (mrolle45)
The c++ standard requires an exact match, so the behavior your are seeing is conforming. We could presumably demote the error to a warning and make it a conforming extension
When compiling a C++ file with the C++23 standard, which introduces named universal characters, I will get some erroneous errors and warnings for some names which are actually valid names. The question is one of having lowercase letters in the name. This is legal, and the name is case-insensitive. For reference, https://en.wikipedia.org/wiki/Unicode_character_property and https://scripts.sil.org/cms/scripts/page.php?id=unicodenames&site_id=nrsi. For example:
This results in two messages:
clang should be sure to do a case-folded lookup on a given name. If the lookup fails, then the error message is appropriate, and a note about things like disallowed characters, leading or trailing or multiple spaces, multiple hyphens, etc which are actually present in the name would be appropriate. If these rules are violated, then the name lookup will fail, so you can do the lookup first.