[compiler-rt] [gwp_asan] Use anonymous namespace for test helper code (PR #157205)

Roland McGrath via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 5 16:56:48 PDT 2025


https://github.com/frobtech created https://github.com/llvm/llvm-project/pull/157205

Tests can be at top-level or inside an anonymous namespace,
doesn't matter.  But putting their helper code inside anonymous
namespaces both makes the code compatible with compiling using
-Wmissing-declarations and might let the compiler optimize the
test good a bit better.


>From d23255ca52797ef097212a2a6a5f2c74b125ceb7 Mon Sep 17 00:00:00 2001
From: Roland McGrath <mcgrathr at google.com>
Date: Fri, 5 Sep 2025 16:55:52 -0700
Subject: [PATCH] [gwp_asan] Use anonymous namespace for test helper code

Tests can be at top-level or inside an anonymous namespace,
doesn't matter.  But putting their helper code inside anonymous
namespaces both makes the code compatible with compiling using
-Wmissing-declarations and might let the compiler optimize the
test good a bit better.
---
 compiler-rt/lib/gwp_asan/tests/compression.cpp       | 3 +++
 compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp        | 6 +++++-
 compiler-rt/lib/gwp_asan/tests/thread_contention.cpp | 4 ++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/compiler-rt/lib/gwp_asan/tests/compression.cpp b/compiler-rt/lib/gwp_asan/tests/compression.cpp
index 2423c866a531d..91b09770836a1 100644
--- a/compiler-rt/lib/gwp_asan/tests/compression.cpp
+++ b/compiler-rt/lib/gwp_asan/tests/compression.cpp
@@ -11,6 +11,7 @@
 
 namespace gwp_asan {
 namespace compression {
+namespace {
 
 TEST(GwpAsanCompressionTest, SingleByteVarInt) {
   uint8_t Compressed[1];
@@ -263,5 +264,7 @@ TEST(GwpAsanCompressionTest, CompressPartiallySucceedsWithTooSmallBuffer) {
   EXPECT_EQ(pack(Uncompressed, 3u, Compressed, 6u), 5u);
   EXPECT_EQ(pack(Uncompressed, 3u, Compressed, 3 * kBytesForLargestVarInt), 5u);
 }
+
+} // namespace
 } // namespace compression
 } // namespace gwp_asan
diff --git a/compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp b/compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp
index f2a77b094a899..010d29a233820 100644
--- a/compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp
+++ b/compiler-rt/lib/gwp_asan/tests/slot_reuse.cpp
@@ -6,9 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include <set>
+
 #include "gwp_asan/tests/harness.h"
 
-#include <set>
+namespace {
 
 void singleByteGoodAllocDealloc(gwp_asan::GuardedPoolAllocator *GPA) {
   void *Ptr = GPA->allocate(1);
@@ -72,3 +74,5 @@ TEST_F(CustomGuardedPoolAllocator, NoReuseBeforeNecessary129) {
   InitNumSlots(kPoolSize);
   runNoReuseBeforeNecessary(&GPA, kPoolSize);
 }
+
+} // namespace
diff --git a/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp b/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
index 26ccd8e605066..311d0c0666b34 100644
--- a/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
+++ b/compiler-rt/lib/gwp_asan/tests/thread_contention.cpp
@@ -15,6 +15,8 @@
 #include <thread>
 #include <vector>
 
+namespace {
+
 void asyncTask(gwp_asan::GuardedPoolAllocator *GPA,
                std::atomic<bool> *StartingGun, unsigned NumIterations) {
   while (!*StartingGun) {
@@ -63,3 +65,5 @@ TEST_F(CustomGuardedPoolAllocator, ThreadContention) {
   InitNumSlots(NumThreads);
   runThreadContentionTest(NumThreads, NumIterations, &GPA);
 }
+
+} // namespace



More information about the llvm-commits mailing list