[llvm-branch-commits] [clang] [llvm] Enable fexec-charset option (PR #138895)
Eli Friedman via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon May 19 16:58:49 PDT 2025
================
@@ -2191,6 +2243,16 @@ void StringLiteralParser::init(ArrayRef<Token> StringToks){
if (CopyStringFragment(StringToks[i], ThisTokBegin, BeforeCRLF))
hadError = true;
+ if (!hadError && Converter) {
+ assert(Kind != tok::wide_string_literal &&
+ "Wide character translation not supported");
+ SmallString<256> CpConv;
+ int ResultLength = BeforeCRLF.size() * CharByteWidth;
+ char *Cp = ResultPtr - ResultLength;
+ Converter->convert(StringRef(Cp, ResultLength), CpConv);
+ memcpy(Cp, CpConv.data(), ResultLength);
----------------
efriedma-quic wrote:
Can this overflow the buffer?
https://github.com/llvm/llvm-project/pull/138895
More information about the llvm-branch-commits
mailing list