[libc-commits] [libc] [libc] remove BlockStore from cpp namespace (PR #85312)
Nick Desaulniers via libc-commits
libc-commits at lists.llvm.org
Fri Mar 15 08:33:37 PDT 2024
https://github.com/nickdesaulniers updated https://github.com/llvm/llvm-project/pull/85312
>From 56491cc4925617d133c09e2167400d85f1366d40 Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Thu, 14 Mar 2024 14:20:06 -0700
Subject: [PATCH 1/2] [libc] remove BlockStore from cpp namespace
The cpp namespace should only be used to mirror APIs from C++'s std:: namespace
(at least until we share more code with libc++, see
https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701)
---
libc/src/__support/blockstore.h | 2 --
libc/src/stdlib/atexit.cpp | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/libc/src/__support/blockstore.h b/libc/src/__support/blockstore.h
index dc5fdd1b92fc29..ac0eb22692b40c 100644
--- a/libc/src/__support/blockstore.h
+++ b/libc/src/__support/blockstore.h
@@ -16,7 +16,6 @@
#include <stdint.h>
namespace LIBC_NAMESPACE {
-namespace cpp {
// The difference between BlockStore a traditional vector types is that,
// when more capacity is desired, a new block is added instead of allocating
@@ -203,7 +202,6 @@ void BlockStore<T, BLOCK_SIZE, REVERSE_ORDER>::destroy(
template <typename T, size_t BLOCK_SIZE>
using ReverseOrderBlockStore = BlockStore<T, BLOCK_SIZE, true>;
-} // namespace cpp
} // namespace LIBC_NAMESPACE
#endif // LLVM_LIBC_SRC___SUPPORT_BLOCKSTORE_H
diff --git a/libc/src/stdlib/atexit.cpp b/libc/src/stdlib/atexit.cpp
index 1513b7969f0dbc..741ea4f25103ac 100644
--- a/libc/src/stdlib/atexit.cpp
+++ b/libc/src/stdlib/atexit.cpp
@@ -36,7 +36,7 @@ struct AtExitUnit {
// mutexes simply passthrough. We will need a lock free stack.
using ExitCallbackList = FixedVector<AtExitUnit, 64>;
#elif defined(LIBC_COPT_PUBLIC_PACKAGING)
-using ExitCallbackList = cpp::ReverseOrderBlockStore<AtExitUnit, 32>;
+using ExitCallbackList = ReverseOrderBlockStore<AtExitUnit, 32>;
#else
// BlockStore uses dynamic memory allocation. To avoid dynamic memory
// allocation in tests, we use a fixed size callback list when built for
>From e71e7607bb4b04e7a2a5c7e0561443e8066b447c Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers at google.com>
Date: Fri, 15 Mar 2024 08:33:23 -0700
Subject: [PATCH 2/2] fix libc-support-tests
---
libc/test/src/__support/blockstore_test.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libc/test/src/__support/blockstore_test.cpp b/libc/test/src/__support/blockstore_test.cpp
index f62857275fe4c9..5fe8fef1b6edcc 100644
--- a/libc/test/src/__support/blockstore_test.cpp
+++ b/libc/test/src/__support/blockstore_test.cpp
@@ -19,7 +19,7 @@ class LlvmLibcBlockStoreTest : public LIBC_NAMESPACE::testing::Test {
public:
template <size_t BLOCK_SIZE, size_t ELEMENT_COUNT, bool REVERSE>
void populate_and_iterate() {
- LIBC_NAMESPACE::cpp::BlockStore<Element, BLOCK_SIZE, REVERSE> block_store;
+ LIBC_NAMESPACE::BlockStore<Element, BLOCK_SIZE, REVERSE> block_store;
for (int i = 0; i < int(ELEMENT_COUNT); ++i)
ASSERT_TRUE(block_store.push_back({i, 2 * i, 3 * unsigned(i)}));
auto end = block_store.end();
@@ -38,12 +38,12 @@ class LlvmLibcBlockStoreTest : public LIBC_NAMESPACE::testing::Test {
}
}
ASSERT_EQ(i, int(ELEMENT_COUNT));
- LIBC_NAMESPACE::cpp::BlockStore<Element, BLOCK_SIZE, REVERSE>::destroy(
+ LIBC_NAMESPACE::BlockStore<Element, BLOCK_SIZE, REVERSE>::destroy(
&block_store);
}
template <bool REVERSE> void back_test() {
- using LIBC_NAMESPACE::cpp::BlockStore;
+ using LIBC_NAMESPACE::BlockStore;
BlockStore<int, 4, REVERSE> block_store;
for (int i = 0; i < 20; i++)
ASSERT_TRUE(block_store.push_back(i));
@@ -53,7 +53,7 @@ class LlvmLibcBlockStoreTest : public LIBC_NAMESPACE::testing::Test {
}
template <bool REVERSE> void empty_test() {
- using LIBC_NAMESPACE::cpp::BlockStore;
+ using LIBC_NAMESPACE::BlockStore;
BlockStore<int, 2, REVERSE> block_store;
ASSERT_TRUE(block_store.empty());
More information about the libc-commits
mailing list