aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
diff options
context:
space:
mode:
authoryronglin <yronglin777@gmail.com>2025-06-25 00:56:01 +0800
committerGitHub <noreply@github.com>2025-06-25 00:56:01 +0800
commit8b0d112478cec296517660c1c741b8e97aeaf684 (patch)
tree73485dd7875f5db02976698a93187697daad6c31 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
parent353f75410a19328c57a2c91969e239a1f3c33a02 (diff)
downloadllvm-8b0d112478cec296517660c1c741b8e97aeaf684.zip
llvm-8b0d112478cec296517660c1c741b8e97aeaf684.tar.gz
llvm-8b0d112478cec296517660c1c741b8e97aeaf684.tar.bz2
[Clang][Preprocessor] Expand UCNs in macro concatenation (#145351)
Fixs https://github.com/llvm/llvm-project/issues/145240. The UCN in preprocessor pasted identifier not resolved to unicode, it may cause the following issue: ```c #define CAT(a,b) a##b char foo\u00b5; char*p = &CAT(foo, \u00b5); // error: use of undeclared identifier 'foo\u00b5' ``` The real identifier after paste is `fooµ`. This PR fix this issue in `TokenLexer::pasteTokens`, if there has any UCN in pasting tokens, the final pasted token should have a Token::HasUCN flag. Then `Preprocessor::LookUpIdentifierInfo` will expand UCNs in this token. Signed-off-by: yronglin <yronglin777@gmail.com>
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions