-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration #98597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-backend-amdgpu @llvm/pr-subscribers-libc Author: Petr Hosek (petrhosek) ChangesThis is a part of #97655. Patch is 1.51 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/98597.diff 2327 Files Affected:
diff --git a/libc/benchmarks/LibcDefaultImplementations.cpp b/libc/benchmarks/LibcDefaultImplementations.cpp
index c50ae00ffa105..1ff940afcc44f 100644
--- a/libc/benchmarks/LibcDefaultImplementations.cpp
+++ b/libc/benchmarks/LibcDefaultImplementations.cpp
@@ -1,8 +1,9 @@
#include "LibcFunctionPrototypes.h"
+#include "src/__support/macros/config.h"
#include "llvm/ADT/ArrayRef.h"
#include <cstddef>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
extern void *memcpy(void *__restrict, const void *__restrict, size_t);
extern void *memmove(void *, const void *, size_t);
@@ -11,7 +12,7 @@ extern void bzero(void *, size_t);
extern int memcmp(const void *, const void *, size_t);
extern int bcmp(const void *, const void *, size_t);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
// List of implementations to test.
diff --git a/libc/benchmarks/LibcMemoryBenchmarkMain.cpp b/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
index bc6fd8b38cb6d..c042b29cad98e 100644
--- a/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
+++ b/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
@@ -10,6 +10,7 @@
#include "LibcBenchmark.h"
#include "LibcMemoryBenchmark.h"
#include "MemorySizeDistributions.h"
+#include "src/__support/macros/config.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
@@ -21,7 +22,7 @@
#include <cstring>
#include <unistd.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
extern void *memcpy(void *__restrict, const void *__restrict, size_t);
extern void *memmove(void *, const void *, size_t);
@@ -30,7 +31,7 @@ extern void bzero(void *, size_t);
extern int memcmp(const void *, const void *, size_t);
extern int bcmp(const void *, const void *, size_t);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
namespace llvm {
namespace libc_benchmarks {
diff --git a/libc/benchmarks/automemcpy/lib/CodeGen.cpp b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
index 3837bd97d9f9a..d1336eaf31f34 100644
--- a/libc/benchmarks/automemcpy/lib/CodeGen.cpp
+++ b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
@@ -36,6 +36,7 @@
// function at the end of the file.
#include "automemcpy/CodeGen.h"
+#include "src/__support/macros/config.h"
#include <cassert>
#include <llvm/ADT/STLExtras.h>
#include <llvm/ADT/StringSet.h>
@@ -542,11 +543,11 @@ static void Serialize(raw_ostream &Stream,
Stream << "using llvm::libc_benchmarks::MemmoveConfiguration;\n";
Stream << "using llvm::libc_benchmarks::MemsetConfiguration;\n";
Stream << "\n";
- Stream << "namespace LIBC_NAMESPACE {\n";
+ Stream << "namespace LIBC_NAMESPACE_DECL {\n";
Stream << "\n";
codegen::functions::Serialize(Stream, Descriptors);
Stream << "\n";
- Stream << "} // namespace LIBC_NAMESPACE\n";
+ Stream << "} // namespace LIBC_NAMESPACE_DECL\n";
Stream << "\n";
Stream << "namespace llvm {\n";
Stream << "namespace automemcpy {\n";
diff --git a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
index 5084b1d67dcd5..17bc189fa3f12 100644
--- a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
+++ b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
@@ -8,6 +8,7 @@
#include "automemcpy/CodeGen.h"
#include "automemcpy/RandomFunctionGenerator.h"
+#include "src/__support/macros/config.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <optional>
@@ -63,7 +64,7 @@ using llvm::libc_benchmarks::MemcpyConfiguration;
using llvm::libc_benchmarks::MemmoveConfiguration;
using llvm::libc_benchmarks::MemsetConfiguration;
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
static void memcpy_0xE00E29EE73994E2B(char *__restrict dst, const char *__restrict src, size_t size) {
using namespace LIBC_NAMESPACE::x86;
@@ -134,7 +135,7 @@ static void bzero_0x475977492C218AD4(char * dst, size_t size) {
return splat_set<Align<_32,Arg::Dst>::Then<Loop<_32>>>(dst, 0, size);
}
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
namespace llvm {
namespace automemcpy {
diff --git a/libc/benchmarks/gpu/BenchmarkLogger.cpp b/libc/benchmarks/gpu/BenchmarkLogger.cpp
index 2e7e8e7600fdb..0d644fa3c37bc 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.cpp
+++ b/libc/benchmarks/gpu/BenchmarkLogger.cpp
@@ -3,12 +3,13 @@
#include "src/__support/CPP/string_view.h"
#include "src/__support/OSUtil/io.h" // write_to_stderr
#include "src/__support/big_int.h" // is_big_int
+#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
#include "src/__support/uint128.h"
#include <stdint.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace benchmarks {
// cpp::string_view specialization
@@ -94,4 +95,4 @@ template BenchmarkLogger &BenchmarkLogger::operator<< <UInt<320>>(UInt<320>);
BenchmarkLogger log;
} // namespace benchmarks
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/benchmarks/gpu/BenchmarkLogger.h b/libc/benchmarks/gpu/BenchmarkLogger.h
index 332ff1439e6f5..2b22aba085f86 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.h
+++ b/libc/benchmarks/gpu/BenchmarkLogger.h
@@ -9,7 +9,9 @@
#ifndef LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
#define LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
-namespace LIBC_NAMESPACE {
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
namespace benchmarks {
// A class to log to standard output in the context of hermetic tests.
@@ -22,6 +24,6 @@ struct BenchmarkLogger {
extern BenchmarkLogger log;
} // namespace benchmarks
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif /* LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H */
diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
index 3dd83cef6d4df..1c1ba7639d0b1 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
@@ -5,9 +5,10 @@
#include "src/__support/FPUtil/sqrt.h"
#include "src/__support/GPU/utils.h"
#include "src/__support/fixedvector.h"
+#include "src/__support/macros/config.h"
#include "src/time/gpu/time_utils.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace benchmarks {
FixedVector<Benchmark *, 64> benchmarks;
@@ -135,4 +136,4 @@ BenchmarkResult benchmark(const BenchmarkOptions &options,
};
} // namespace benchmarks
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.h b/libc/benchmarks/gpu/LibcGpuBenchmark.h
index ffc858911b1c0..26cb0fd30bc1c 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.h
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.h
@@ -6,11 +6,12 @@
#include "src/__support/CPP/functional.h"
#include "src/__support/CPP/limits.h"
#include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
#include "src/time/clock.h"
#include <stdint.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace benchmarks {
@@ -99,7 +100,7 @@ class Benchmark {
const cpp::string_view get_name() const { return name; }
};
} // namespace benchmarks
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#define BENCHMARK(SuiteName, TestName, Func) \
LIBC_NAMESPACE::benchmarks::Benchmark SuiteName##_##TestName##_Instance( \
diff --git a/libc/benchmarks/gpu/timing/amdgpu/timing.h b/libc/benchmarks/gpu/timing/amdgpu/timing.h
index 1eecb2acd2136..9b40f9282b16b 100644
--- a/libc/benchmarks/gpu/timing/amdgpu/timing.h
+++ b/libc/benchmarks/gpu/timing/amdgpu/timing.h
@@ -25,7 +25,7 @@
else \
asm("" ::"v"(VARIABLE))
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
// Returns the overhead associated with calling the profiling region. This
// allows us to substract the constant-time overhead from the latency to
@@ -107,6 +107,6 @@ template <typename F, typename T1, typename T2>
return stop - start;
}
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_UTILS_GPU_TIMING_AMDGPU
diff --git a/libc/benchmarks/gpu/timing/nvptx/timing.h b/libc/benchmarks/gpu/timing/nvptx/timing.h
index d3851a764c43d..d141b08d4c922 100644
--- a/libc/benchmarks/gpu/timing/nvptx/timing.h
+++ b/libc/benchmarks/gpu/timing/nvptx/timing.h
@@ -16,7 +16,7 @@
#include <stdint.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
// Returns the overhead associated with calling the profiling region. This
// allows us to substract the constant-time overhead from the latency to
@@ -94,6 +94,6 @@ static LIBC_INLINE uint64_t latency(F f, T1 t1, T2 t2) {
return stop - start;
}
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_UTILS_GPU_TIMING_NVPTX
diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake
index 1f80e7f4e57c1..0b092e94ca8a1 100644
--- a/libc/cmake/modules/LLVMLibCObjectRules.cmake
+++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake
@@ -93,11 +93,11 @@ function(create_object_library fq_target_name)
endif()
endif()
- if(fq_deps_list)
- add_dependencies(${fq_target_name} ${fq_deps_list})
- # Add deps as link libraries to inherit interface compile and link options.
- target_link_libraries(${fq_target_name} PUBLIC ${fq_deps_list})
- endif()
+ list(APPEND fq_deps_list libc.src.__support.macros.config)
+ list(REMOVE_DUPLICATES fq_deps_list)
+ add_dependencies(${fq_target_name} ${fq_deps_list})
+ # Add deps as link libraries to inherit interface compile and link options.
+ target_link_libraries(${fq_target_name} PUBLIC ${fq_deps_list})
set_target_properties(
${fq_target_name}
diff --git a/libc/config/linux/app.h b/libc/config/linux/app.h
index 2a3b1560817b8..188d34816454b 100644
--- a/libc/config/linux/app.h
+++ b/libc/config/linux/app.h
@@ -9,11 +9,12 @@
#ifndef LLVM_LIBC_CONFIG_LINUX_APP_H
#define LLVM_LIBC_CONFIG_LINUX_APP_H
+#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/architectures.h"
#include <stdint.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
// Data structure to capture properties of the linux/ELF TLS image.
struct TLSImage {
@@ -104,6 +105,6 @@ void cleanup_tls(uintptr_t tls_addr, uintptr_t tls_size);
// Set the thread pointer for the current thread.
bool set_thread_ptr(uintptr_t val);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_CONFIG_LINUX_APP_H
diff --git a/libc/docs/dev/clang_tidy_checks.rst b/libc/docs/dev/clang_tidy_checks.rst
index 198d8f16d1cd7..91d415a2e0d47 100644
--- a/libc/docs/dev/clang_tidy_checks.rst
+++ b/libc/docs/dev/clang_tidy_checks.rst
@@ -36,17 +36,17 @@ implementation-in-namespace
---------------------------
It is part of our implementation standards that all implementation pieces live
-under the ``LIBC_NAMESPACE`` namespace. This prevents pollution of the global
-namespace. Without a formal check to ensure this, an implementation might
-compile and pass unit tests, but not produce a usable libc function.
+under the ``LIBC_NAMESPACE_DECL`` namespace. This prevents pollution of the
+global namespace. Without a formal check to ensure this, an implementation
+might compile and pass unit tests, but not produce a usable libc function.
This check that ensures any function call resolves to a function within the
-``LIBC_NAMESPACE`` namespace.
+``LIBC_NAMESPACE_DECL`` namespace.
.. code-block:: c++
// Correct: implementation inside the correct namespace.
- namespace LIBC_NAMESPACE {
+ namespace LIBC_NAMESPACE_DECL {
void LLVM_LIBC_ENTRYPOINT(strcpy)(char *dest, const char *src) {}
// Namespaces within LIBC_NAMESPACE namespace are allowed.
namespace inner{
@@ -87,7 +87,7 @@ are always external and can be intercepted.
.. code-block:: c++
- namespace LIBC_NAMESPACE {
+ namespace LIBC_NAMESPACE_DECL {
// Allow calls with the fully qualified name.
LIBC_NAMESPACE::strlen("hello");
@@ -104,4 +104,4 @@ are always external and can be intercepted.
// Allow calling into specific global functions (explained above)
::malloc(10);
- } // namespace LIBC_NAMESPACE
+ } // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/fuzzing/__support/hashtable_fuzz.cpp b/libc/fuzzing/__support/hashtable_fuzz.cpp
index 07f1057714114..7d61e106c9c4a 100644
--- a/libc/fuzzing/__support/hashtable_fuzz.cpp
+++ b/libc/fuzzing/__support/hashtable_fuzz.cpp
@@ -12,8 +12,9 @@
#include "include/llvm-libc-types/ENTRY.h"
#include "src/__support/CPP/string_view.h"
#include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
// A fuzzing payload starts with
// - uint16_t: initial capacity for table A
@@ -179,4 +180,4 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
return 0;
}
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/CPP/algorithm.h b/libc/src/__support/CPP/algorithm.h
index 5120fa0daae17..f5dc9067409eb 100644
--- a/libc/src/__support/CPP/algorithm.h
+++ b/libc/src/__support/CPP/algorithm.h
@@ -13,8 +13,9 @@
#define LLVM_LIBC_SRC___SUPPORT_CPP_ALGORITHM_H
#include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace cpp {
template <class T> LIBC_INLINE constexpr const T &max(const T &a, const T &b) {
@@ -41,6 +42,6 @@ LIBC_INLINE constexpr bool all_of(InputIt first, InputIt last, UnaryPred p) {
}
} // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_ALGORITHM_H
diff --git a/libc/src/__support/CPP/array.h b/libc/src/__support/CPP/array.h
index 4e69ba003e800..db0a986b71205 100644
--- a/libc/src/__support/CPP/array.h
+++ b/libc/src/__support/CPP/array.h
@@ -11,9 +11,10 @@
#include "src/__support/CPP/iterator.h" // reverse_iterator
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include <stddef.h> // For size_t.
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace cpp {
template <class T, size_t N> struct array {
@@ -74,6 +75,6 @@ template <class T, size_t N> struct array {
};
} // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_ARRAY_H
diff --git a/libc/src/__support/CPP/atomic.h b/libc/src/__support/CPP/atomic.h
index e273d998c0702..72e7f2adde6a4 100644
--- a/libc/src/__support/CPP/atomic.h
+++ b/libc/src/__support/CPP/atomic.h
@@ -10,11 +10,12 @@
#define LLVM_LIBC_SRC___SUPPORT_CPP_ATOMIC_H
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include "src/__support/macros/properties/architectures.h"
#include "type_traits.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace cpp {
enum class MemoryOrder : int {
@@ -211,6 +212,6 @@ LIBC_INLINE void atomic_signal_fence([[maybe_unused]] MemoryOrder mem_ord) {
}
} // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_ATOMIC_H
diff --git a/libc/src/__support/CPP/bit.h b/libc/src/__support/CPP/bit.h
index 4aea066d26ab0..adcd0472747d0 100644
--- a/libc/src/__support/CPP/bit.h
+++ b/libc/src/__support/CPP/bit.h
@@ -14,11 +14,13 @@
#include "src/__support/CPP/limits.h" // numeric_limits
#include "src/__support/CPP/type_traits.h"
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include "src/__support/macros/sanitizer.h"
#include <stdint.h>
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
#if __has_builtin(__builtin_memcpy_inline)
#define LLVM_LIBC_HAS_BUILTIN_MEMCPY_INLINE
@@ -290,6 +292,7 @@ ADD_SPECIALIZATION(unsigned long long, __builtin_popcountll)
#endif // __builtin_popcountg
#undef ADD_SPECIALIZATION
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_BIT_H
diff --git a/libc/src/__support/CPP/bitset.h b/libc/src/__support/CPP/bitset.h
index 30a7fa796cb4b..db193f414abd2 100644
--- a/libc/src/__support/CPP/bitset.h
+++ b/libc/src/__support/CPP/bitset.h
@@ -10,9 +10,11 @@
#define LLVM_LIBC_SRC___SUPPORT_CPP_BITSET_H
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include <stddef.h> // For size_t.
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
template <size_t NumberOfBits> struct bitset {
static_assert(NumberOfBits != 0,
@@ -86,6 +88,7 @@ template <size_t NumberOfBits> struct bitset {
size_t Data[NUMBER_OF_UNITS] = {0};
};
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_BITSET_H
diff --git a/libc/src/__support/CPP/cstddef.h b/libc/src/__support/CPP/cstddef.h
index 1da51fd253fb5..ed6c9d03362f4 100644
--- a/libc/src/__support/CPP/cstddef.h
+++ b/libc/src/__support/CPP/cstddef.h
@@ -10,9 +10,11 @@
#define LLVM_LIBC_SRC___SUPPORT_CPP_CSTDDEF_H
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include "type_traits.h" // For enable_if_t, is_integral_v.
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
enum class byte : unsigned char {};
@@ -66,6 +68,7 @@ to_integer(byte b) noexcept {
return static_cast<IntegerType>(b);
}
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_CSTDDEF_H
diff --git a/libc/src/__support/CPP/expected.h b/libc/src/__support/CPP/expected.h
index c35f0a1dc5369..8a93091f0ebfb 100644
--- a/libc/src/__support/CPP/expected.h
+++ b/libc/src/__support/CPP/expected.h
@@ -10,8 +10,10 @@
#define LLVM_LIBC_SRC___SUPPORT_CPP_EXPECTED_H
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
// This is used to hold an unexpected value so that a different constructor is
// selected.
@@ -52,6 +54,7 @@ template <class T, class E> class expected {
LIBC_INLINE constexpr const T *operator->() const { return &exp; }
};
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_EXPECTED_H
diff --git a/libc/src/__support/CPP/functional.h b/libc/src/__support/CPP/functional.h
index 16283a264e657..50cfa256b6682 100644
--- a/libc/src/__support/CPP/functional.h
+++ b/libc/src/__support/CPP/functional.h
@@ -17,10 +17,11 @@
#include "src/__support/CPP/type_traits/remove_reference.h"
#include "src/__support/CPP/utility/forward.h"
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
#include <stdint.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace cpp {
/// A function type adapted from LLVM's function_ref.
@@ -65,6 +66,6 @@ template <typename Ret, typename... Params> class function<Ret(Params...)> {
};
} // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
#endif // LLVM_LIBC_SRC___SUPPORT_CPP_FUNCTIONAL_H
diff --git a/libc/src/__support/CPP/iterator.h b/libc/src/__support/CPP/iterator.h
index b0fd5c9f22ae0..168a269731822 100644
--- a/libc/src/__support/CPP/iterator.h
+++ b/libc/src/__support/CPP/iterator.h
@@ -13,8 +13,9 @@
#include "src/__support/CPP/type_traits/is_convertible.h"
#include "src/__support/CPP/type_traits/is_same.h"
#include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
namespace cpp {
template <typename T> struct iterator_traits;
@@ -93,6 +94,6 @@ template <typename Iter> class reverse_iterator {
};
} // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NA...
[truncated]
|
8131084
to
75e6d5b
Compare
I managed to reproduce the failure from https://lab.llvm.org/buildbot/#/builders/153/builds/2766/steps/6/logs/stdio and it should be addressed in this version. |
This was accidentally introduced in llvm#98597.
This was accidentally introduced in #98597.
This was accidentally introduced in llvm#98597.
This is a part of #97655.