https://github.com/abhina-sree created 
https://github.com/llvm/llvm-project/pull/207258

This patch is to fix the test regressions seen here 
https://lab.llvm.org/buildbot/#/builders/55/builds/29895/steps/11/logs/stdio

```
********************
Testing:  0..
FAIL: Clang :: CodeGen/systemz-charset.c (9847 of 100115)
******************** TEST 'Clang :: CodeGen/systemz-charset.c' FAILED 
********************
Exit Code: -6
Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang
 -cc1 -internal-isystem 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/23/include
 -nostdsysteminc 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/CodeGen/systemz-charset.c
 -emit-llvm -triple s390x-none-zos -fexec-charset IBM-1047 -o - | 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck
 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/CodeGen/systemz-charset.c
# executed command: 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang
 -cc1 -internal-isystem 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/23/include
 -nostdsysteminc 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/CodeGen/systemz-charset.c
 -emit-llvm -triple s390x-none-zos -fexec-charset IBM-1047 -o -
# .---command stderr------------
# | 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/CodeGen/systemz-charset.c:24:30:
 warning: unknown escape sequence '\y' [-Wunknown-escape-sequence]
# |    24 | const char *InvalidEscape = "\y\z";
# |       |                              ^~
# | 
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/CodeGen/systemz-charset.c:24:32:
 warning: unknown escape sequence '\z' [-Wunknown-escape-sequence]
# |    24 | const char *InvalidEscape = "\y\z";
# |       |                                ^~
# | 2 warnings generated.
# | libc++abi: Pure virtual function called!
# `-----------------------------
```

>From 8ec27df705d0670c3e27864839f4f72b4f9f9ec7 Mon Sep 17 00:00:00 2001
From: Abhina Sreeskantharajan <[email protected]>
Date: Thu, 2 Jul 2026 15:09:03 -0400
Subject: [PATCH] use unique ptr to fix sanitizer failures

---
 clang/include/clang/Lex/TextEncoding.h | 2 +-
 clang/lib/Lex/TextEncoding.cpp         | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/clang/include/clang/Lex/TextEncoding.h 
b/clang/include/clang/Lex/TextEncoding.h
index c892d1fadbc38..e8f3094233751 100644
--- a/clang/include/clang/Lex/TextEncoding.h
+++ b/clang/include/clang/Lex/TextEncoding.h
@@ -17,7 +17,7 @@ enum ConversionAction { CA_NoConversion, CA_ToLiteralEncoding 
};
 
 class TextEncoding {
   llvm::StringRef LiteralEncoding;
-  llvm::TextEncodingConverter *ToLiteralEncodingConverter = nullptr;
+  std::unique_ptr<llvm::TextEncodingConverter> ToLiteralEncodingConverter;
 
 public:
   llvm::TextEncodingConverter *getConverter(ConversionAction Action) const;
diff --git a/clang/lib/Lex/TextEncoding.cpp b/clang/lib/Lex/TextEncoding.cpp
index c90ef155f1bd6..5cb062ab87f8f 100644
--- a/clang/lib/Lex/TextEncoding.cpp
+++ b/clang/lib/Lex/TextEncoding.cpp
@@ -13,7 +13,7 @@ llvm::TextEncodingConverter *
 TextEncoding::getConverter(ConversionAction Action) const {
   switch (Action) {
   case CA_ToLiteralEncoding:
-    return ToLiteralEncodingConverter;
+    return ToLiteralEncodingConverter.get();
   default:
     return nullptr;
   }
@@ -36,7 +36,7 @@ TextEncoding::setConvertersFromOptions(TextEncoding &TE,
       llvm::TextEncodingConverter::create(UTF8, TE.LiteralEncoding);
   if (ErrorOrConverter)
     TE.ToLiteralEncodingConverter =
-        new TextEncodingConverter(std::move(*ErrorOrConverter));
+        std::make_unique<TextEncodingConverter>(std::move(*ErrorOrConverter));
   else
     return ErrorOrConverter.getError();
   return std::error_code();

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to