[clang] Fix handling of asm string literals (PR #169803)
Corentin Jabot via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 13 06:41:57 PDT 2026
https://github.com/cor3ntin requested changes to this pull request.
We need to be very careful here.
You are introducing a new encoding during translation (ie a target encoding different from execution encoding)
You need to give a much better rationale for that.
I'm not sure there is a good way to make your test cases work.
Presumably the actual encoding you would want is a linker encoding - but we do not expose that, and I'm not sure how we would get that information.
It would be logical to me that asm statements use unevaluated strings which are - at some point in sema converted to that linker encoding - which need not be the target default encoding.
But we also added constexpr string evaluation for asm statements and that will produce string in the literal encoding - these might also need to be converted (back to utf-8) and then maybe to something else.
Did you look at what GCC is doing?
https://github.com/llvm/llvm-project/pull/169803
More information about the cfe-commits
mailing list