[llvm-branch-commits] [compiler-rt] release/21.x: [scudo] Make Ptr volatile so that the malloc and free calls are not optimized out (#149944) (PR #151201)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jul 29 10:53:00 PDT 2025
https://github.com/llvmbot created https://github.com/llvm/llvm-project/pull/151201
Backport fcdcc4ea7ac960c79246b3bd428f14ea350e63e2
Requested by: @mgorny
>From 402baf292c61c3a8f2916ac6abc4b3b93597c640 Mon Sep 17 00:00:00 2001
From: Fabio D'Urso <fdurso at google.com>
Date: Tue, 22 Jul 2025 03:31:35 +0200
Subject: [PATCH] [scudo] Make Ptr volatile so that the malloc and free calls
are not optimized out (#149944)
This fixes the test failure seen in the discussion about
https://github.com/llvm/llvm-project/pull/148066.
(cherry picked from commit fcdcc4ea7ac960c79246b3bd428f14ea350e63e2)
---
compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp b/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
index 05065444a70c5..612317b3c3293 100644
--- a/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
+++ b/compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
@@ -183,7 +183,8 @@ TEST_F(ScudoWrappersCDeathTest, Malloc) {
// process doing free(P) is not a double free.
EXPECT_DEATH(
{
- void *Ptr = malloc(Size);
+ // Note: volatile here prevents the calls from being optimized out.
+ void *volatile Ptr = malloc(Size);
free(Ptr);
free(Ptr);
},
More information about the llvm-branch-commits
mailing list