[clang] [clang][bytecode] Disable preservenone attribute on clang19+asan (PR #189377)

via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 30 06:19:55 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Timm Baeder (tbaederr)

<details>
<summary>Changes</summary>

This better not break anything else.

---
Full diff: https://github.com/llvm/llvm-project/pull/189377.diff


1 Files Affected:

- (modified) clang/lib/AST/ByteCode/Interp.h (+3) 


``````````diff
diff --git a/clang/lib/AST/ByteCode/Interp.h b/clang/lib/AST/ByteCode/Interp.h
index 3578ef9da820b..2af697cfed389 100644
--- a/clang/lib/AST/ByteCode/Interp.h
+++ b/clang/lib/AST/ByteCode/Interp.h
@@ -38,7 +38,10 @@
 
 // preserve_none is supported on aarch64, but causes problems when asan is
 // enabled. See https://github.com/llvm/llvm-project/issues/177519.
+// preserve_none also causes problems on clang <= 19 if asan is enabled.
 #if !defined(__aarch64__) && !defined(__i386__) &&                             \
+    !(defined(__clang_major__) && __clang_major__ <= 19 &&                     \
+      __has_feature(address_sanitizer)) &&                                     \
     __has_cpp_attribute(clang::preserve_none)
 #define PRESERVE_NONE [[clang::preserve_none]]
 #else

``````````

</details>


https://github.com/llvm/llvm-project/pull/189377


More information about the cfe-commits mailing list