[libc] [llvm] [libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (PR #98075)

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 11 10:56:19 PDT 2024


https://github.com/petrhosek updated https://github.com/llvm/llvm-project/pull/98075

>From 245d89d2fc872d5599ade2a1110269bc91a8059a Mon Sep 17 00:00:00 2001
From: Petr Hosek <phosek at google.com>
Date: Sun, 7 Jul 2024 13:38:07 -0700
Subject: [PATCH 1/3] [libc] Migrate to using LIBC_NAMESPACE_DECL for namespace
 declaration

This is a part of #97655.
---
 libc/benchmarks/LibcDefaultImplementations.cpp       |  4 ++--
 libc/benchmarks/LibcMemoryBenchmarkMain.cpp          |  4 ++--
 libc/benchmarks/automemcpy/lib/CodeGen.cpp           |  4 ++--
 libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp |  4 ++--
 libc/benchmarks/gpu/BenchmarkLogger.cpp              |  4 ++--
 libc/benchmarks/gpu/BenchmarkLogger.h                |  4 ++--
 libc/benchmarks/gpu/LibcGpuBenchmark.cpp             |  4 ++--
 libc/benchmarks/gpu/LibcGpuBenchmark.h               |  4 ++--
 libc/benchmarks/gpu/timing/nvptx/timing.h            |  4 ++--
 libc/config/linux/app.h                              |  4 ++--
 libc/fuzzing/__support/hashtable_fuzz.cpp            |  4 ++--
 libc/src/__support/CPP/algorithm.h                   |  4 ++--
 libc/src/__support/CPP/array.h                       |  4 ++--
 libc/src/__support/CPP/atomic.h                      |  4 ++--
 libc/src/__support/CPP/bit.h                         |  6 ++++--
 libc/src/__support/CPP/bitset.h                      |  6 ++++--
 libc/src/__support/CPP/cstddef.h                     |  6 ++++--
 libc/src/__support/CPP/expected.h                    |  6 ++++--
 libc/src/__support/CPP/functional.h                  |  4 ++--
 libc/src/__support/CPP/iterator.h                    |  4 ++--
 libc/src/__support/CPP/limits.h                      |  4 ++--
 libc/src/__support/CPP/mutex.h                       |  4 ++--
 libc/src/__support/CPP/new.h                         |  4 ++--
 libc/src/__support/CPP/optional.h                    |  4 ++--
 libc/src/__support/CPP/span.h                        |  6 ++++--
 libc/src/__support/CPP/string.h                      |  4 ++--
 libc/src/__support/CPP/string_view.h                 |  4 ++--
 libc/src/__support/CPP/stringstream.h                |  4 ++--
 .../__support/CPP/type_traits/add_lvalue_reference.h |  6 ++++--
 libc/src/__support/CPP/type_traits/add_pointer.h     |  6 ++++--
 .../__support/CPP/type_traits/add_rvalue_reference.h |  6 ++++--
 libc/src/__support/CPP/type_traits/aligned_storage.h |  6 ++++--
 libc/src/__support/CPP/type_traits/always_false.h    |  6 ++++--
 libc/src/__support/CPP/type_traits/bool_constant.h   |  6 ++++--
 libc/src/__support/CPP/type_traits/conditional.h     |  6 ++++--
 libc/src/__support/CPP/type_traits/decay.h           |  6 ++++--
 libc/src/__support/CPP/type_traits/enable_if.h       |  6 ++++--
 libc/src/__support/CPP/type_traits/false_type.h      |  6 ++++--
 .../__support/CPP/type_traits/integral_constant.h    |  6 ++++--
 libc/src/__support/CPP/type_traits/invoke.h          |  6 ++++--
 libc/src/__support/CPP/type_traits/invoke_result.h   |  6 ++++--
 libc/src/__support/CPP/type_traits/is_arithmetic.h   |  6 ++++--
 libc/src/__support/CPP/type_traits/is_array.h        |  6 ++++--
 libc/src/__support/CPP/type_traits/is_base_of.h      |  6 ++++--
 libc/src/__support/CPP/type_traits/is_class.h        |  6 ++++--
 libc/src/__support/CPP/type_traits/is_const.h        |  6 ++++--
 .../CPP/type_traits/is_constant_evaluated.h          |  6 ++++--
 libc/src/__support/CPP/type_traits/is_convertible.h  |  6 ++++--
 libc/src/__support/CPP/type_traits/is_destructible.h |  6 ++++--
 libc/src/__support/CPP/type_traits/is_enum.h         |  6 ++++--
 libc/src/__support/CPP/type_traits/is_fixed_point.h  |  6 ++++--
 .../__support/CPP/type_traits/is_floating_point.h    |  6 ++++--
 libc/src/__support/CPP/type_traits/is_function.h     |  6 ++++--
 libc/src/__support/CPP/type_traits/is_integral.h     |  6 ++++--
 .../__support/CPP/type_traits/is_lvalue_reference.h  |  6 ++++--
 .../__support/CPP/type_traits/is_member_pointer.h    |  6 ++++--
 libc/src/__support/CPP/type_traits/is_null_pointer.h |  6 ++++--
 libc/src/__support/CPP/type_traits/is_object.h       |  6 ++++--
 libc/src/__support/CPP/type_traits/is_pointer.h      |  6 ++++--
 libc/src/__support/CPP/type_traits/is_reference.h    |  6 ++++--
 .../__support/CPP/type_traits/is_rvalue_reference.h  |  6 ++++--
 libc/src/__support/CPP/type_traits/is_same.h         |  6 ++++--
 libc/src/__support/CPP/type_traits/is_scalar.h       |  6 ++++--
 libc/src/__support/CPP/type_traits/is_signed.h       |  6 ++++--
 .../CPP/type_traits/is_trivially_constructible.h     |  6 ++++--
 .../CPP/type_traits/is_trivially_copyable.h          |  6 ++++--
 .../CPP/type_traits/is_trivially_destructible.h      |  6 ++++--
 libc/src/__support/CPP/type_traits/is_union.h        |  6 ++++--
 libc/src/__support/CPP/type_traits/is_unsigned.h     |  6 ++++--
 libc/src/__support/CPP/type_traits/is_void.h         |  6 ++++--
 libc/src/__support/CPP/type_traits/make_signed.h     |  6 ++++--
 libc/src/__support/CPP/type_traits/make_unsigned.h   |  6 ++++--
 .../__support/CPP/type_traits/remove_all_extents.h   |  6 ++++--
 libc/src/__support/CPP/type_traits/remove_cv.h       |  6 ++++--
 libc/src/__support/CPP/type_traits/remove_cvref.h    |  6 ++++--
 libc/src/__support/CPP/type_traits/remove_extent.h   |  6 ++++--
 .../src/__support/CPP/type_traits/remove_reference.h |  6 ++++--
 libc/src/__support/CPP/type_traits/true_type.h       |  6 ++++--
 libc/src/__support/CPP/type_traits/type_identity.h   |  6 ++++--
 libc/src/__support/CPP/type_traits/void_t.h          |  6 ++++--
 libc/src/__support/CPP/utility/declval.h             |  6 ++++--
 libc/src/__support/CPP/utility/forward.h             |  6 ++++--
 libc/src/__support/CPP/utility/in_place.h            |  6 ++++--
 libc/src/__support/CPP/utility/integer_sequence.h    |  6 ++++--
 libc/src/__support/CPP/utility/move.h                |  6 ++++--
 libc/src/__support/FPUtil/BasicOperations.h          |  4 ++--
 .../FPUtil/DivisionAndRemainderOperations.h          |  4 ++--
 libc/src/__support/FPUtil/FEnvImpl.h                 | 12 ++++++++----
 libc/src/__support/FPUtil/FMA.h                      |  4 ++--
 libc/src/__support/FPUtil/FPBits.h                   |  4 ++--
 libc/src/__support/FPUtil/Hypot.h                    |  4 ++--
 libc/src/__support/FPUtil/ManipulationFunctions.h    |  4 ++--
 libc/src/__support/FPUtil/NearestIntegerOperations.h |  4 ++--
 libc/src/__support/FPUtil/NormalFloat.h              |  4 ++--
 libc/src/__support/FPUtil/PolyEval.h                 |  4 ++--
 libc/src/__support/FPUtil/aarch64/FEnvImpl.h         |  4 ++--
 libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h |  4 ++--
 libc/src/__support/FPUtil/aarch64/nearest_integer.h  |  4 ++--
 libc/src/__support/FPUtil/aarch64/sqrt.h             |  4 ++--
 libc/src/__support/FPUtil/arm/FEnvImpl.h             |  4 ++--
 libc/src/__support/FPUtil/double_double.h            |  6 ++++--
 libc/src/__support/FPUtil/dyadic_float.h             |  6 ++++--
 libc/src/__support/FPUtil/except_value_utils.h       |  4 ++--
 libc/src/__support/FPUtil/fpbits_str.h               |  4 ++--
 libc/src/__support/FPUtil/generic/FMA.h              |  4 ++--
 libc/src/__support/FPUtil/generic/FMod.h             |  4 ++--
 libc/src/__support/FPUtil/generic/README.md          |  4 ++--
 libc/src/__support/FPUtil/generic/add_sub.h          |  6 ++++--
 libc/src/__support/FPUtil/generic/div.h              |  6 ++++--
 libc/src/__support/FPUtil/generic/sqrt.h             |  4 ++--
 .../FPUtil/generic/sqrt_80_bit_long_double.h         |  4 ++--
 libc/src/__support/FPUtil/multiply_add.h             |  8 ++++----
 libc/src/__support/FPUtil/nearest_integer.h          |  4 ++--
 libc/src/__support/FPUtil/riscv/FEnvImpl.h           |  4 ++--
 libc/src/__support/FPUtil/riscv/sqrt.h               |  4 ++--
 libc/src/__support/FPUtil/rounding_mode.h            |  6 ++++--
 libc/src/__support/FPUtil/triple_double.h            |  6 ++++--
 libc/src/__support/FPUtil/x86_64/FEnvImpl.h          |  4 ++--
 .../__support/FPUtil/x86_64/NextAfterLongDouble.h    |  4 ++--
 .../__support/FPUtil/x86_64/NextUpDownLongDouble.h   |  6 ++++--
 libc/src/__support/FPUtil/x86_64/nearest_integer.h   |  4 ++--
 libc/src/__support/FPUtil/x86_64/sqrt.h              |  4 ++--
 libc/src/__support/File/dir.cpp                      |  4 ++--
 libc/src/__support/File/dir.h                        |  4 ++--
 libc/src/__support/File/file.cpp                     |  4 ++--
 libc/src/__support/File/file.h                       |  4 ++--
 libc/src/__support/File/linux/dir.cpp                |  4 ++--
 libc/src/__support/File/linux/file.cpp               |  4 ++--
 libc/src/__support/File/linux/file.h                 |  4 ++--
 libc/src/__support/File/linux/lseekImpl.h            |  4 ++--
 libc/src/__support/File/linux/stderr.cpp             |  4 ++--
 libc/src/__support/File/linux/stdin.cpp              |  4 ++--
 libc/src/__support/File/linux/stdout.cpp             |  4 ++--
 libc/src/__support/GPU/allocator.cpp                 |  4 ++--
 libc/src/__support/GPU/allocator.h                   |  4 ++--
 libc/src/__support/GPU/amdgpu/utils.h                |  4 ++--
 libc/src/__support/GPU/generic/utils.h               |  4 ++--
 libc/src/__support/GPU/nvptx/utils.h                 |  4 ++--
 libc/src/__support/GPU/utils.h                       |  4 ++--
 libc/src/__support/HashTable/bitmask.h               |  4 ++--
 .../src/__support/HashTable/generic/bitmask_impl.inc |  4 ++--
 libc/src/__support/HashTable/randomness.h            |  4 ++--
 libc/src/__support/HashTable/sse2/bitmask_impl.inc   |  4 ++--
 libc/src/__support/HashTable/table.h                 |  4 ++--
 libc/src/__support/OSUtil/baremetal/exit.cpp         |  6 ++++--
 libc/src/__support/OSUtil/baremetal/io.cpp           |  4 ++--
 libc/src/__support/OSUtil/baremetal/io.h             |  4 ++--
 libc/src/__support/OSUtil/darwin/arm/syscall.h       |  4 ++--
 libc/src/__support/OSUtil/darwin/io.h                |  4 ++--
 libc/src/__support/OSUtil/darwin/syscall.h           |  4 ++--
 libc/src/__support/OSUtil/exit.h                     |  6 ++++--
 libc/src/__support/OSUtil/fcntl.h                    |  6 ++++--
 libc/src/__support/OSUtil/fuchsia/io.h               |  4 ++--
 libc/src/__support/OSUtil/gpu/exit.cpp               |  6 ++++--
 libc/src/__support/OSUtil/gpu/io.cpp                 |  4 ++--
 libc/src/__support/OSUtil/gpu/io.h                   |  4 ++--
 libc/src/__support/OSUtil/linux/aarch64/syscall.h    |  4 ++--
 libc/src/__support/OSUtil/linux/arm/syscall.h        |  4 ++--
 libc/src/__support/OSUtil/linux/exit.cpp             |  6 ++++--
 libc/src/__support/OSUtil/linux/fcntl.cpp            |  6 ++++--
 libc/src/__support/OSUtil/linux/io.h                 |  4 ++--
 libc/src/__support/OSUtil/linux/riscv/syscall.h      |  4 ++--
 libc/src/__support/OSUtil/linux/syscall.h            |  4 ++--
 libc/src/__support/OSUtil/linux/x86_64/syscall.h     |  4 ++--
 libc/src/__support/RPC/rpc.h                         |  4 ++--
 libc/src/__support/RPC/rpc_client.cpp                |  4 ++--
 libc/src/__support/RPC/rpc_client.h                  |  4 ++--
 libc/src/__support/RPC/rpc_util.h                    |  4 ++--
 libc/src/__support/StringUtil/error_to_string.cpp    |  4 ++--
 libc/src/__support/StringUtil/error_to_string.h      |  4 ++--
 libc/src/__support/StringUtil/message_mapper.h       |  4 ++--
 libc/src/__support/StringUtil/signal_to_string.cpp   |  4 ++--
 libc/src/__support/StringUtil/signal_to_string.h     |  4 ++--
 .../StringUtil/tables/linux_extension_errors.h       |  4 ++--
 .../StringUtil/tables/linux_extension_signals.h      |  4 ++--
 .../StringUtil/tables/linux_platform_errors.h        |  4 ++--
 .../StringUtil/tables/linux_platform_signals.h       |  4 ++--
 .../StringUtil/tables/minimal_platform_errors.h      |  4 ++--
 .../StringUtil/tables/minimal_platform_signals.h     |  4 ++--
 libc/src/__support/StringUtil/tables/posix_errors.h  |  4 ++--
 libc/src/__support/StringUtil/tables/posix_signals.h |  4 ++--
 libc/src/__support/StringUtil/tables/signal_table.h  |  6 ++++--
 libc/src/__support/StringUtil/tables/stdc_errors.h   |  4 ++--
 libc/src/__support/StringUtil/tables/stdc_signals.h  |  4 ++--
 libc/src/__support/arg_list.h                        |  4 ++--
 libc/src/__support/big_int.h                         |  4 ++--
 libc/src/__support/block.h                           |  4 ++--
 libc/src/__support/blockstore.h                      |  4 ++--
 libc/src/__support/c_string.h                        |  4 ++--
 libc/src/__support/char_vector.h                     |  4 ++--
 libc/src/__support/common.h                          |  5 +++--
 libc/src/__support/ctype_utils.h                     |  4 ++--
 libc/src/__support/detailed_powers_of_ten.h          |  4 ++--
 libc/src/__support/endian.h                          |  4 ++--
 libc/src/__support/error_or.h                        |  4 ++--
 libc/src/__support/fixed_point/fx_bits.h             |  6 ++++--
 libc/src/__support/fixed_point/fx_rep.h              |  6 ++++--
 libc/src/__support/fixed_point/sqrt.h                |  6 ++++--
 libc/src/__support/fixedvector.h                     |  4 ++--
 libc/src/__support/float_to_string.h                 |  4 ++--
 libc/src/__support/freelist.h                        |  4 ++--
 libc/src/__support/freelist_heap.h                   |  4 ++--
 libc/src/__support/hash.h                            |  4 ++--
 libc/src/__support/high_precision_decimal.h          |  4 ++--
 libc/src/__support/integer_literals.h                |  4 ++--
 libc/src/__support/integer_operations.h              |  4 ++--
 libc/src/__support/integer_to_string.h               |  4 ++--
 libc/src/__support/intrusive_list.h                  |  4 ++--
 libc/src/__support/libc_assert.h                     |  4 ++--
 libc/src/__support/macros/optimization.h             |  6 ++++--
 libc/src/__support/math_extras.h                     |  4 ++--
 libc/src/__support/memory_size.h                     |  4 ++--
 libc/src/__support/number_pair.h                     |  4 ++--
 libc/src/__support/str_to_float.h                    |  4 ++--
 libc/src/__support/str_to_integer.h                  |  4 ++--
 libc/src/__support/str_to_num_result.h               |  4 ++--
 libc/src/__support/threads/CndVar.h                  |  4 ++--
 libc/src/__support/threads/callonce.h                |  4 ++--
 libc/src/__support/threads/fork_callbacks.cpp        |  4 ++--
 libc/src/__support/threads/fork_callbacks.h          |  4 ++--
 libc/src/__support/threads/gpu/mutex.h               |  4 ++--
 libc/src/__support/threads/linux/CndVar.cpp          |  4 ++--
 libc/src/__support/threads/linux/callonce.cpp        |  4 ++--
 libc/src/__support/threads/linux/callonce.h          |  4 ++--
 libc/src/__support/threads/linux/futex_utils.h       |  4 ++--
 libc/src/__support/threads/linux/futex_word.h        |  4 ++--
 libc/src/__support/threads/linux/mutex.h             |  4 ++--
 libc/src/__support/threads/linux/raw_mutex.h         |  4 ++--
 libc/src/__support/threads/linux/rwlock.h            |  4 ++--
 libc/src/__support/threads/linux/thread.cpp          |  4 ++--
 libc/src/__support/threads/mutex_common.h            |  4 ++--
 libc/src/__support/threads/sleep.h                   |  4 ++--
 libc/src/__support/threads/thread.cpp                |  4 ++--
 libc/src/__support/threads/thread.h                  |  4 ++--
 libc/src/__support/time/linux/abs_timeout.h          |  4 ++--
 libc/src/__support/time/linux/clock_conversion.h     |  4 ++--
 libc/src/__support/time/linux/clock_gettime.h        |  4 ++--
 libc/src/__support/time/linux/monotonicity.h         |  4 ++--
 libc/src/__support/time/units.h                      |  4 ++--
 libc/src/__support/wctype_utils.h                    |  4 ++--
 libc/src/assert/__assert_fail.h                      |  4 ++--
 libc/src/assert/generic/__assert_fail.cpp            |  4 ++--
 libc/src/assert/gpu/__assert_fail.cpp                |  4 ++--
 libc/src/ctype/isalnum.cpp                           |  4 ++--
 libc/src/ctype/isalnum.h                             |  4 ++--
 libc/src/ctype/isalpha.cpp                           |  4 ++--
 libc/src/ctype/isalpha.h                             |  4 ++--
 libc/src/ctype/isascii.cpp                           |  4 ++--
 libc/src/ctype/isascii.h                             |  4 ++--
 libc/src/ctype/isblank.cpp                           |  4 ++--
 libc/src/ctype/isblank.h                             |  4 ++--
 libc/src/ctype/iscntrl.cpp                           |  4 ++--
 libc/src/ctype/iscntrl.h                             |  4 ++--
 libc/src/ctype/isdigit.cpp                           |  4 ++--
 libc/src/ctype/isdigit.h                             |  4 ++--
 libc/src/ctype/isgraph.cpp                           |  4 ++--
 libc/src/ctype/isgraph.h                             |  4 ++--
 libc/src/ctype/islower.cpp                           |  4 ++--
 libc/src/ctype/islower.h                             |  4 ++--
 libc/src/ctype/isprint.cpp                           |  4 ++--
 libc/src/ctype/isprint.h                             |  4 ++--
 libc/src/ctype/ispunct.cpp                           |  4 ++--
 libc/src/ctype/ispunct.h                             |  4 ++--
 libc/src/ctype/isspace.cpp                           |  4 ++--
 libc/src/ctype/isspace.h                             |  4 ++--
 libc/src/ctype/isupper.cpp                           |  4 ++--
 libc/src/ctype/isupper.h                             |  4 ++--
 libc/src/ctype/isxdigit.cpp                          |  4 ++--
 libc/src/ctype/isxdigit.h                            |  4 ++--
 libc/src/ctype/toascii.cpp                           |  4 ++--
 libc/src/ctype/toascii.h                             |  4 ++--
 libc/src/ctype/tolower.cpp                           |  4 ++--
 libc/src/ctype/tolower.h                             |  4 ++--
 libc/src/ctype/toupper.cpp                           |  4 ++--
 libc/src/ctype/toupper.h                             |  4 ++--
 libc/src/dirent/closedir.cpp                         |  4 ++--
 libc/src/dirent/closedir.h                           |  4 ++--
 libc/src/dirent/dirfd.cpp                            |  4 ++--
 libc/src/dirent/dirfd.h                              |  4 ++--
 libc/src/dirent/opendir.cpp                          |  4 ++--
 libc/src/dirent/opendir.h                            |  4 ++--
 libc/src/dirent/readdir.cpp                          |  4 ++--
 libc/src/dirent/readdir.h                            |  4 ++--
 libc/src/dlfcn/dlclose.cpp                           |  4 ++--
 libc/src/dlfcn/dlclose.h                             |  4 ++--
 libc/src/dlfcn/dlerror.cpp                           |  4 ++--
 libc/src/dlfcn/dlerror.h                             |  4 ++--
 libc/src/dlfcn/dlopen.cpp                            |  4 ++--
 libc/src/dlfcn/dlopen.h                              |  4 ++--
 libc/src/dlfcn/dlsym.cpp                             |  4 ++--
 libc/src/dlfcn/dlsym.h                               |  4 ++--
 libc/src/errno/libc_errno.cpp                        |  4 ++--
 libc/src/errno/libc_errno.h                          |  4 ++--
 libc/src/fcntl/creat.h                               |  4 ++--
 libc/src/fcntl/fcntl.h                               |  4 ++--
 libc/src/fcntl/linux/creat.cpp                       |  4 ++--
 libc/src/fcntl/linux/fcntl.cpp                       |  4 ++--
 libc/src/fcntl/linux/open.cpp                        |  4 ++--
 libc/src/fcntl/linux/openat.cpp                      |  4 ++--
 libc/src/fcntl/open.h                                |  4 ++--
 libc/src/fcntl/openat.h                              |  4 ++--
 libc/src/fenv/feclearexcept.cpp                      |  4 ++--
 libc/src/fenv/feclearexcept.h                        |  4 ++--
 libc/src/fenv/fedisableexcept.cpp                    |  4 ++--
 libc/src/fenv/fedisableexcept.h                      |  4 ++--
 libc/src/fenv/feenableexcept.cpp                     |  4 ++--
 libc/src/fenv/feenableexcept.h                       |  4 ++--
 libc/src/fenv/fegetenv.cpp                           |  4 ++--
 libc/src/fenv/fegetenv.h                             |  4 ++--
 libc/src/fenv/fegetexcept.cpp                        |  4 ++--
 libc/src/fenv/fegetexcept.h                          |  4 ++--
 libc/src/fenv/fegetexceptflag.cpp                    |  4 ++--
 libc/src/fenv/fegetexceptflag.h                      |  4 ++--
 libc/src/fenv/fegetround.cpp                         |  4 ++--
 libc/src/fenv/fegetround.h                           |  4 ++--
 libc/src/fenv/feholdexcept.cpp                       |  4 ++--
 libc/src/fenv/feholdexcept.h                         |  4 ++--
 libc/src/fenv/feraiseexcept.cpp                      |  4 ++--
 libc/src/fenv/feraiseexcept.h                        |  4 ++--
 libc/src/fenv/fesetenv.cpp                           |  4 ++--
 libc/src/fenv/fesetenv.h                             |  4 ++--
 libc/src/fenv/fesetexcept.cpp                        |  4 ++--
 libc/src/fenv/fesetexcept.h                          |  4 ++--
 libc/src/fenv/fesetexceptflag.cpp                    |  4 ++--
 libc/src/fenv/fesetexceptflag.h                      |  4 ++--
 libc/src/fenv/fesetround.cpp                         |  4 ++--
 libc/src/fenv/fesetround.h                           |  4 ++--
 libc/src/fenv/fetestexcept.cpp                       |  4 ++--
 libc/src/fenv/fetestexcept.h                         |  4 ++--
 libc/src/fenv/fetestexceptflag.cpp                   |  4 ++--
 libc/src/fenv/fetestexceptflag.h                     |  4 ++--
 libc/src/fenv/feupdateenv.cpp                        |  4 ++--
 libc/src/fenv/feupdateenv.h                          |  4 ++--
 libc/src/gpu/rpc_fprintf.cpp                         |  4 ++--
 libc/src/gpu/rpc_fprintf.h                           |  4 ++--
 libc/src/gpu/rpc_host_call.cpp                       |  4 ++--
 libc/src/gpu/rpc_host_call.h                         |  4 ++--
 libc/src/inttypes/imaxabs.cpp                        |  4 ++--
 libc/src/inttypes/imaxabs.h                          |  4 ++--
 libc/src/inttypes/imaxdiv.cpp                        |  4 ++--
 libc/src/inttypes/imaxdiv.h                          |  4 ++--
 libc/src/inttypes/strtoimax.cpp                      |  4 ++--
 libc/src/inttypes/strtoimax.h                        |  4 ++--
 libc/src/inttypes/strtoumax.cpp                      |  4 ++--
 libc/src/inttypes/strtoumax.h                        |  4 ++--
 libc/src/math/aarch64/ceil.cpp                       |  4 ++--
 libc/src/math/aarch64/ceilf.cpp                      |  4 ++--
 libc/src/math/aarch64/floor.cpp                      |  4 ++--
 libc/src/math/aarch64/floorf.cpp                     |  4 ++--
 libc/src/math/aarch64/round.cpp                      |  4 ++--
 libc/src/math/aarch64/roundf.cpp                     |  4 ++--
 libc/src/math/aarch64/trunc.cpp                      |  4 ++--
 libc/src/math/aarch64/truncf.cpp                     |  4 ++--
 libc/src/math/acos.h                                 |  4 ++--
 libc/src/math/acosf.h                                |  4 ++--
 libc/src/math/acosh.h                                |  4 ++--
 libc/src/math/acoshf.h                               |  4 ++--
 libc/src/math/amdgpu/acos.cpp                        |  4 ++--
 libc/src/math/amdgpu/acosf.cpp                       |  4 ++--
 libc/src/math/amdgpu/acosh.cpp                       |  4 ++--
 libc/src/math/amdgpu/acoshf.cpp                      |  4 ++--
 libc/src/math/amdgpu/asin.cpp                        |  4 ++--
 libc/src/math/amdgpu/asinf.cpp                       |  4 ++--
 libc/src/math/amdgpu/asinh.cpp                       |  4 ++--
 libc/src/math/amdgpu/asinhf.cpp                      |  4 ++--
 libc/src/math/amdgpu/atan.cpp                        |  4 ++--
 libc/src/math/amdgpu/atan2.cpp                       |  4 ++--
 libc/src/math/amdgpu/atan2f.cpp                      |  4 ++--
 libc/src/math/amdgpu/atanf.cpp                       |  4 ++--
 libc/src/math/amdgpu/atanh.cpp                       |  4 ++--
 libc/src/math/amdgpu/atanhf.cpp                      |  4 ++--
 libc/src/math/amdgpu/ceil.cpp                        |  4 ++--
 libc/src/math/amdgpu/ceilf.cpp                       |  4 ++--
 libc/src/math/amdgpu/copysign.cpp                    |  4 ++--
 libc/src/math/amdgpu/copysignf.cpp                   |  4 ++--
 libc/src/math/amdgpu/cos.cpp                         |  4 ++--
 libc/src/math/amdgpu/cosf.cpp                        |  4 ++--
 libc/src/math/amdgpu/cosh.cpp                        |  4 ++--
 libc/src/math/amdgpu/coshf.cpp                       |  4 ++--
 libc/src/math/amdgpu/declarations.h                  |  4 ++--
 libc/src/math/amdgpu/erf.cpp                         |  4 ++--
 libc/src/math/amdgpu/erff.cpp                        |  4 ++--
 libc/src/math/amdgpu/exp.cpp                         |  4 ++--
 libc/src/math/amdgpu/exp10.cpp                       |  4 ++--
 libc/src/math/amdgpu/exp10f.cpp                      |  4 ++--
 libc/src/math/amdgpu/exp2.cpp                        |  4 ++--
 libc/src/math/amdgpu/exp2f.cpp                       |  4 ++--
 libc/src/math/amdgpu/expf.cpp                        |  4 ++--
 libc/src/math/amdgpu/expm1.cpp                       |  4 ++--
 libc/src/math/amdgpu/expm1f.cpp                      |  4 ++--
 libc/src/math/amdgpu/fabs.cpp                        |  4 ++--
 libc/src/math/amdgpu/fabsf.cpp                       |  4 ++--
 libc/src/math/amdgpu/fdim.cpp                        |  4 ++--
 libc/src/math/amdgpu/fdimf.cpp                       |  4 ++--
 libc/src/math/amdgpu/floor.cpp                       |  4 ++--
 libc/src/math/amdgpu/floorf.cpp                      |  4 ++--
 libc/src/math/amdgpu/fma.cpp                         |  4 ++--
 libc/src/math/amdgpu/fmaf.cpp                        |  4 ++--
 libc/src/math/amdgpu/fmax.cpp                        |  4 ++--
 libc/src/math/amdgpu/fmaxf.cpp                       |  4 ++--
 libc/src/math/amdgpu/fmin.cpp                        |  4 ++--
 libc/src/math/amdgpu/fminf.cpp                       |  4 ++--
 libc/src/math/amdgpu/fmod.cpp                        |  4 ++--
 libc/src/math/amdgpu/fmodf.cpp                       |  4 ++--
 libc/src/math/amdgpu/frexp.cpp                       |  4 ++--
 libc/src/math/amdgpu/frexpf.cpp                      |  4 ++--
 libc/src/math/amdgpu/hypot.cpp                       |  4 ++--
 libc/src/math/amdgpu/hypotf.cpp                      |  4 ++--
 libc/src/math/amdgpu/ilogb.cpp                       |  4 ++--
 libc/src/math/amdgpu/ilogbf.cpp                      |  4 ++--
 libc/src/math/amdgpu/ldexp.cpp                       |  4 ++--
 libc/src/math/amdgpu/ldexpf.cpp                      |  4 ++--
 libc/src/math/amdgpu/llrint.cpp                      |  4 ++--
 libc/src/math/amdgpu/llrintf.cpp                     |  4 ++--
 libc/src/math/amdgpu/log.cpp                         |  4 ++--
 libc/src/math/amdgpu/log10.cpp                       |  4 ++--
 libc/src/math/amdgpu/log10f.cpp                      |  4 ++--
 libc/src/math/amdgpu/log1p.cpp                       |  4 ++--
 libc/src/math/amdgpu/log1pf.cpp                      |  4 ++--
 libc/src/math/amdgpu/log2.cpp                        |  4 ++--
 libc/src/math/amdgpu/log2f.cpp                       |  4 ++--
 libc/src/math/amdgpu/logb.cpp                        |  4 ++--
 libc/src/math/amdgpu/logbf.cpp                       |  4 ++--
 libc/src/math/amdgpu/logf.cpp                        |  4 ++--
 libc/src/math/amdgpu/lrint.cpp                       |  4 ++--
 libc/src/math/amdgpu/lrintf.cpp                      |  4 ++--
 libc/src/math/amdgpu/nearbyint.cpp                   |  4 ++--
 libc/src/math/amdgpu/nearbyintf.cpp                  |  4 ++--
 libc/src/math/amdgpu/nextafter.cpp                   |  4 ++--
 libc/src/math/amdgpu/nextafterf.cpp                  |  4 ++--
 libc/src/math/amdgpu/platform.h                      |  4 ++--
 libc/src/math/amdgpu/pow.cpp                         |  4 ++--
 libc/src/math/amdgpu/powf.cpp                        |  4 ++--
 libc/src/math/amdgpu/powi.cpp                        |  4 ++--
 libc/src/math/amdgpu/powif.cpp                       |  4 ++--
 libc/src/math/amdgpu/remainder.cpp                   |  4 ++--
 libc/src/math/amdgpu/remainderf.cpp                  |  4 ++--
 libc/src/math/amdgpu/remquo.cpp                      |  4 ++--
 libc/src/math/amdgpu/remquof.cpp                     |  4 ++--
 libc/src/math/amdgpu/rint.cpp                        |  4 ++--
 libc/src/math/amdgpu/rintf.cpp                       |  4 ++--
 libc/src/math/amdgpu/round.cpp                       |  4 ++--
 libc/src/math/amdgpu/roundf.cpp                      |  4 ++--
 libc/src/math/amdgpu/scalbn.cpp                      |  4 ++--
 libc/src/math/amdgpu/scalbnf.cpp                     |  4 ++--
 libc/src/math/amdgpu/sin.cpp                         |  4 ++--
 libc/src/math/amdgpu/sincos.cpp                      |  4 ++--
 libc/src/math/amdgpu/sincosf.cpp                     |  4 ++--
 libc/src/math/amdgpu/sinf.cpp                        |  4 ++--
 libc/src/math/amdgpu/sinh.cpp                        |  4 ++--
 libc/src/math/amdgpu/sinhf.cpp                       |  4 ++--
 libc/src/math/amdgpu/sqrt.cpp                        |  4 ++--
 libc/src/math/amdgpu/sqrtf.cpp                       |  4 ++--
 libc/src/math/amdgpu/tan.cpp                         |  4 ++--
 libc/src/math/amdgpu/tanf.cpp                        |  4 ++--
 libc/src/math/amdgpu/tanh.cpp                        |  4 ++--
 libc/src/math/amdgpu/tanhf.cpp                       |  4 ++--
 libc/src/math/amdgpu/tgamma.cpp                      |  4 ++--
 libc/src/math/amdgpu/tgammaf.cpp                     |  4 ++--
 libc/src/math/amdgpu/trunc.cpp                       |  4 ++--
 libc/src/math/amdgpu/truncf.cpp                      |  4 ++--
 libc/src/math/asin.h                                 |  4 ++--
 libc/src/math/asinf.h                                |  4 ++--
 libc/src/math/asinh.h                                |  4 ++--
 libc/src/math/asinhf.h                               |  4 ++--
 libc/src/math/atan.h                                 |  4 ++--
 libc/src/math/atan2.h                                |  4 ++--
 libc/src/math/atan2f.h                               |  4 ++--
 libc/src/math/atanf.h                                |  4 ++--
 libc/src/math/atanh.h                                |  4 ++--
 libc/src/math/atanhf.h                               |  4 ++--
 libc/src/math/canonicalize.h                         |  4 ++--
 libc/src/math/canonicalizef.h                        |  4 ++--
 libc/src/math/canonicalizef128.h                     |  4 ++--
 libc/src/math/canonicalizef16.h                      |  4 ++--
 libc/src/math/canonicalizel.h                        |  4 ++--
 libc/src/math/cbrtf.h                                |  4 ++--
 libc/src/math/ceil.h                                 |  4 ++--
 libc/src/math/ceilf.h                                |  4 ++--
 libc/src/math/ceilf128.h                             |  4 ++--
 libc/src/math/ceilf16.h                              |  4 ++--
 libc/src/math/ceill.h                                |  4 ++--
 libc/src/math/copysign.h                             |  4 ++--
 libc/src/math/copysignf.h                            |  4 ++--
 libc/src/math/copysignf128.h                         |  4 ++--
 libc/src/math/copysignf16.h                          |  4 ++--
 libc/src/math/copysignl.h                            |  4 ++--
 libc/src/math/cos.h                                  |  4 ++--
 libc/src/math/cosf.h                                 |  4 ++--
 libc/src/math/cosh.h                                 |  4 ++--
 libc/src/math/coshf.h                                |  4 ++--
 libc/src/math/cospif.h                               |  4 ++--
 libc/src/math/erf.h                                  |  4 ++--
 libc/src/math/erff.h                                 |  4 ++--
 libc/src/math/exp.h                                  |  4 ++--
 libc/src/math/exp10.h                                |  4 ++--
 libc/src/math/exp10f.h                               |  4 ++--
 libc/src/math/exp2.h                                 |  4 ++--
 libc/src/math/exp2f.h                                |  4 ++--
 libc/src/math/exp2m1f.h                              |  4 ++--
 libc/src/math/expf.h                                 |  4 ++--
 libc/src/math/expm1.h                                |  4 ++--
 libc/src/math/expm1f.h                               |  4 ++--
 libc/src/math/f16add.h                               |  4 ++--
 libc/src/math/f16addf.h                              |  4 ++--
 libc/src/math/f16addf128.h                           |  4 ++--
 libc/src/math/f16addl.h                              |  4 ++--
 libc/src/math/f16div.h                               |  4 ++--
 libc/src/math/f16divf.h                              |  4 ++--
 libc/src/math/f16divf128.h                           |  4 ++--
 libc/src/math/f16divl.h                              |  4 ++--
 libc/src/math/f16fma.h                               |  4 ++--
 libc/src/math/f16fmaf.h                              |  4 ++--
 libc/src/math/f16fmaf128.h                           |  4 ++--
 libc/src/math/f16fmal.h                              |  4 ++--
 libc/src/math/f16sqrt.h                              |  4 ++--
 libc/src/math/f16sqrtf.h                             |  4 ++--
 libc/src/math/f16sqrtf128.h                          |  4 ++--
 libc/src/math/f16sqrtl.h                             |  4 ++--
 libc/src/math/f16sub.h                               |  4 ++--
 libc/src/math/f16subf.h                              |  4 ++--
 libc/src/math/f16subf128.h                           |  4 ++--
 libc/src/math/f16subl.h                              |  4 ++--
 libc/src/math/fabs.h                                 |  4 ++--
 libc/src/math/fabsf.h                                |  4 ++--
 libc/src/math/fabsf128.h                             |  4 ++--
 libc/src/math/fabsf16.h                              |  4 ++--
 libc/src/math/fabsl.h                                |  4 ++--
 libc/src/math/fdim.h                                 |  4 ++--
 libc/src/math/fdimf.h                                |  4 ++--
 libc/src/math/fdimf128.h                             |  4 ++--
 libc/src/math/fdimf16.h                              |  4 ++--
 libc/src/math/fdiml.h                                |  4 ++--
 libc/src/math/floor.h                                |  4 ++--
 libc/src/math/floorf.h                               |  4 ++--
 libc/src/math/floorf128.h                            |  4 ++--
 libc/src/math/floorf16.h                             |  4 ++--
 libc/src/math/floorl.h                               |  4 ++--
 libc/src/math/fma.h                                  |  4 ++--
 libc/src/math/fmaf.h                                 |  4 ++--
 libc/src/math/fmax.h                                 |  4 ++--
 libc/src/math/fmaxf.h                                |  4 ++--
 libc/src/math/fmaxf128.h                             |  4 ++--
 libc/src/math/fmaxf16.h                              |  4 ++--
 libc/src/math/fmaximum.h                             |  4 ++--
 libc/src/math/fmaximum_mag.h                         |  4 ++--
 libc/src/math/fmaximum_mag_num.h                     |  4 ++--
 libc/src/math/fmaximum_mag_numf.h                    |  4 ++--
 libc/src/math/fmaximum_mag_numf128.h                 |  4 ++--
 libc/src/math/fmaximum_mag_numf16.h                  |  4 ++--
 libc/src/math/fmaximum_mag_numl.h                    |  4 ++--
 libc/src/math/fmaximum_magf.h                        |  4 ++--
 libc/src/math/fmaximum_magf128.h                     |  4 ++--
 libc/src/math/fmaximum_magf16.h                      |  4 ++--
 libc/src/math/fmaximum_magl.h                        |  4 ++--
 libc/src/math/fmaximum_num.h                         |  4 ++--
 libc/src/math/fmaximum_numf.h                        |  4 ++--
 libc/src/math/fmaximum_numf128.h                     |  4 ++--
 libc/src/math/fmaximum_numf16.h                      |  4 ++--
 libc/src/math/fmaximum_numl.h                        |  4 ++--
 libc/src/math/fmaximumf.h                            |  4 ++--
 libc/src/math/fmaximumf128.h                         |  4 ++--
 libc/src/math/fmaximumf16.h                          |  4 ++--
 libc/src/math/fmaximuml.h                            |  4 ++--
 libc/src/math/fmaxl.h                                |  4 ++--
 libc/src/math/fmin.h                                 |  4 ++--
 libc/src/math/fminf.h                                |  4 ++--
 libc/src/math/fminf128.h                             |  4 ++--
 libc/src/math/fminf16.h                              |  4 ++--
 libc/src/math/fminimum.h                             |  4 ++--
 libc/src/math/fminimum_mag.h                         |  4 ++--
 libc/src/math/fminimum_mag_num.h                     |  4 ++--
 libc/src/math/fminimum_mag_numf.h                    |  4 ++--
 libc/src/math/fminimum_mag_numf128.h                 |  4 ++--
 libc/src/math/fminimum_mag_numf16.h                  |  4 ++--
 libc/src/math/fminimum_mag_numl.h                    |  4 ++--
 libc/src/math/fminimum_magf.h                        |  4 ++--
 libc/src/math/fminimum_magf128.h                     |  4 ++--
 libc/src/math/fminimum_magf16.h                      |  4 ++--
 libc/src/math/fminimum_magl.h                        |  4 ++--
 libc/src/math/fminimum_num.h                         |  4 ++--
 libc/src/math/fminimum_numf.h                        |  4 ++--
 libc/src/math/fminimum_numf128.h                     |  4 ++--
 libc/src/math/fminimum_numf16.h                      |  4 ++--
 libc/src/math/fminimum_numl.h                        |  4 ++--
 libc/src/math/fminimumf.h                            |  4 ++--
 libc/src/math/fminimumf128.h                         |  4 ++--
 libc/src/math/fminimumf16.h                          |  4 ++--
 libc/src/math/fminimuml.h                            |  4 ++--
 libc/src/math/fminl.h                                |  4 ++--
 libc/src/math/fmod.h                                 |  4 ++--
 libc/src/math/fmodf.h                                |  4 ++--
 libc/src/math/fmodf128.h                             |  4 ++--
 libc/src/math/fmodf16.h                              |  4 ++--
 libc/src/math/fmodl.h                                |  4 ++--
 libc/src/math/fmul.h                                 |  4 ++--
 libc/src/math/frexp.h                                |  4 ++--
 libc/src/math/frexpf.h                               |  4 ++--
 libc/src/math/frexpf128.h                            |  4 ++--
 libc/src/math/frexpf16.h                             |  4 ++--
 libc/src/math/frexpl.h                               |  4 ++--
 libc/src/math/fromfp.h                               |  4 ++--
 libc/src/math/fromfpf.h                              |  4 ++--
 libc/src/math/fromfpf128.h                           |  4 ++--
 libc/src/math/fromfpf16.h                            |  4 ++--
 libc/src/math/fromfpl.h                              |  4 ++--
 libc/src/math/fromfpx.h                              |  4 ++--
 libc/src/math/fromfpxf.h                             |  4 ++--
 libc/src/math/fromfpxf128.h                          |  4 ++--
 libc/src/math/fromfpxf16.h                           |  4 ++--
 libc/src/math/fromfpxl.h                             |  4 ++--
 libc/src/math/generic/acosf.cpp                      |  4 ++--
 libc/src/math/generic/acoshf.cpp                     |  4 ++--
 libc/src/math/generic/asinf.cpp                      |  4 ++--
 libc/src/math/generic/asinhf.cpp                     |  4 ++--
 libc/src/math/generic/atan2f.cpp                     |  4 ++--
 libc/src/math/generic/atanf.cpp                      |  4 ++--
 libc/src/math/generic/atanhf.cpp                     |  4 ++--
 libc/src/math/generic/canonicalize.cpp               |  4 ++--
 libc/src/math/generic/canonicalizef.cpp              |  4 ++--
 libc/src/math/generic/canonicalizef128.cpp           |  4 ++--
 libc/src/math/generic/canonicalizef16.cpp            |  4 ++--
 libc/src/math/generic/canonicalizel.cpp              |  4 ++--
 libc/src/math/generic/cbrtf.cpp                      |  4 ++--
 libc/src/math/generic/ceil.cpp                       |  4 ++--
 libc/src/math/generic/ceilf.cpp                      |  4 ++--
 libc/src/math/generic/ceilf128.cpp                   |  4 ++--
 libc/src/math/generic/ceilf16.cpp                    |  4 ++--
 libc/src/math/generic/ceill.cpp                      |  4 ++--
 libc/src/math/generic/common_constants.cpp           |  4 ++--
 libc/src/math/generic/common_constants.h             |  4 ++--
 libc/src/math/generic/copysign.cpp                   |  4 ++--
 libc/src/math/generic/copysignf.cpp                  |  4 ++--
 libc/src/math/generic/copysignf128.cpp               |  4 ++--
 libc/src/math/generic/copysignf16.cpp                |  4 ++--
 libc/src/math/generic/copysignl.cpp                  |  4 ++--
 libc/src/math/generic/cos.cpp                        |  4 ++--
 libc/src/math/generic/cosf.cpp                       |  4 ++--
 libc/src/math/generic/coshf.cpp                      |  4 ++--
 libc/src/math/generic/cospif.cpp                     |  4 ++--
 libc/src/math/generic/erff.cpp                       |  4 ++--
 libc/src/math/generic/exp.cpp                        |  4 ++--
 libc/src/math/generic/exp10.cpp                      |  4 ++--
 libc/src/math/generic/exp10f.cpp                     |  4 ++--
 libc/src/math/generic/exp10f_impl.h                  |  6 ++++--
 libc/src/math/generic/exp2.cpp                       |  4 ++--
 libc/src/math/generic/exp2f.cpp                      |  4 ++--
 libc/src/math/generic/exp2f_impl.h                   |  6 ++++--
 libc/src/math/generic/exp2m1f.cpp                    |  4 ++--
 libc/src/math/generic/exp_utils.cpp                  |  4 ++--
 libc/src/math/generic/exp_utils.h                    |  4 ++--
 libc/src/math/generic/expf.cpp                       |  4 ++--
 libc/src/math/generic/explogxf.cpp                   |  4 ++--
 libc/src/math/generic/explogxf.h                     |  4 ++--
 libc/src/math/generic/expm1.cpp                      |  4 ++--
 libc/src/math/generic/expm1f.cpp                     |  4 ++--
 libc/src/math/generic/f16add.cpp                     |  4 ++--
 libc/src/math/generic/f16addf.cpp                    |  4 ++--
 libc/src/math/generic/f16addf128.cpp                 |  4 ++--
 libc/src/math/generic/f16addl.cpp                    |  4 ++--
 libc/src/math/generic/f16div.cpp                     |  4 ++--
 libc/src/math/generic/f16divf.cpp                    |  4 ++--
 libc/src/math/generic/f16divf128.cpp                 |  4 ++--
 libc/src/math/generic/f16divl.cpp                    |  4 ++--
 libc/src/math/generic/f16fma.cpp                     |  4 ++--
 libc/src/math/generic/f16fmaf.cpp                    |  4 ++--
 libc/src/math/generic/f16fmaf128.cpp                 |  4 ++--
 libc/src/math/generic/f16fmal.cpp                    |  4 ++--
 libc/src/math/generic/f16sqrt.cpp                    |  4 ++--
 libc/src/math/generic/f16sqrtf.cpp                   |  4 ++--
 libc/src/math/generic/f16sqrtf128.cpp                |  4 ++--
 libc/src/math/generic/f16sqrtl.cpp                   |  4 ++--
 libc/src/math/generic/f16sub.cpp                     |  4 ++--
 libc/src/math/generic/f16subf.cpp                    |  4 ++--
 libc/src/math/generic/f16subf128.cpp                 |  4 ++--
 libc/src/math/generic/f16subl.cpp                    |  4 ++--
 libc/src/math/generic/fabs.cpp                       |  4 ++--
 libc/src/math/generic/fabsf.cpp                      |  4 ++--
 libc/src/math/generic/fabsf128.cpp                   |  4 ++--
 libc/src/math/generic/fabsf16.cpp                    |  4 ++--
 libc/src/math/generic/fabsl.cpp                      |  4 ++--
 libc/src/math/generic/fdim.cpp                       |  4 ++--
 libc/src/math/generic/fdimf.cpp                      |  4 ++--
 libc/src/math/generic/fdimf128.cpp                   |  4 ++--
 libc/src/math/generic/fdimf16.cpp                    |  4 ++--
 libc/src/math/generic/fdiml.cpp                      |  4 ++--
 libc/src/math/generic/floor.cpp                      |  4 ++--
 libc/src/math/generic/floorf.cpp                     |  4 ++--
 libc/src/math/generic/floorf128.cpp                  |  4 ++--
 libc/src/math/generic/floorf16.cpp                   |  4 ++--
 libc/src/math/generic/floorl.cpp                     |  4 ++--
 libc/src/math/generic/fma.cpp                        |  4 ++--
 libc/src/math/generic/fmaf.cpp                       |  4 ++--
 libc/src/math/generic/fmax.cpp                       |  4 ++--
 libc/src/math/generic/fmaxf.cpp                      |  4 ++--
 libc/src/math/generic/fmaxf128.cpp                   |  4 ++--
 libc/src/math/generic/fmaxf16.cpp                    |  4 ++--
 libc/src/math/generic/fmaximum.cpp                   |  4 ++--
 libc/src/math/generic/fmaximum_mag.cpp               |  4 ++--
 libc/src/math/generic/fmaximum_mag_num.cpp           |  4 ++--
 libc/src/math/generic/fmaximum_mag_numf.cpp          |  4 ++--
 libc/src/math/generic/fmaximum_mag_numf128.cpp       |  4 ++--
 libc/src/math/generic/fmaximum_mag_numf16.cpp        |  4 ++--
 libc/src/math/generic/fmaximum_mag_numl.cpp          |  4 ++--
 libc/src/math/generic/fmaximum_magf.cpp              |  4 ++--
 libc/src/math/generic/fmaximum_magf128.cpp           |  4 ++--
 libc/src/math/generic/fmaximum_magf16.cpp            |  4 ++--
 libc/src/math/generic/fmaximum_magl.cpp              |  4 ++--
 libc/src/math/generic/fmaximum_num.cpp               |  4 ++--
 libc/src/math/generic/fmaximum_numf.cpp              |  4 ++--
 libc/src/math/generic/fmaximum_numf128.cpp           |  4 ++--
 libc/src/math/generic/fmaximum_numf16.cpp            |  4 ++--
 libc/src/math/generic/fmaximum_numl.cpp              |  4 ++--
 libc/src/math/generic/fmaximumf.cpp                  |  4 ++--
 libc/src/math/generic/fmaximumf128.cpp               |  4 ++--
 libc/src/math/generic/fmaximumf16.cpp                |  4 ++--
 libc/src/math/generic/fmaximuml.cpp                  |  4 ++--
 libc/src/math/generic/fmaxl.cpp                      |  4 ++--
 libc/src/math/generic/fmin.cpp                       |  4 ++--
 libc/src/math/generic/fminf.cpp                      |  4 ++--
 libc/src/math/generic/fminf128.cpp                   |  4 ++--
 libc/src/math/generic/fminf16.cpp                    |  4 ++--
 libc/src/math/generic/fminimum.cpp                   |  4 ++--
 libc/src/math/generic/fminimum_mag.cpp               |  4 ++--
 libc/src/math/generic/fminimum_mag_num.cpp           |  4 ++--
 libc/src/math/generic/fminimum_mag_numf.cpp          |  4 ++--
 libc/src/math/generic/fminimum_mag_numf128.cpp       |  4 ++--
 libc/src/math/generic/fminimum_mag_numf16.cpp        |  4 ++--
 libc/src/math/generic/fminimum_mag_numl.cpp          |  4 ++--
 libc/src/math/generic/fminimum_magf.cpp              |  4 ++--
 libc/src/math/generic/fminimum_magf128.cpp           |  4 ++--
 libc/src/math/generic/fminimum_magf16.cpp            |  4 ++--
 libc/src/math/generic/fminimum_magl.cpp              |  4 ++--
 libc/src/math/generic/fminimum_num.cpp               |  4 ++--
 libc/src/math/generic/fminimum_numf.cpp              |  4 ++--
 libc/src/math/generic/fminimum_numf128.cpp           |  4 ++--
 libc/src/math/generic/fminimum_numf16.cpp            |  4 ++--
 libc/src/math/generic/fminimum_numl.cpp              |  4 ++--
 libc/src/math/generic/fminimumf.cpp                  |  4 ++--
 libc/src/math/generic/fminimumf128.cpp               |  4 ++--
 libc/src/math/generic/fminimumf16.cpp                |  4 ++--
 libc/src/math/generic/fminimuml.cpp                  |  4 ++--
 libc/src/math/generic/fminl.cpp                      |  4 ++--
 libc/src/math/generic/fmod.cpp                       |  4 ++--
 libc/src/math/generic/fmodf.cpp                      |  4 ++--
 libc/src/math/generic/fmodf128.cpp                   |  4 ++--
 libc/src/math/generic/fmodf16.cpp                    |  4 ++--
 libc/src/math/generic/fmodl.cpp                      |  4 ++--
 libc/src/math/generic/fmul.cpp                       |  4 ++--
 libc/src/math/generic/frexp.cpp                      |  4 ++--
 libc/src/math/generic/frexpf.cpp                     |  4 ++--
 libc/src/math/generic/frexpf128.cpp                  |  4 ++--
 libc/src/math/generic/frexpf16.cpp                   |  4 ++--
 libc/src/math/generic/frexpl.cpp                     |  4 ++--
 libc/src/math/generic/fromfp.cpp                     |  4 ++--
 libc/src/math/generic/fromfpf.cpp                    |  4 ++--
 libc/src/math/generic/fromfpf128.cpp                 |  4 ++--
 libc/src/math/generic/fromfpf16.cpp                  |  4 ++--
 libc/src/math/generic/fromfpl.cpp                    |  4 ++--
 libc/src/math/generic/fromfpx.cpp                    |  4 ++--
 libc/src/math/generic/fromfpxf.cpp                   |  4 ++--
 libc/src/math/generic/fromfpxf128.cpp                |  4 ++--
 libc/src/math/generic/fromfpxf16.cpp                 |  4 ++--
 libc/src/math/generic/fromfpxl.cpp                   |  4 ++--
 libc/src/math/generic/getpayloadf16.cpp              |  4 ++--
 libc/src/math/generic/hypot.cpp                      |  4 ++--
 libc/src/math/generic/hypotf.cpp                     |  4 ++--
 libc/src/math/generic/ilogb.cpp                      |  4 ++--
 libc/src/math/generic/ilogbf.cpp                     |  4 ++--
 libc/src/math/generic/ilogbf128.cpp                  |  4 ++--
 libc/src/math/generic/ilogbf16.cpp                   |  4 ++--
 libc/src/math/generic/ilogbl.cpp                     |  4 ++--
 libc/src/math/generic/inv_trigf_utils.cpp            |  4 ++--
 libc/src/math/generic/inv_trigf_utils.h              |  4 ++--
 libc/src/math/generic/isnan.cpp                      |  2 +-
 libc/src/math/generic/isnanf.cpp                     |  4 ++--
 libc/src/math/generic/isnanl.cpp                     |  4 ++--
 libc/src/math/generic/ldexp.cpp                      |  4 ++--
 libc/src/math/generic/ldexpf.cpp                     |  4 ++--
 libc/src/math/generic/ldexpf128.cpp                  |  4 ++--
 libc/src/math/generic/ldexpf16.cpp                   |  4 ++--
 libc/src/math/generic/ldexpl.cpp                     |  4 ++--
 libc/src/math/generic/llogb.cpp                      |  4 ++--
 libc/src/math/generic/llogbf.cpp                     |  4 ++--
 libc/src/math/generic/llogbf128.cpp                  |  4 ++--
 libc/src/math/generic/llogbf16.cpp                   |  4 ++--
 libc/src/math/generic/llogbl.cpp                     |  4 ++--
 libc/src/math/generic/llrint.cpp                     |  4 ++--
 libc/src/math/generic/llrintf.cpp                    |  4 ++--
 libc/src/math/generic/llrintf128.cpp                 |  4 ++--
 libc/src/math/generic/llrintf16.cpp                  |  4 ++--
 libc/src/math/generic/llrintl.cpp                    |  4 ++--
 libc/src/math/generic/llround.cpp                    |  4 ++--
 libc/src/math/generic/llroundf.cpp                   |  4 ++--
 libc/src/math/generic/llroundf128.cpp                |  4 ++--
 libc/src/math/generic/llroundf16.cpp                 |  4 ++--
 libc/src/math/generic/llroundl.cpp                   |  4 ++--
 libc/src/math/generic/log.cpp                        |  4 ++--
 libc/src/math/generic/log10.cpp                      |  4 ++--
 libc/src/math/generic/log10f.cpp                     |  4 ++--
 libc/src/math/generic/log1p.cpp                      |  4 ++--
 libc/src/math/generic/log1pf.cpp                     |  4 ++--
 libc/src/math/generic/log2.cpp                       |  4 ++--
 libc/src/math/generic/log2f.cpp                      |  4 ++--
 libc/src/math/generic/log_range_reduction.h          |  4 ++--
 libc/src/math/generic/logb.cpp                       |  4 ++--
 libc/src/math/generic/logbf.cpp                      |  4 ++--
 libc/src/math/generic/logbf128.cpp                   |  4 ++--
 libc/src/math/generic/logbf16.cpp                    |  4 ++--
 libc/src/math/generic/logbl.cpp                      |  4 ++--
 libc/src/math/generic/logf.cpp                       |  4 ++--
 libc/src/math/generic/lrint.cpp                      |  4 ++--
 libc/src/math/generic/lrintf.cpp                     |  4 ++--
 libc/src/math/generic/lrintf128.cpp                  |  4 ++--
 libc/src/math/generic/lrintf16.cpp                   |  4 ++--
 libc/src/math/generic/lrintl.cpp                     |  4 ++--
 libc/src/math/generic/lround.cpp                     |  4 ++--
 libc/src/math/generic/lroundf.cpp                    |  4 ++--
 libc/src/math/generic/lroundf128.cpp                 |  4 ++--
 libc/src/math/generic/lroundf16.cpp                  |  4 ++--
 libc/src/math/generic/lroundl.cpp                    |  4 ++--
 libc/src/math/generic/modf.cpp                       |  4 ++--
 libc/src/math/generic/modff.cpp                      |  4 ++--
 libc/src/math/generic/modff128.cpp                   |  4 ++--
 libc/src/math/generic/modff16.cpp                    |  4 ++--
 libc/src/math/generic/modfl.cpp                      |  4 ++--
 libc/src/math/generic/nan.cpp                        |  4 ++--
 libc/src/math/generic/nanf.cpp                       |  4 ++--
 libc/src/math/generic/nanf128.cpp                    |  4 ++--
 libc/src/math/generic/nanf16.cpp                     |  4 ++--
 libc/src/math/generic/nanl.cpp                       |  4 ++--
 libc/src/math/generic/nearbyint.cpp                  |  4 ++--
 libc/src/math/generic/nearbyintf.cpp                 |  4 ++--
 libc/src/math/generic/nearbyintf128.cpp              |  4 ++--
 libc/src/math/generic/nearbyintf16.cpp               |  4 ++--
 libc/src/math/generic/nearbyintl.cpp                 |  4 ++--
 libc/src/math/generic/nextafter.cpp                  |  4 ++--
 libc/src/math/generic/nextafterf.cpp                 |  4 ++--
 libc/src/math/generic/nextafterf128.cpp              |  4 ++--
 libc/src/math/generic/nextafterf16.cpp               |  4 ++--
 libc/src/math/generic/nextafterl.cpp                 |  4 ++--
 libc/src/math/generic/nextdown.cpp                   |  4 ++--
 libc/src/math/generic/nextdownf.cpp                  |  4 ++--
 libc/src/math/generic/nextdownf128.cpp               |  4 ++--
 libc/src/math/generic/nextdownf16.cpp                |  4 ++--
 libc/src/math/generic/nextdownl.cpp                  |  4 ++--
 libc/src/math/generic/nexttoward.cpp                 |  4 ++--
 libc/src/math/generic/nexttowardf.cpp                |  4 ++--
 libc/src/math/generic/nexttowardf16.cpp              |  4 ++--
 libc/src/math/generic/nexttowardl.cpp                |  4 ++--
 libc/src/math/generic/nextup.cpp                     |  4 ++--
 libc/src/math/generic/nextupf.cpp                    |  4 ++--
 libc/src/math/generic/nextupf128.cpp                 |  4 ++--
 libc/src/math/generic/nextupf16.cpp                  |  4 ++--
 libc/src/math/generic/nextupl.cpp                    |  4 ++--
 libc/src/math/generic/powf.cpp                       |  4 ++--
 libc/src/math/generic/range_reduction.h              |  4 ++--
 .../src/math/generic/range_reduction_double_common.h |  4 ++--
 libc/src/math/generic/range_reduction_double_fma.h   |  4 ++--
 libc/src/math/generic/range_reduction_double_nofma.h |  4 ++--
 libc/src/math/generic/range_reduction_fma.h          |  4 ++--
 libc/src/math/generic/remainder.cpp                  |  4 ++--
 libc/src/math/generic/remainderf.cpp                 |  4 ++--
 libc/src/math/generic/remainderf16.cpp               |  4 ++--
 libc/src/math/generic/remainderl.cpp                 |  4 ++--
 libc/src/math/generic/remquo.cpp                     |  4 ++--
 libc/src/math/generic/remquof.cpp                    |  4 ++--
 libc/src/math/generic/remquof128.cpp                 |  4 ++--
 libc/src/math/generic/remquof16.cpp                  |  4 ++--
 libc/src/math/generic/remquol.cpp                    |  4 ++--
 libc/src/math/generic/rint.cpp                       |  4 ++--
 libc/src/math/generic/rintf.cpp                      |  4 ++--
 libc/src/math/generic/rintf128.cpp                   |  4 ++--
 libc/src/math/generic/rintf16.cpp                    |  4 ++--
 libc/src/math/generic/rintl.cpp                      |  4 ++--
 libc/src/math/generic/round.cpp                      |  4 ++--
 libc/src/math/generic/roundeven.cpp                  |  4 ++--
 libc/src/math/generic/roundevenf.cpp                 |  4 ++--
 libc/src/math/generic/roundevenf128.cpp              |  4 ++--
 libc/src/math/generic/roundevenf16.cpp               |  4 ++--
 libc/src/math/generic/roundevenl.cpp                 |  4 ++--
 libc/src/math/generic/roundf.cpp                     |  4 ++--
 libc/src/math/generic/roundf128.cpp                  |  4 ++--
 libc/src/math/generic/roundf16.cpp                   |  4 ++--
 libc/src/math/generic/roundl.cpp                     |  4 ++--
 libc/src/math/generic/scalblnf16.cpp                 |  4 ++--
 libc/src/math/generic/scalbn.cpp                     |  4 ++--
 libc/src/math/generic/scalbnf.cpp                    |  4 ++--
 libc/src/math/generic/scalbnf128.cpp                 |  4 ++--
 libc/src/math/generic/scalbnf16.cpp                  |  4 ++--
 libc/src/math/generic/scalbnl.cpp                    |  4 ++--
 libc/src/math/generic/setpayloadf16.cpp              |  4 ++--
 libc/src/math/generic/setpayloadsigf16.cpp           |  4 ++--
 libc/src/math/generic/sin.cpp                        |  4 ++--
 libc/src/math/generic/sincos.cpp                     |  4 ++--
 libc/src/math/generic/sincos_eval.h                  |  4 ++--
 libc/src/math/generic/sincosf.cpp                    |  4 ++--
 libc/src/math/generic/sincosf_utils.h                |  4 ++--
 libc/src/math/generic/sinf.cpp                       |  4 ++--
 libc/src/math/generic/sinhf.cpp                      |  4 ++--
 libc/src/math/generic/sinpif.cpp                     |  4 ++--
 libc/src/math/generic/sqrt.cpp                       |  4 ++--
 libc/src/math/generic/sqrtf.cpp                      |  4 ++--
 libc/src/math/generic/sqrtf128.cpp                   |  4 ++--
 libc/src/math/generic/sqrtl.cpp                      |  4 ++--
 libc/src/math/generic/tan.cpp                        |  4 ++--
 libc/src/math/generic/tanf.cpp                       |  4 ++--
 libc/src/math/generic/tanhf.cpp                      |  4 ++--
 libc/src/math/generic/totalorderf16.cpp              |  4 ++--
 libc/src/math/generic/totalordermagf16.cpp           |  4 ++--
 libc/src/math/generic/trunc.cpp                      |  4 ++--
 libc/src/math/generic/truncf.cpp                     |  4 ++--
 libc/src/math/generic/truncf128.cpp                  |  4 ++--
 libc/src/math/generic/truncf16.cpp                   |  4 ++--
 libc/src/math/generic/truncl.cpp                     |  4 ++--
 libc/src/math/generic/ufromfp.cpp                    |  4 ++--
 libc/src/math/generic/ufromfpf.cpp                   |  4 ++--
 libc/src/math/generic/ufromfpf128.cpp                |  4 ++--
 libc/src/math/generic/ufromfpf16.cpp                 |  4 ++--
 libc/src/math/generic/ufromfpl.cpp                   |  4 ++--
 libc/src/math/generic/ufromfpx.cpp                   |  4 ++--
 libc/src/math/generic/ufromfpxf.cpp                  |  4 ++--
 libc/src/math/generic/ufromfpxf128.cpp               |  4 ++--
 libc/src/math/generic/ufromfpxf16.cpp                |  4 ++--
 libc/src/math/generic/ufromfpxl.cpp                  |  4 ++--
 libc/src/math/getpayloadf16.h                        |  4 ++--
 libc/src/math/hypot.h                                |  4 ++--
 libc/src/math/hypotf.h                               |  4 ++--
 libc/src/math/ilogb.h                                |  4 ++--
 libc/src/math/ilogbf.h                               |  4 ++--
 libc/src/math/ilogbf128.h                            |  4 ++--
 libc/src/math/ilogbf16.h                             |  4 ++--
 libc/src/math/ilogbl.h                               |  4 ++--
 libc/src/math/isnan.h                                |  4 ++--
 libc/src/math/isnanf.h                               |  4 ++--
 libc/src/math/isnanl.h                               |  4 ++--
 libc/src/math/ldexp.h                                |  4 ++--
 libc/src/math/ldexpf.h                               |  4 ++--
 libc/src/math/ldexpf128.h                            |  4 ++--
 libc/src/math/ldexpf16.h                             |  4 ++--
 libc/src/math/ldexpl.h                               |  4 ++--
 libc/src/math/llogb.h                                |  4 ++--
 libc/src/math/llogbf.h                               |  4 ++--
 libc/src/math/llogbf128.h                            |  4 ++--
 libc/src/math/llogbf16.h                             |  4 ++--
 libc/src/math/llogbl.h                               |  4 ++--
 libc/src/math/llrint.h                               |  4 ++--
 libc/src/math/llrintf.h                              |  4 ++--
 libc/src/math/llrintf128.h                           |  4 ++--
 libc/src/math/llrintf16.h                            |  4 ++--
 libc/src/math/llrintl.h                              |  4 ++--
 libc/src/math/llround.h                              |  4 ++--
 libc/src/math/llroundf.h                             |  4 ++--
 libc/src/math/llroundf128.h                          |  4 ++--
 libc/src/math/llroundf16.h                           |  4 ++--
 libc/src/math/llroundl.h                             |  4 ++--
 libc/src/math/log.h                                  |  4 ++--
 libc/src/math/log10.h                                |  4 ++--
 libc/src/math/log10f.h                               |  4 ++--
 libc/src/math/log1p.h                                |  4 ++--
 libc/src/math/log1pf.h                               |  4 ++--
 libc/src/math/log2.h                                 |  4 ++--
 libc/src/math/log2f.h                                |  4 ++--
 libc/src/math/logb.h                                 |  4 ++--
 libc/src/math/logbf.h                                |  4 ++--
 libc/src/math/logbf128.h                             |  4 ++--
 libc/src/math/logbf16.h                              |  4 ++--
 libc/src/math/logbl.h                                |  4 ++--
 libc/src/math/logf.h                                 |  4 ++--
 libc/src/math/lrint.h                                |  4 ++--
 libc/src/math/lrintf.h                               |  4 ++--
 libc/src/math/lrintf128.h                            |  4 ++--
 libc/src/math/lrintf16.h                             |  4 ++--
 libc/src/math/lrintl.h                               |  4 ++--
 libc/src/math/lround.h                               |  4 ++--
 libc/src/math/lroundf.h                              |  4 ++--
 libc/src/math/lroundf128.h                           |  4 ++--
 libc/src/math/lroundf16.h                            |  4 ++--
 libc/src/math/lroundl.h                              |  4 ++--
 libc/src/math/modf.h                                 |  4 ++--
 libc/src/math/modff.h                                |  4 ++--
 libc/src/math/modff128.h                             |  4 ++--
 libc/src/math/modff16.h                              |  4 ++--
 libc/src/math/modfl.h                                |  4 ++--
 libc/src/math/nan.h                                  |  4 ++--
 libc/src/math/nanf.h                                 |  4 ++--
 libc/src/math/nanf128.h                              |  4 ++--
 libc/src/math/nanf16.h                               |  4 ++--
 libc/src/math/nanl.h                                 |  4 ++--
 libc/src/math/nearbyint.h                            |  4 ++--
 libc/src/math/nearbyintf.h                           |  4 ++--
 libc/src/math/nearbyintf128.h                        |  4 ++--
 libc/src/math/nearbyintf16.h                         |  4 ++--
 libc/src/math/nearbyintl.h                           |  4 ++--
 libc/src/math/nextafter.h                            |  4 ++--
 libc/src/math/nextafterf.h                           |  4 ++--
 libc/src/math/nextafterf128.h                        |  4 ++--
 libc/src/math/nextafterf16.h                         |  4 ++--
 libc/src/math/nextafterl.h                           |  4 ++--
 libc/src/math/nextdown.h                             |  4 ++--
 libc/src/math/nextdownf.h                            |  4 ++--
 libc/src/math/nextdownf128.h                         |  4 ++--
 libc/src/math/nextdownf16.h                          |  4 ++--
 libc/src/math/nextdownl.h                            |  4 ++--
 libc/src/math/nexttoward.h                           |  4 ++--
 libc/src/math/nexttowardf.h                          |  4 ++--
 libc/src/math/nexttowardf16.h                        |  4 ++--
 libc/src/math/nexttowardl.h                          |  4 ++--
 libc/src/math/nextup.h                               |  4 ++--
 libc/src/math/nextupf.h                              |  4 ++--
 libc/src/math/nextupf128.h                           |  4 ++--
 libc/src/math/nextupf16.h                            |  4 ++--
 libc/src/math/nextupl.h                              |  4 ++--
 libc/src/math/nvptx/acos.cpp                         |  4 ++--
 libc/src/math/nvptx/acosf.cpp                        |  4 ++--
 libc/src/math/nvptx/acosh.cpp                        |  4 ++--
 libc/src/math/nvptx/acoshf.cpp                       |  4 ++--
 libc/src/math/nvptx/asin.cpp                         |  4 ++--
 libc/src/math/nvptx/asinf.cpp                        |  4 ++--
 libc/src/math/nvptx/asinh.cpp                        |  4 ++--
 libc/src/math/nvptx/asinhf.cpp                       |  4 ++--
 libc/src/math/nvptx/atan.cpp                         |  4 ++--
 libc/src/math/nvptx/atan2.cpp                        |  4 ++--
 libc/src/math/nvptx/atan2f.cpp                       |  4 ++--
 libc/src/math/nvptx/atanf.cpp                        |  4 ++--
 libc/src/math/nvptx/atanh.cpp                        |  4 ++--
 libc/src/math/nvptx/atanhf.cpp                       |  4 ++--
 libc/src/math/nvptx/ceil.cpp                         |  4 ++--
 libc/src/math/nvptx/ceilf.cpp                        |  4 ++--
 libc/src/math/nvptx/copysign.cpp                     |  4 ++--
 libc/src/math/nvptx/copysignf.cpp                    |  4 ++--
 libc/src/math/nvptx/cos.cpp                          |  4 ++--
 libc/src/math/nvptx/cosf.cpp                         |  4 ++--
 libc/src/math/nvptx/cosh.cpp                         |  4 ++--
 libc/src/math/nvptx/coshf.cpp                        |  4 ++--
 libc/src/math/nvptx/declarations.h                   |  4 ++--
 libc/src/math/nvptx/erf.cpp                          |  4 ++--
 libc/src/math/nvptx/erff.cpp                         |  4 ++--
 libc/src/math/nvptx/exp.cpp                          |  4 ++--
 libc/src/math/nvptx/exp10.cpp                        |  4 ++--
 libc/src/math/nvptx/exp10f.cpp                       |  4 ++--
 libc/src/math/nvptx/exp2.cpp                         |  4 ++--
 libc/src/math/nvptx/exp2f.cpp                        |  4 ++--
 libc/src/math/nvptx/expf.cpp                         |  4 ++--
 libc/src/math/nvptx/expm1.cpp                        |  4 ++--
 libc/src/math/nvptx/expm1f.cpp                       |  4 ++--
 libc/src/math/nvptx/fabs.cpp                         |  4 ++--
 libc/src/math/nvptx/fabsf.cpp                        |  4 ++--
 libc/src/math/nvptx/fdim.cpp                         |  4 ++--
 libc/src/math/nvptx/fdimf.cpp                        |  4 ++--
 libc/src/math/nvptx/floor.cpp                        |  4 ++--
 libc/src/math/nvptx/floorf.cpp                       |  4 ++--
 libc/src/math/nvptx/fma.cpp                          |  4 ++--
 libc/src/math/nvptx/fmaf.cpp                         |  4 ++--
 libc/src/math/nvptx/fmax.cpp                         |  4 ++--
 libc/src/math/nvptx/fmaxf.cpp                        |  4 ++--
 libc/src/math/nvptx/fmin.cpp                         |  4 ++--
 libc/src/math/nvptx/fminf.cpp                        |  4 ++--
 libc/src/math/nvptx/fmod.cpp                         |  4 ++--
 libc/src/math/nvptx/fmodf.cpp                        |  4 ++--
 libc/src/math/nvptx/frexp.cpp                        |  4 ++--
 libc/src/math/nvptx/frexpf.cpp                       |  4 ++--
 libc/src/math/nvptx/hypot.cpp                        |  4 ++--
 libc/src/math/nvptx/hypotf.cpp                       |  4 ++--
 libc/src/math/nvptx/ilogb.cpp                        |  4 ++--
 libc/src/math/nvptx/ilogbf.cpp                       |  4 ++--
 libc/src/math/nvptx/ldexp.cpp                        |  4 ++--
 libc/src/math/nvptx/ldexpf.cpp                       |  4 ++--
 libc/src/math/nvptx/llrint.cpp                       |  4 ++--
 libc/src/math/nvptx/llrintf.cpp                      |  4 ++--
 libc/src/math/nvptx/log.cpp                          |  4 ++--
 libc/src/math/nvptx/log10.cpp                        |  4 ++--
 libc/src/math/nvptx/log10f.cpp                       |  4 ++--
 libc/src/math/nvptx/log1p.cpp                        |  4 ++--
 libc/src/math/nvptx/log1pf.cpp                       |  4 ++--
 libc/src/math/nvptx/log2.cpp                         |  4 ++--
 libc/src/math/nvptx/log2f.cpp                        |  4 ++--
 libc/src/math/nvptx/logb.cpp                         |  4 ++--
 libc/src/math/nvptx/logbf.cpp                        |  4 ++--
 libc/src/math/nvptx/logf.cpp                         |  4 ++--
 libc/src/math/nvptx/lrint.cpp                        |  4 ++--
 libc/src/math/nvptx/lrintf.cpp                       |  4 ++--
 libc/src/math/nvptx/nearbyint.cpp                    |  4 ++--
 libc/src/math/nvptx/nearbyintf.cpp                   |  4 ++--
 libc/src/math/nvptx/nextafter.cpp                    |  4 ++--
 libc/src/math/nvptx/nextafterf.cpp                   |  4 ++--
 libc/src/math/nvptx/nvptx.h                          |  4 ++--
 libc/src/math/nvptx/pow.cpp                          |  4 ++--
 libc/src/math/nvptx/powf.cpp                         |  4 ++--
 libc/src/math/nvptx/powi.cpp                         |  4 ++--
 libc/src/math/nvptx/powif.cpp                        |  4 ++--
 libc/src/math/nvptx/remainder.cpp                    |  4 ++--
 libc/src/math/nvptx/remainderf.cpp                   |  4 ++--
 libc/src/math/nvptx/remquo.cpp                       |  4 ++--
 libc/src/math/nvptx/remquof.cpp                      |  4 ++--
 libc/src/math/nvptx/rint.cpp                         |  4 ++--
 libc/src/math/nvptx/rintf.cpp                        |  4 ++--
 libc/src/math/nvptx/round.cpp                        |  4 ++--
 libc/src/math/nvptx/roundf.cpp                       |  4 ++--
 libc/src/math/nvptx/scalbn.cpp                       |  4 ++--
 libc/src/math/nvptx/scalbnf.cpp                      |  4 ++--
 libc/src/math/nvptx/sin.cpp                          |  4 ++--
 libc/src/math/nvptx/sincos.cpp                       |  4 ++--
 libc/src/math/nvptx/sincosf.cpp                      |  4 ++--
 libc/src/math/nvptx/sinf.cpp                         |  4 ++--
 libc/src/math/nvptx/sinh.cpp                         |  4 ++--
 libc/src/math/nvptx/sinhf.cpp                        |  4 ++--
 libc/src/math/nvptx/sqrt.cpp                         |  4 ++--
 libc/src/math/nvptx/sqrtf.cpp                        |  4 ++--
 libc/src/math/nvptx/tan.cpp                          |  4 ++--
 libc/src/math/nvptx/tanf.cpp                         |  4 ++--
 libc/src/math/nvptx/tanh.cpp                         |  4 ++--
 libc/src/math/nvptx/tanhf.cpp                        |  4 ++--
 libc/src/math/nvptx/tgamma.cpp                       |  4 ++--
 libc/src/math/nvptx/tgammaf.cpp                      |  4 ++--
 libc/src/math/nvptx/trunc.cpp                        |  4 ++--
 libc/src/math/nvptx/truncf.cpp                       |  4 ++--
 libc/src/math/pow.h                                  |  4 ++--
 libc/src/math/powf.h                                 |  4 ++--
 libc/src/math/powi.h                                 |  4 ++--
 libc/src/math/powif.h                                |  4 ++--
 libc/src/math/remainder.h                            |  4 ++--
 libc/src/math/remainderf.h                           |  4 ++--
 libc/src/math/remainderf16.h                         |  4 ++--
 libc/src/math/remainderl.h                           |  4 ++--
 libc/src/math/remquo.h                               |  4 ++--
 libc/src/math/remquof.h                              |  4 ++--
 libc/src/math/remquof128.h                           |  4 ++--
 libc/src/math/remquof16.h                            |  4 ++--
 libc/src/math/remquol.h                              |  4 ++--
 libc/src/math/rint.h                                 |  4 ++--
 libc/src/math/rintf.h                                |  4 ++--
 libc/src/math/rintf128.h                             |  4 ++--
 libc/src/math/rintf16.h                              |  4 ++--
 libc/src/math/rintl.h                                |  4 ++--
 libc/src/math/round.h                                |  4 ++--
 libc/src/math/roundeven.h                            |  4 ++--
 libc/src/math/roundevenf.h                           |  4 ++--
 libc/src/math/roundevenf128.h                        |  4 ++--
 libc/src/math/roundevenf16.h                         |  4 ++--
 libc/src/math/roundevenl.h                           |  4 ++--
 libc/src/math/roundf.h                               |  4 ++--
 libc/src/math/roundf128.h                            |  4 ++--
 libc/src/math/roundf16.h                             |  4 ++--
 libc/src/math/roundl.h                               |  4 ++--
 libc/src/math/scalblnf16.h                           |  4 ++--
 libc/src/math/scalbn.h                               |  4 ++--
 libc/src/math/scalbnf.h                              |  4 ++--
 libc/src/math/scalbnf128.h                           |  4 ++--
 libc/src/math/scalbnf16.h                            |  4 ++--
 libc/src/math/scalbnl.h                              |  4 ++--
 libc/src/math/setpayloadf16.h                        |  4 ++--
 libc/src/math/setpayloadsigf16.h                     |  4 ++--
 libc/src/math/sin.h                                  |  4 ++--
 libc/src/math/sincos.h                               |  4 ++--
 libc/src/math/sincosf.h                              |  4 ++--
 libc/src/math/sinf.h                                 |  4 ++--
 libc/src/math/sinh.h                                 |  4 ++--
 libc/src/math/sinhf.h                                |  4 ++--
 libc/src/math/sinpif.h                               |  4 ++--
 libc/src/math/sqrt.h                                 |  4 ++--
 libc/src/math/sqrtf.h                                |  4 ++--
 libc/src/math/sqrtf128.h                             |  4 ++--
 libc/src/math/sqrtl.h                                |  4 ++--
 libc/src/math/tan.h                                  |  4 ++--
 libc/src/math/tanf.h                                 |  4 ++--
 libc/src/math/tanh.h                                 |  4 ++--
 libc/src/math/tanhf.h                                |  4 ++--
 libc/src/math/tgamma.h                               |  4 ++--
 libc/src/math/tgammaf.h                              |  4 ++--
 libc/src/math/totalorderf16.h                        |  4 ++--
 libc/src/math/totalordermagf16.h                     |  4 ++--
 libc/src/math/trunc.h                                |  4 ++--
 libc/src/math/truncf.h                               |  4 ++--
 libc/src/math/truncf128.h                            |  4 ++--
 libc/src/math/truncf16.h                             |  4 ++--
 libc/src/math/truncl.h                               |  4 ++--
 libc/src/math/ufromfp.h                              |  4 ++--
 libc/src/math/ufromfpf.h                             |  4 ++--
 libc/src/math/ufromfpf128.h                          |  4 ++--
 libc/src/math/ufromfpf16.h                           |  4 ++--
 libc/src/math/ufromfpl.h                             |  4 ++--
 libc/src/math/ufromfpx.h                             |  4 ++--
 libc/src/math/ufromfpxf.h                            |  4 ++--
 libc/src/math/ufromfpxf128.h                         |  4 ++--
 libc/src/math/ufromfpxf16.h                          |  4 ++--
 libc/src/math/ufromfpxl.h                            |  4 ++--
 libc/src/network/htonl.cpp                           |  4 ++--
 libc/src/network/htonl.h                             |  4 ++--
 libc/src/network/htons.cpp                           |  4 ++--
 libc/src/network/htons.h                             |  4 ++--
 libc/src/network/ntohl.cpp                           |  4 ++--
 libc/src/network/ntohl.h                             |  4 ++--
 libc/src/network/ntohs.cpp                           |  4 ++--
 libc/src/network/ntohs.h                             |  4 ++--
 libc/src/pthread/pthread_atfork.cpp                  |  4 ++--
 libc/src/pthread/pthread_atfork.h                    |  4 ++--
 libc/src/pthread/pthread_attr_destroy.cpp            |  4 ++--
 libc/src/pthread/pthread_attr_destroy.h              |  4 ++--
 libc/src/pthread/pthread_attr_getdetachstate.cpp     |  4 ++--
 libc/src/pthread/pthread_attr_getdetachstate.h       |  4 ++--
 libc/src/pthread/pthread_attr_getguardsize.cpp       |  4 ++--
 libc/src/pthread/pthread_attr_getguardsize.h         |  4 ++--
 libc/src/pthread/pthread_attr_getstack.cpp           |  4 ++--
 libc/src/pthread/pthread_attr_getstack.h             |  4 ++--
 libc/src/pthread/pthread_attr_getstacksize.cpp       |  4 ++--
 libc/src/pthread/pthread_attr_getstacksize.h         |  4 ++--
 libc/src/pthread/pthread_attr_init.cpp               |  4 ++--
 libc/src/pthread/pthread_attr_init.h                 |  4 ++--
 libc/src/pthread/pthread_attr_setdetachstate.cpp     |  4 ++--
 libc/src/pthread/pthread_attr_setdetachstate.h       |  4 ++--
 libc/src/pthread/pthread_attr_setguardsize.cpp       |  4 ++--
 libc/src/pthread/pthread_attr_setguardsize.h         |  4 ++--
 libc/src/pthread/pthread_attr_setstack.cpp           |  4 ++--
 libc/src/pthread/pthread_attr_setstack.h             |  4 ++--
 libc/src/pthread/pthread_attr_setstacksize.cpp       |  4 ++--
 libc/src/pthread/pthread_attr_setstacksize.h         |  4 ++--
 libc/src/pthread/pthread_condattr_destroy.cpp        |  4 ++--
 libc/src/pthread/pthread_condattr_destroy.h          |  4 ++--
 libc/src/pthread/pthread_condattr_getclock.cpp       |  4 ++--
 libc/src/pthread/pthread_condattr_getclock.h         |  4 ++--
 libc/src/pthread/pthread_condattr_getpshared.cpp     |  4 ++--
 libc/src/pthread/pthread_condattr_getpshared.h       |  4 ++--
 libc/src/pthread/pthread_condattr_init.cpp           |  4 ++--
 libc/src/pthread/pthread_condattr_init.h             |  4 ++--
 libc/src/pthread/pthread_condattr_setclock.cpp       |  4 ++--
 libc/src/pthread/pthread_condattr_setclock.h         |  4 ++--
 libc/src/pthread/pthread_condattr_setpshared.cpp     |  4 ++--
 libc/src/pthread/pthread_condattr_setpshared.h       |  4 ++--
 libc/src/pthread/pthread_create.cpp                  |  4 ++--
 libc/src/pthread/pthread_create.h                    |  4 ++--
 libc/src/pthread/pthread_detach.cpp                  |  4 ++--
 libc/src/pthread/pthread_detach.h                    |  4 ++--
 libc/src/pthread/pthread_equal.cpp                   |  4 ++--
 libc/src/pthread/pthread_equal.h                     |  4 ++--
 libc/src/pthread/pthread_exit.cpp                    |  4 ++--
 libc/src/pthread/pthread_exit.h                      |  4 ++--
 libc/src/pthread/pthread_getname_np.cpp              |  4 ++--
 libc/src/pthread/pthread_getname_np.h                |  4 ++--
 libc/src/pthread/pthread_getspecific.cpp             |  4 ++--
 libc/src/pthread/pthread_getspecific.h               |  4 ++--
 libc/src/pthread/pthread_join.cpp                    |  4 ++--
 libc/src/pthread/pthread_join.h                      |  4 ++--
 libc/src/pthread/pthread_key_create.cpp              |  4 ++--
 libc/src/pthread/pthread_key_create.h                |  4 ++--
 libc/src/pthread/pthread_key_delete.cpp              |  4 ++--
 libc/src/pthread/pthread_key_delete.h                |  4 ++--
 libc/src/pthread/pthread_mutex_destroy.cpp           |  4 ++--
 libc/src/pthread/pthread_mutex_destroy.h             |  4 ++--
 libc/src/pthread/pthread_mutex_init.cpp              |  4 ++--
 libc/src/pthread/pthread_mutex_init.h                |  4 ++--
 libc/src/pthread/pthread_mutex_lock.cpp              |  4 ++--
 libc/src/pthread/pthread_mutex_lock.h                |  4 ++--
 libc/src/pthread/pthread_mutex_unlock.cpp            |  4 ++--
 libc/src/pthread/pthread_mutex_unlock.h              |  4 ++--
 libc/src/pthread/pthread_mutexattr.h                 |  4 ++--
 libc/src/pthread/pthread_mutexattr_destroy.cpp       |  4 ++--
 libc/src/pthread/pthread_mutexattr_destroy.h         |  4 ++--
 libc/src/pthread/pthread_mutexattr_getpshared.cpp    |  4 ++--
 libc/src/pthread/pthread_mutexattr_getpshared.h      |  4 ++--
 libc/src/pthread/pthread_mutexattr_getrobust.cpp     |  4 ++--
 libc/src/pthread/pthread_mutexattr_getrobust.h       |  4 ++--
 libc/src/pthread/pthread_mutexattr_gettype.cpp       |  4 ++--
 libc/src/pthread/pthread_mutexattr_gettype.h         |  4 ++--
 libc/src/pthread/pthread_mutexattr_init.cpp          |  4 ++--
 libc/src/pthread/pthread_mutexattr_init.h            |  4 ++--
 libc/src/pthread/pthread_mutexattr_setpshared.cpp    |  4 ++--
 libc/src/pthread/pthread_mutexattr_setpshared.h      |  4 ++--
 libc/src/pthread/pthread_mutexattr_setrobust.cpp     |  4 ++--
 libc/src/pthread/pthread_mutexattr_setrobust.h       |  4 ++--
 libc/src/pthread/pthread_mutexattr_settype.cpp       |  4 ++--
 libc/src/pthread/pthread_mutexattr_settype.h         |  4 ++--
 libc/src/pthread/pthread_once.cpp                    |  4 ++--
 libc/src/pthread/pthread_once.h                      |  4 ++--
 libc/src/pthread/pthread_rwlock_destroy.cpp          |  4 ++--
 libc/src/pthread/pthread_rwlock_destroy.h            |  4 ++--
 libc/src/pthread/pthread_rwlock_init.cpp             |  4 ++--
 libc/src/pthread/pthread_rwlock_init.h               |  4 ++--
 libc/src/pthread/pthread_rwlock_rdlock.cpp           |  4 ++--
 libc/src/pthread/pthread_rwlock_rdlock.h             |  4 ++--
 libc/src/pthread/pthread_rwlock_timedrdlock.cpp      |  4 ++--
 libc/src/pthread/pthread_rwlock_timedrdlock.h        |  4 ++--
 libc/src/pthread/pthread_rwlock_timedwrlock.cpp      |  4 ++--
 libc/src/pthread/pthread_rwlock_timedwrlock.h        |  4 ++--
 libc/src/pthread/pthread_rwlock_tryrdlock.cpp        |  4 ++--
 libc/src/pthread/pthread_rwlock_tryrdlock.h          |  4 ++--
 libc/src/pthread/pthread_rwlock_trywrlock.cpp        |  4 ++--
 libc/src/pthread/pthread_rwlock_trywrlock.h          |  4 ++--
 libc/src/pthread/pthread_rwlock_unlock.cpp           |  4 ++--
 libc/src/pthread/pthread_rwlock_unlock.h             |  4 ++--
 libc/src/pthread/pthread_rwlock_wrlock.cpp           |  4 ++--
 libc/src/pthread/pthread_rwlock_wrlock.h             |  4 ++--
 libc/src/pthread/pthread_rwlockattr_destroy.cpp      |  4 ++--
 libc/src/pthread/pthread_rwlockattr_destroy.h        |  4 ++--
 libc/src/pthread/pthread_rwlockattr_getkind_np.cpp   |  4 ++--
 libc/src/pthread/pthread_rwlockattr_getkind_np.h     |  4 ++--
 libc/src/pthread/pthread_rwlockattr_getpshared.cpp   |  4 ++--
 libc/src/pthread/pthread_rwlockattr_getpshared.h     |  4 ++--
 libc/src/pthread/pthread_rwlockattr_init.cpp         |  4 ++--
 libc/src/pthread/pthread_rwlockattr_init.h           |  4 ++--
 libc/src/pthread/pthread_rwlockattr_setkind_np.cpp   |  4 ++--
 libc/src/pthread/pthread_rwlockattr_setkind_np.h     |  4 ++--
 libc/src/pthread/pthread_rwlockattr_setpshared.cpp   |  4 ++--
 libc/src/pthread/pthread_rwlockattr_setpshared.h     |  4 ++--
 libc/src/pthread/pthread_self.cpp                    |  4 ++--
 libc/src/pthread/pthread_self.h                      |  4 ++--
 libc/src/pthread/pthread_setname_np.cpp              |  4 ++--
 libc/src/pthread/pthread_setname_np.h                |  4 ++--
 libc/src/pthread/pthread_setspecific.cpp             |  4 ++--
 libc/src/pthread/pthread_setspecific.h               |  4 ++--
 libc/src/sched/linux/sched_get_priority_max.cpp      |  4 ++--
 libc/src/sched/linux/sched_get_priority_min.cpp      |  4 ++--
 libc/src/sched/linux/sched_getaffinity.cpp           |  4 ++--
 libc/src/sched/linux/sched_getcpucount.cpp           |  4 ++--
 libc/src/sched/linux/sched_getparam.cpp              |  4 ++--
 libc/src/sched/linux/sched_getscheduler.cpp          |  4 ++--
 libc/src/sched/linux/sched_rr_get_interval.cpp       |  4 ++--
 libc/src/sched/linux/sched_setaffinity.cpp           |  4 ++--
 libc/src/sched/linux/sched_setparam.cpp              |  4 ++--
 libc/src/sched/linux/sched_setscheduler.cpp          |  4 ++--
 libc/src/sched/linux/sched_yield.cpp                 |  4 ++--
 libc/src/sched/sched_get_priority_max.h              |  4 ++--
 libc/src/sched/sched_get_priority_min.h              |  4 ++--
 libc/src/sched/sched_getaffinity.h                   |  4 ++--
 libc/src/sched/sched_getcpucount.h                   |  4 ++--
 libc/src/sched/sched_getparam.h                      |  4 ++--
 libc/src/sched/sched_getscheduler.h                  |  4 ++--
 libc/src/sched/sched_rr_get_interval.h               |  4 ++--
 libc/src/sched/sched_setaffinity.h                   |  4 ++--
 libc/src/sched/sched_setparam.h                      |  4 ++--
 libc/src/sched/sched_setscheduler.h                  |  4 ++--
 libc/src/sched/sched_yield.h                         |  4 ++--
 libc/src/search/hcreate.cpp                          |  4 ++--
 libc/src/search/hcreate.h                            |  4 ++--
 libc/src/search/hcreate_r.cpp                        |  4 ++--
 libc/src/search/hcreate_r.h                          |  4 ++--
 libc/src/search/hdestroy.cpp                         |  4 ++--
 libc/src/search/hdestroy.h                           |  4 ++--
 libc/src/search/hdestroy_r.cpp                       |  4 ++--
 libc/src/search/hdestroy_r.h                         |  4 ++--
 libc/src/search/hsearch.cpp                          |  4 ++--
 libc/src/search/hsearch.h                            |  4 ++--
 libc/src/search/hsearch/global.cpp                   |  4 ++--
 libc/src/search/hsearch/global.h                     |  4 ++--
 libc/src/search/hsearch_r.cpp                        |  4 ++--
 libc/src/search/hsearch_r.h                          |  4 ++--
 libc/src/search/insque.cpp                           |  4 ++--
 libc/src/search/insque.h                             |  4 ++--
 libc/src/search/remque.cpp                           |  4 ++--
 libc/src/search/remque.h                             |  4 ++--
 libc/src/setjmp/arm/longjmp.cpp                      |  4 ++--
 libc/src/setjmp/arm/setjmp.cpp                       |  4 ++--
 libc/src/setjmp/longjmp.h                            |  4 ++--
 libc/src/setjmp/riscv/longjmp.cpp                    |  4 ++--
 libc/src/setjmp/riscv/setjmp.cpp                     |  4 ++--
 libc/src/setjmp/setjmp_impl.h                        |  4 ++--
 libc/src/setjmp/x86_64/longjmp.cpp                   |  4 ++--
 libc/src/setjmp/x86_64/setjmp.cpp                    |  4 ++--
 libc/src/signal/kill.h                               |  4 ++--
 libc/src/signal/linux/__restore.cpp                  |  4 ++--
 libc/src/signal/linux/kill.cpp                       |  4 ++--
 libc/src/signal/linux/raise.cpp                      |  4 ++--
 libc/src/signal/linux/sigaction.cpp                  |  4 ++--
 libc/src/signal/linux/sigaddset.cpp                  |  4 ++--
 libc/src/signal/linux/sigaltstack.cpp                |  4 ++--
 libc/src/signal/linux/sigdelset.cpp                  |  4 ++--
 libc/src/signal/linux/sigemptyset.cpp                |  4 ++--
 libc/src/signal/linux/sigfillset.cpp                 |  4 ++--
 libc/src/signal/linux/signal.cpp                     |  4 ++--
 libc/src/signal/linux/signal_utils.h                 |  4 ++--
 libc/src/signal/linux/sigprocmask.cpp                |  4 ++--
 libc/src/signal/raise.h                              |  4 ++--
 libc/src/signal/sigaction.h                          |  4 ++--
 libc/src/signal/sigaddset.h                          |  4 ++--
 libc/src/signal/sigaltstack.h                        |  4 ++--
 libc/src/signal/sigdelset.h                          |  4 ++--
 libc/src/signal/sigemptyset.h                        |  4 ++--
 libc/src/signal/sigfillset.h                         |  4 ++--
 libc/src/signal/signal.h                             |  4 ++--
 libc/src/signal/sigprocmask.h                        |  4 ++--
 libc/src/spawn/file_actions.h                        |  4 ++--
 libc/src/spawn/linux/posix_spawn.cpp                 |  4 ++--
 libc/src/spawn/posix_spawn.h                         |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_addclose.cpp |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_addclose.h   |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_adddup2.cpp  |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_adddup2.h    |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_addopen.cpp  |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_addopen.h    |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_destroy.cpp  |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_destroy.h    |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_init.cpp     |  4 ++--
 libc/src/spawn/posix_spawn_file_actions_init.h       |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_uc.cpp                 |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_uc.h                   |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ui.cpp                 |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ui.h                   |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ul.cpp                 |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ul.h                   |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ull.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_ull.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_us.cpp                 |  4 ++--
 libc/src/stdbit/stdc_bit_ceil_us.h                   |  4 ++--
 libc/src/stdbit/stdc_bit_floor_uc.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_floor_uc.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ui.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ui.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ul.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ul.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ull.cpp               |  4 ++--
 libc/src/stdbit/stdc_bit_floor_ull.h                 |  4 ++--
 libc/src/stdbit/stdc_bit_floor_us.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_floor_us.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_width_uc.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_width_uc.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_width_ui.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_width_ui.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_width_ul.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_width_ul.h                  |  4 ++--
 libc/src/stdbit/stdc_bit_width_ull.cpp               |  4 ++--
 libc/src/stdbit/stdc_bit_width_ull.h                 |  4 ++--
 libc/src/stdbit/stdc_bit_width_us.cpp                |  4 ++--
 libc/src/stdbit/stdc_bit_width_us.h                  |  4 ++--
 libc/src/stdbit/stdc_count_ones_uc.cpp               |  4 ++--
 libc/src/stdbit/stdc_count_ones_uc.h                 |  4 ++--
 libc/src/stdbit/stdc_count_ones_ui.cpp               |  4 ++--
 libc/src/stdbit/stdc_count_ones_ui.h                 |  4 ++--
 libc/src/stdbit/stdc_count_ones_ul.cpp               |  4 ++--
 libc/src/stdbit/stdc_count_ones_ul.h                 |  4 ++--
 libc/src/stdbit/stdc_count_ones_ull.cpp              |  4 ++--
 libc/src/stdbit/stdc_count_ones_ull.h                |  4 ++--
 libc/src/stdbit/stdc_count_ones_us.cpp               |  4 ++--
 libc/src/stdbit/stdc_count_ones_us.h                 |  4 ++--
 libc/src/stdbit/stdc_count_zeros_uc.cpp              |  4 ++--
 libc/src/stdbit/stdc_count_zeros_uc.h                |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ui.cpp              |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ui.h                |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ul.cpp              |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ul.h                |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ull.cpp             |  4 ++--
 libc/src/stdbit/stdc_count_zeros_ull.h               |  4 ++--
 libc/src/stdbit/stdc_count_zeros_us.cpp              |  4 ++--
 libc/src/stdbit/stdc_count_zeros_us.h                |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_uc.cpp        |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_uc.h          |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ui.cpp        |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ui.h          |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ul.cpp        |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ul.h          |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ull.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_ull.h         |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_us.cpp        |  4 ++--
 libc/src/stdbit/stdc_first_leading_one_us.h          |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_uc.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_uc.h         |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ui.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ui.h         |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ul.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ul.h         |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ull.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_ull.h        |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_us.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_leading_zero_us.h         |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_uc.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_uc.h         |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ui.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ui.h         |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ul.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ul.h         |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ull.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_ull.h        |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_us.cpp       |  4 ++--
 libc/src/stdbit/stdc_first_trailing_one_us.h         |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_uc.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_uc.h        |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ui.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ui.h        |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ul.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ul.h        |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ull.cpp     |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_ull.h       |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_us.cpp      |  4 ++--
 libc/src/stdbit/stdc_first_trailing_zero_us.h        |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_uc.cpp           |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_uc.h             |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ui.cpp           |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ui.h             |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ul.cpp           |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ul.h             |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ull.cpp          |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_ull.h            |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_us.cpp           |  4 ++--
 libc/src/stdbit/stdc_has_single_bit_us.h             |  4 ++--
 libc/src/stdbit/stdc_leading_ones_uc.cpp             |  4 ++--
 libc/src/stdbit/stdc_leading_ones_uc.h               |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ui.cpp             |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ui.h               |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ul.cpp             |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ul.h               |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ull.cpp            |  4 ++--
 libc/src/stdbit/stdc_leading_ones_ull.h              |  4 ++--
 libc/src/stdbit/stdc_leading_ones_us.cpp             |  4 ++--
 libc/src/stdbit/stdc_leading_ones_us.h               |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_uc.cpp            |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_uc.h              |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ui.cpp            |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ui.h              |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ul.cpp            |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ul.h              |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ull.cpp           |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_ull.h             |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_us.cpp            |  4 ++--
 libc/src/stdbit/stdc_leading_zeros_us.h              |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_uc.cpp            |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_uc.h              |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ui.cpp            |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ui.h              |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ul.cpp            |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ul.h              |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ull.cpp           |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_ull.h             |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_us.cpp            |  4 ++--
 libc/src/stdbit/stdc_trailing_ones_us.h              |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_uc.cpp           |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_uc.h             |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ui.cpp           |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ui.h             |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ul.cpp           |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ul.h             |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ull.cpp          |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_ull.h            |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_us.cpp           |  4 ++--
 libc/src/stdbit/stdc_trailing_zeros_us.h             |  4 ++--
 libc/src/stdfix/abshk.cpp                            |  4 ++--
 libc/src/stdfix/abshk.h                              |  4 ++--
 libc/src/stdfix/abshr.cpp                            |  4 ++--
 libc/src/stdfix/abshr.h                              |  4 ++--
 libc/src/stdfix/absk.cpp                             |  4 ++--
 libc/src/stdfix/absk.h                               |  4 ++--
 libc/src/stdfix/abslk.cpp                            |  4 ++--
 libc/src/stdfix/abslk.h                              |  4 ++--
 libc/src/stdfix/abslr.cpp                            |  4 ++--
 libc/src/stdfix/abslr.h                              |  4 ++--
 libc/src/stdfix/absr.cpp                             |  4 ++--
 libc/src/stdfix/absr.h                               |  4 ++--
 libc/src/stdfix/exphk.cpp                            |  4 ++--
 libc/src/stdfix/exphk.h                              |  4 ++--
 libc/src/stdfix/expk.cpp                             |  4 ++--
 libc/src/stdfix/expk.h                               |  4 ++--
 libc/src/stdfix/roundhk.cpp                          |  4 ++--
 libc/src/stdfix/roundhk.h                            |  4 ++--
 libc/src/stdfix/roundhr.cpp                          |  4 ++--
 libc/src/stdfix/roundhr.h                            |  4 ++--
 libc/src/stdfix/roundk.cpp                           |  4 ++--
 libc/src/stdfix/roundk.h                             |  4 ++--
 libc/src/stdfix/roundlk.cpp                          |  4 ++--
 libc/src/stdfix/roundlk.h                            |  4 ++--
 libc/src/stdfix/roundlr.cpp                          |  4 ++--
 libc/src/stdfix/roundlr.h                            |  4 ++--
 libc/src/stdfix/roundr.cpp                           |  4 ++--
 libc/src/stdfix/roundr.h                             |  4 ++--
 libc/src/stdfix/rounduhk.cpp                         |  4 ++--
 libc/src/stdfix/rounduhk.h                           |  4 ++--
 libc/src/stdfix/rounduhr.cpp                         |  4 ++--
 libc/src/stdfix/rounduhr.h                           |  4 ++--
 libc/src/stdfix/rounduk.cpp                          |  4 ++--
 libc/src/stdfix/rounduk.h                            |  4 ++--
 libc/src/stdfix/roundulk.cpp                         |  4 ++--
 libc/src/stdfix/roundulk.h                           |  4 ++--
 libc/src/stdfix/roundulr.cpp                         |  4 ++--
 libc/src/stdfix/roundulr.h                           |  4 ++--
 libc/src/stdfix/roundur.cpp                          |  4 ++--
 libc/src/stdfix/roundur.h                            |  4 ++--
 libc/src/stdfix/sqrtuhk.cpp                          |  4 ++--
 libc/src/stdfix/sqrtuhk.h                            |  4 ++--
 libc/src/stdfix/sqrtuhr.cpp                          |  4 ++--
 libc/src/stdfix/sqrtuhr.h                            |  4 ++--
 libc/src/stdfix/sqrtuk.cpp                           |  4 ++--
 libc/src/stdfix/sqrtuk.h                             |  4 ++--
 libc/src/stdfix/sqrtulr.cpp                          |  4 ++--
 libc/src/stdfix/sqrtulr.h                            |  4 ++--
 libc/src/stdfix/sqrtur.cpp                           |  4 ++--
 libc/src/stdfix/sqrtur.h                             |  4 ++--
 libc/src/stdfix/uhksqrtus.cpp                        |  4 ++--
 libc/src/stdfix/uhksqrtus.h                          |  4 ++--
 libc/src/stdfix/uksqrtui.cpp                         |  4 ++--
 libc/src/stdfix/uksqrtui.h                           |  4 ++--
 libc/src/stdio/baremetal/getchar.cpp                 |  4 ++--
 libc/src/stdio/baremetal/printf.cpp                  |  4 ++--
 libc/src/stdio/baremetal/putchar.cpp                 |  4 ++--
 libc/src/stdio/baremetal/puts.cpp                    |  4 ++--
 libc/src/stdio/baremetal/remove.cpp                  |  4 ++--
 libc/src/stdio/baremetal/vprintf.cpp                 |  4 ++--
 libc/src/stdio/clearerr.h                            |  4 ++--
 libc/src/stdio/clearerr_unlocked.h                   |  4 ++--
 libc/src/stdio/fclose.h                              |  4 ++--
 libc/src/stdio/fdopen.h                              |  4 ++--
 libc/src/stdio/feof.h                                |  4 ++--
 libc/src/stdio/feof_unlocked.h                       |  4 ++--
 libc/src/stdio/ferror.h                              |  4 ++--
 libc/src/stdio/ferror_unlocked.h                     |  4 ++--
 libc/src/stdio/fflush.h                              |  4 ++--
 libc/src/stdio/fgetc.h                               |  4 ++--
 libc/src/stdio/fgetc_unlocked.h                      |  4 ++--
 libc/src/stdio/fgets.h                               |  4 ++--
 libc/src/stdio/fileno.h                              |  4 ++--
 libc/src/stdio/flockfile.cpp                         |  4 ++--
 libc/src/stdio/flockfile.h                           |  4 ++--
 libc/src/stdio/fopen.h                               |  4 ++--
 libc/src/stdio/fopencookie.cpp                       |  4 ++--
 libc/src/stdio/fopencookie.h                         |  4 ++--
 libc/src/stdio/fprintf.cpp                           |  4 ++--
 libc/src/stdio/fprintf.h                             |  4 ++--
 libc/src/stdio/fputc.h                               |  4 ++--
 libc/src/stdio/fputs.h                               |  4 ++--
 libc/src/stdio/fread.h                               |  4 ++--
 libc/src/stdio/fread_unlocked.h                      |  4 ++--
 libc/src/stdio/fscanf.cpp                            |  4 ++--
 libc/src/stdio/fscanf.h                              |  4 ++--
 libc/src/stdio/fseek.h                               |  4 ++--
 libc/src/stdio/fseeko.h                              |  4 ++--
 libc/src/stdio/ftell.h                               |  4 ++--
 libc/src/stdio/ftello.h                              |  4 ++--
 libc/src/stdio/funlockfile.cpp                       |  4 ++--
 libc/src/stdio/funlockfile.h                         |  4 ++--
 libc/src/stdio/fwrite.h                              |  4 ++--
 libc/src/stdio/fwrite_unlocked.h                     |  4 ++--
 libc/src/stdio/generic/clearerr.cpp                  |  4 ++--
 libc/src/stdio/generic/clearerr_unlocked.cpp         |  4 ++--
 libc/src/stdio/generic/fclose.cpp                    |  4 ++--
 libc/src/stdio/generic/feof.cpp                      |  4 ++--
 libc/src/stdio/generic/feof_unlocked.cpp             |  4 ++--
 libc/src/stdio/generic/ferror.cpp                    |  4 ++--
 libc/src/stdio/generic/ferror_unlocked.cpp           |  4 ++--
 libc/src/stdio/generic/fflush.cpp                    |  4 ++--
 libc/src/stdio/generic/fgetc.cpp                     |  4 ++--
 libc/src/stdio/generic/fgetc_unlocked.cpp            |  4 ++--
 libc/src/stdio/generic/fgets.cpp                     |  4 ++--
 libc/src/stdio/generic/fileno.cpp                    |  4 ++--
 libc/src/stdio/generic/fopen.cpp                     |  4 ++--
 libc/src/stdio/generic/fputc.cpp                     |  4 ++--
 libc/src/stdio/generic/fputs.cpp                     |  4 ++--
 libc/src/stdio/generic/fread.cpp                     |  4 ++--
 libc/src/stdio/generic/fread_unlocked.cpp            |  4 ++--
 libc/src/stdio/generic/fseek.cpp                     |  4 ++--
 libc/src/stdio/generic/fseeko.cpp                    |  4 ++--
 libc/src/stdio/generic/ftell.cpp                     |  4 ++--
 libc/src/stdio/generic/ftello.cpp                    |  4 ++--
 libc/src/stdio/generic/fwrite.cpp                    |  4 ++--
 libc/src/stdio/generic/fwrite_unlocked.cpp           |  4 ++--
 libc/src/stdio/generic/getc.cpp                      |  4 ++--
 libc/src/stdio/generic/getc_unlocked.cpp             |  4 ++--
 libc/src/stdio/generic/getchar.cpp                   |  4 ++--
 libc/src/stdio/generic/getchar_unlocked.cpp          |  4 ++--
 libc/src/stdio/generic/printf.cpp                    |  4 ++--
 libc/src/stdio/generic/putc.cpp                      |  4 ++--
 libc/src/stdio/generic/putchar.cpp                   |  4 ++--
 libc/src/stdio/generic/puts.cpp                      |  4 ++--
 libc/src/stdio/generic/ungetc.cpp                    |  4 ++--
 libc/src/stdio/generic/vprintf.cpp                   |  4 ++--
 libc/src/stdio/getc.h                                |  4 ++--
 libc/src/stdio/getc_unlocked.h                       |  4 ++--
 libc/src/stdio/getchar.h                             |  4 ++--
 libc/src/stdio/getchar_unlocked.h                    |  4 ++--
 libc/src/stdio/gpu/clearerr.cpp                      |  4 ++--
 libc/src/stdio/gpu/fclose.cpp                        |  4 ++--
 libc/src/stdio/gpu/feof.cpp                          |  4 ++--
 libc/src/stdio/gpu/ferror.cpp                        |  4 ++--
 libc/src/stdio/gpu/fflush.cpp                        |  4 ++--
 libc/src/stdio/gpu/fgetc.cpp                         |  4 ++--
 libc/src/stdio/gpu/fgets.cpp                         |  4 ++--
 libc/src/stdio/gpu/file.h                            |  4 ++--
 libc/src/stdio/gpu/fopen.cpp                         |  4 ++--
 libc/src/stdio/gpu/fputc.cpp                         |  4 ++--
 libc/src/stdio/gpu/fputs.cpp                         |  4 ++--
 libc/src/stdio/gpu/fread.cpp                         |  4 ++--
 libc/src/stdio/gpu/fseek.cpp                         |  4 ++--
 libc/src/stdio/gpu/ftell.cpp                         |  4 ++--
 libc/src/stdio/gpu/fwrite.cpp                        |  4 ++--
 libc/src/stdio/gpu/getc.cpp                          |  4 ++--
 libc/src/stdio/gpu/getchar.cpp                       |  4 ++--
 libc/src/stdio/gpu/putc.cpp                          |  4 ++--
 libc/src/stdio/gpu/putchar.cpp                       |  4 ++--
 libc/src/stdio/gpu/puts.cpp                          |  4 ++--
 libc/src/stdio/gpu/remove.cpp                        |  4 ++--
 libc/src/stdio/gpu/stderr.cpp                        |  4 ++--
 libc/src/stdio/gpu/stdin.cpp                         |  4 ++--
 libc/src/stdio/gpu/stdout.cpp                        |  4 ++--
 libc/src/stdio/gpu/ungetc.cpp                        |  4 ++--
 libc/src/stdio/linux/fdopen.cpp                      |  4 ++--
 libc/src/stdio/linux/remove.cpp                      |  4 ++--
 libc/src/stdio/linux/rename.cpp                      |  4 ++--
 libc/src/stdio/printf.h                              |  4 ++--
 libc/src/stdio/printf_core/char_converter.h          |  4 ++--
 libc/src/stdio/printf_core/converter.cpp             |  4 ++--
 libc/src/stdio/printf_core/converter.h               |  4 ++--
 libc/src/stdio/printf_core/converter_utils.h         |  4 ++--
 libc/src/stdio/printf_core/core_structs.h            |  4 ++--
 libc/src/stdio/printf_core/fixed_converter.h         |  4 ++--
 libc/src/stdio/printf_core/float_dec_converter.h     |  4 ++--
 libc/src/stdio/printf_core/float_hex_converter.h     |  4 ++--
 libc/src/stdio/printf_core/float_inf_nan_converter.h |  4 ++--
 libc/src/stdio/printf_core/int_converter.h           |  4 ++--
 libc/src/stdio/printf_core/parser.h                  |  4 ++--
 libc/src/stdio/printf_core/printf_main.cpp           |  4 ++--
 libc/src/stdio/printf_core/printf_main.h             |  4 ++--
 libc/src/stdio/printf_core/ptr_converter.h           |  4 ++--
 libc/src/stdio/printf_core/string_converter.h        |  4 ++--
 libc/src/stdio/printf_core/vfprintf_internal.h       |  4 ++--
 libc/src/stdio/printf_core/write_int_converter.h     |  4 ++--
 libc/src/stdio/printf_core/writer.cpp                |  4 ++--
 libc/src/stdio/printf_core/writer.h                  |  4 ++--
 libc/src/stdio/putc.h                                |  4 ++--
 libc/src/stdio/putchar.h                             |  4 ++--
 libc/src/stdio/puts.h                                |  4 ++--
 libc/src/stdio/remove.h                              |  4 ++--
 libc/src/stdio/rename.h                              |  4 ++--
 libc/src/stdio/scanf.cpp                             |  4 ++--
 libc/src/stdio/scanf.h                               |  4 ++--
 libc/src/stdio/scanf_core/converter.cpp              |  4 ++--
 libc/src/stdio/scanf_core/converter.h                |  4 ++--
 libc/src/stdio/scanf_core/converter_utils.h          |  4 ++--
 libc/src/stdio/scanf_core/core_structs.h             |  4 ++--
 libc/src/stdio/scanf_core/current_pos_converter.h    |  4 ++--
 libc/src/stdio/scanf_core/float_converter.cpp        |  4 ++--
 libc/src/stdio/scanf_core/float_converter.h          |  4 ++--
 libc/src/stdio/scanf_core/int_converter.cpp          |  4 ++--
 libc/src/stdio/scanf_core/int_converter.h            |  4 ++--
 libc/src/stdio/scanf_core/parser.h                   |  4 ++--
 libc/src/stdio/scanf_core/ptr_converter.cpp          |  4 ++--
 libc/src/stdio/scanf_core/ptr_converter.h            |  4 ++--
 libc/src/stdio/scanf_core/reader.cpp                 |  4 ++--
 libc/src/stdio/scanf_core/reader.h                   |  4 ++--
 libc/src/stdio/scanf_core/scanf_main.cpp             |  4 ++--
 libc/src/stdio/scanf_core/scanf_main.h               |  4 ++--
 libc/src/stdio/scanf_core/string_converter.cpp       |  4 ++--
 libc/src/stdio/scanf_core/string_converter.h         |  4 ++--
 libc/src/stdio/scanf_core/vfscanf_internal.h         |  4 ++--
 libc/src/stdio/setbuf.cpp                            |  4 ++--
 libc/src/stdio/setbuf.h                              |  4 ++--
 libc/src/stdio/setvbuf.cpp                           |  4 ++--
 libc/src/stdio/setvbuf.h                             |  4 ++--
 libc/src/stdio/snprintf.cpp                          |  4 ++--
 libc/src/stdio/snprintf.h                            |  4 ++--
 libc/src/stdio/sprintf.cpp                           |  4 ++--
 libc/src/stdio/sprintf.h                             |  4 ++--
 libc/src/stdio/sscanf.cpp                            |  4 ++--
 libc/src/stdio/sscanf.h                              |  4 ++--
 libc/src/stdio/ungetc.h                              |  4 ++--
 libc/src/stdio/vfprintf.cpp                          |  4 ++--
 libc/src/stdio/vfprintf.h                            |  4 ++--
 libc/src/stdio/vprintf.h                             |  4 ++--
 libc/src/stdio/vsnprintf.cpp                         |  4 ++--
 libc/src/stdio/vsnprintf.h                           |  4 ++--
 libc/src/stdio/vsprintf.cpp                          |  4 ++--
 libc/src/stdio/vsprintf.h                            |  4 ++--
 libc/src/stdlib/_Exit.cpp                            |  4 ++--
 libc/src/stdlib/_Exit.h                              |  4 ++--
 libc/src/stdlib/abort.h                              |  4 ++--
 libc/src/stdlib/abs.cpp                              |  4 ++--
 libc/src/stdlib/abs.h                                |  4 ++--
 libc/src/stdlib/aligned_alloc.h                      |  4 ++--
 libc/src/stdlib/at_quick_exit.cpp                    |  4 ++--
 libc/src/stdlib/at_quick_exit.h                      |  4 ++--
 libc/src/stdlib/atexit.cpp                           |  4 ++--
 libc/src/stdlib/atexit.h                             |  4 ++--
 libc/src/stdlib/atof.cpp                             |  4 ++--
 libc/src/stdlib/atof.h                               |  4 ++--
 libc/src/stdlib/atoi.cpp                             |  4 ++--
 libc/src/stdlib/atoi.h                               |  4 ++--
 libc/src/stdlib/atol.cpp                             |  4 ++--
 libc/src/stdlib/atol.h                               |  4 ++--
 libc/src/stdlib/atoll.cpp                            |  4 ++--
 libc/src/stdlib/atoll.h                              |  4 ++--
 libc/src/stdlib/baremetal/abort.cpp                  |  4 ++--
 libc/src/stdlib/bsearch.cpp                          |  4 ++--
 libc/src/stdlib/bsearch.h                            |  4 ++--
 libc/src/stdlib/calloc.h                             |  4 ++--
 libc/src/stdlib/div.cpp                              |  4 ++--
 libc/src/stdlib/div.h                                |  4 ++--
 libc/src/stdlib/exit.cpp                             |  4 ++--
 libc/src/stdlib/exit.h                               |  4 ++--
 libc/src/stdlib/exit_handler.cpp                     |  4 ++--
 libc/src/stdlib/exit_handler.h                       |  4 ++--
 libc/src/stdlib/free.h                               |  4 ++--
 libc/src/stdlib/freelist_malloc.cpp                  |  4 ++--
 libc/src/stdlib/getenv.cpp                           |  4 ++--
 libc/src/stdlib/getenv.h                             |  4 ++--
 libc/src/stdlib/gpu/abort.cpp                        |  4 ++--
 libc/src/stdlib/gpu/free.cpp                         |  4 ++--
 libc/src/stdlib/gpu/malloc.cpp                       |  4 ++--
 libc/src/stdlib/labs.cpp                             |  4 ++--
 libc/src/stdlib/labs.h                               |  4 ++--
 libc/src/stdlib/ldiv.cpp                             |  4 ++--
 libc/src/stdlib/ldiv.h                               |  4 ++--
 libc/src/stdlib/linux/abort.cpp                      |  4 ++--
 libc/src/stdlib/llabs.cpp                            |  4 ++--
 libc/src/stdlib/llabs.h                              |  4 ++--
 libc/src/stdlib/lldiv.cpp                            |  4 ++--
 libc/src/stdlib/lldiv.h                              |  4 ++--
 libc/src/stdlib/malloc.h                             |  4 ++--
 libc/src/stdlib/qsort.cpp                            |  4 ++--
 libc/src/stdlib/qsort.h                              |  4 ++--
 libc/src/stdlib/qsort_r.cpp                          |  4 ++--
 libc/src/stdlib/qsort_r.h                            |  4 ++--
 libc/src/stdlib/qsort_util.h                         |  6 ++++--
 libc/src/stdlib/quick_exit.cpp                       |  4 ++--
 libc/src/stdlib/quick_exit.h                         |  4 ++--
 libc/src/stdlib/rand.cpp                             |  4 ++--
 libc/src/stdlib/rand.h                               |  4 ++--
 libc/src/stdlib/rand_util.cpp                        |  4 ++--
 libc/src/stdlib/rand_util.h                          |  4 ++--
 libc/src/stdlib/realloc.h                            |  4 ++--
 libc/src/stdlib/srand.cpp                            |  4 ++--
 libc/src/stdlib/srand.h                              |  4 ++--
 libc/src/stdlib/str_from_util.h                      |  6 ++++--
 libc/src/stdlib/strfromd.cpp                         |  4 ++--
 libc/src/stdlib/strfromd.h                           |  4 ++--
 libc/src/stdlib/strfromf.cpp                         |  4 ++--
 libc/src/stdlib/strfromf.h                           |  4 ++--
 libc/src/stdlib/strfroml.cpp                         |  4 ++--
 libc/src/stdlib/strfroml.h                           |  4 ++--
 libc/src/stdlib/strtod.cpp                           |  4 ++--
 libc/src/stdlib/strtod.h                             |  4 ++--
 libc/src/stdlib/strtof.cpp                           |  4 ++--
 libc/src/stdlib/strtof.h                             |  4 ++--
 libc/src/stdlib/strtol.cpp                           |  4 ++--
 libc/src/stdlib/strtol.h                             |  4 ++--
 libc/src/stdlib/strtold.cpp                          |  4 ++--
 libc/src/stdlib/strtold.h                            |  4 ++--
 libc/src/stdlib/strtoll.cpp                          |  4 ++--
 libc/src/stdlib/strtoll.h                            |  4 ++--
 libc/src/stdlib/strtoul.cpp                          |  4 ++--
 libc/src/stdlib/strtoul.h                            |  4 ++--
 libc/src/stdlib/strtoull.cpp                         |  4 ++--
 libc/src/stdlib/strtoull.h                           |  4 ++--
 libc/src/string/allocating_string_utils.h            |  4 ++--
 libc/src/string/bcmp.cpp                             |  4 ++--
 libc/src/string/bcmp.h                               |  4 ++--
 libc/src/string/bcopy.cpp                            |  4 ++--
 libc/src/string/bcopy.h                              |  4 ++--
 libc/src/string/bzero.cpp                            |  4 ++--
 libc/src/string/bzero.h                              |  4 ++--
 libc/src/string/index.cpp                            |  4 ++--
 libc/src/string/index.h                              |  4 ++--
 libc/src/string/memccpy.cpp                          |  4 ++--
 libc/src/string/memccpy.h                            |  4 ++--
 libc/src/string/memchr.cpp                           |  4 ++--
 libc/src/string/memchr.h                             |  4 ++--
 libc/src/string/memcmp.cpp                           |  4 ++--
 libc/src/string/memcmp.h                             |  4 ++--
 libc/src/string/memcpy.cpp                           |  4 ++--
 libc/src/string/memcpy.h                             |  4 ++--
 libc/src/string/memmem.cpp                           |  4 ++--
 libc/src/string/memmem.h                             |  4 ++--
 libc/src/string/memmove.cpp                          |  4 ++--
 libc/src/string/memmove.h                            |  4 ++--
 libc/src/string/memory_utils/aarch64/inline_bcmp.h   |  4 ++--
 libc/src/string/memory_utils/aarch64/inline_memcmp.h |  4 ++--
 libc/src/string/memory_utils/aarch64/inline_memcpy.h |  4 ++--
 .../src/string/memory_utils/aarch64/inline_memmove.h |  4 ++--
 libc/src/string/memory_utils/aarch64/inline_memset.h |  4 ++--
 .../src/string/memory_utils/generic/aligned_access.h |  4 ++--
 libc/src/string/memory_utils/generic/builtin.h       |  4 ++--
 libc/src/string/memory_utils/generic/byte_per_byte.h |  4 ++--
 libc/src/string/memory_utils/inline_bcmp.h           |  4 ++--
 libc/src/string/memory_utils/inline_bzero.h          |  4 ++--
 libc/src/string/memory_utils/inline_memcmp.h         |  4 ++--
 libc/src/string/memory_utils/inline_memcpy.h         |  4 ++--
 libc/src/string/memory_utils/inline_memmem.h         |  4 ++--
 libc/src/string/memory_utils/inline_memmove.h        |  4 ++--
 libc/src/string/memory_utils/inline_memset.h         |  4 ++--
 libc/src/string/memory_utils/inline_strcmp.h         |  4 ++--
 libc/src/string/memory_utils/inline_strstr.h         |  4 ++--
 libc/src/string/memory_utils/op_aarch64.h            | 12 ++++++++----
 libc/src/string/memory_utils/op_builtin.h            |  6 ++++--
 libc/src/string/memory_utils/op_generic.h            | 10 ++++++----
 libc/src/string/memory_utils/op_riscv.h              |  6 ++++--
 libc/src/string/memory_utils/op_x86.h                | 12 ++++++++----
 libc/src/string/memory_utils/riscv/inline_bcmp.h     |  4 ++--
 libc/src/string/memory_utils/riscv/inline_memcmp.h   |  4 ++--
 libc/src/string/memory_utils/riscv/inline_memcpy.h   |  4 ++--
 libc/src/string/memory_utils/riscv/inline_memmove.h  |  4 ++--
 libc/src/string/memory_utils/riscv/inline_memset.h   |  4 ++--
 libc/src/string/memory_utils/utils.h                 |  4 ++--
 libc/src/string/memory_utils/x86_64/inline_bcmp.h    |  4 ++--
 libc/src/string/memory_utils/x86_64/inline_memcmp.h  |  4 ++--
 libc/src/string/memory_utils/x86_64/inline_memcpy.h  |  4 ++--
 libc/src/string/memory_utils/x86_64/inline_memmove.h |  4 ++--
 libc/src/string/memory_utils/x86_64/inline_memset.h  |  4 ++--
 libc/src/string/mempcpy.cpp                          |  4 ++--
 libc/src/string/mempcpy.h                            |  4 ++--
 libc/src/string/memrchr.cpp                          |  4 ++--
 libc/src/string/memrchr.h                            |  4 ++--
 libc/src/string/memset.cpp                           |  4 ++--
 libc/src/string/memset.h                             |  4 ++--
 libc/src/string/memset_explicit.cpp                  |  4 ++--
 libc/src/string/memset_explicit.h                    |  4 ++--
 libc/src/string/rindex.cpp                           |  4 ++--
 libc/src/string/rindex.h                             |  4 ++--
 libc/src/string/stpcpy.cpp                           |  4 ++--
 libc/src/string/stpcpy.h                             |  4 ++--
 libc/src/string/stpncpy.cpp                          |  4 ++--
 libc/src/string/stpncpy.h                            |  4 ++--
 libc/src/string/strcasecmp.cpp                       |  4 ++--
 libc/src/string/strcasecmp.h                         |  4 ++--
 libc/src/string/strcasestr.cpp                       |  4 ++--
 libc/src/string/strcasestr.h                         |  4 ++--
 libc/src/string/strcat.cpp                           |  4 ++--
 libc/src/string/strcat.h                             |  4 ++--
 libc/src/string/strchr.cpp                           |  4 ++--
 libc/src/string/strchr.h                             |  4 ++--
 libc/src/string/strchrnul.cpp                        |  4 ++--
 libc/src/string/strchrnul.h                          |  4 ++--
 libc/src/string/strcmp.cpp                           |  4 ++--
 libc/src/string/strcmp.h                             |  4 ++--
 libc/src/string/strcoll.cpp                          |  4 ++--
 libc/src/string/strcoll.h                            |  4 ++--
 libc/src/string/strcpy.cpp                           |  4 ++--
 libc/src/string/strcpy.h                             |  4 ++--
 libc/src/string/strcspn.cpp                          |  4 ++--
 libc/src/string/strcspn.h                            |  4 ++--
 libc/src/string/strdup.cpp                           |  4 ++--
 libc/src/string/strdup.h                             |  4 ++--
 libc/src/string/strerror.cpp                         |  4 ++--
 libc/src/string/strerror.h                           |  4 ++--
 libc/src/string/strerror_r.cpp                       |  4 ++--
 libc/src/string/strerror_r.h                         |  4 ++--
 libc/src/string/string_utils.h                       |  4 ++--
 libc/src/string/strlcat.cpp                          |  4 ++--
 libc/src/string/strlcat.h                            |  4 ++--
 libc/src/string/strlcpy.cpp                          |  4 ++--
 libc/src/string/strlcpy.h                            |  4 ++--
 libc/src/string/strlen.cpp                           |  4 ++--
 libc/src/string/strlen.h                             |  4 ++--
 libc/src/string/strncasecmp.cpp                      |  4 ++--
 libc/src/string/strncasecmp.h                        |  4 ++--
 libc/src/string/strncat.cpp                          |  4 ++--
 libc/src/string/strncat.h                            |  4 ++--
 libc/src/string/strncmp.cpp                          |  4 ++--
 libc/src/string/strncmp.h                            |  4 ++--
 libc/src/string/strncpy.cpp                          |  4 ++--
 libc/src/string/strncpy.h                            |  4 ++--
 libc/src/string/strndup.cpp                          |  4 ++--
 libc/src/string/strndup.h                            |  4 ++--
 libc/src/string/strnlen.cpp                          |  4 ++--
 libc/src/string/strnlen.h                            |  4 ++--
 libc/src/string/strpbrk.cpp                          |  4 ++--
 libc/src/string/strpbrk.h                            |  4 ++--
 libc/src/string/strrchr.cpp                          |  4 ++--
 libc/src/string/strrchr.h                            |  4 ++--
 libc/src/string/strsep.cpp                           |  4 ++--
 libc/src/string/strsep.h                             |  4 ++--
 libc/src/string/strsignal.cpp                        |  4 ++--
 libc/src/string/strsignal.h                          |  4 ++--
 libc/src/string/strspn.cpp                           |  4 ++--
 libc/src/string/strspn.h                             |  4 ++--
 libc/src/string/strstr.cpp                           |  4 ++--
 libc/src/string/strstr.h                             |  4 ++--
 libc/src/string/strtok.cpp                           |  4 ++--
 libc/src/string/strtok.h                             |  4 ++--
 libc/src/string/strtok_r.cpp                         |  4 ++--
 libc/src/string/strtok_r.h                           |  4 ++--
 libc/src/string/strxfrm.cpp                          |  4 ++--
 libc/src/string/strxfrm.h                            |  4 ++--
 libc/src/sys/auxv/getauxval.h                        |  4 ++--
 libc/src/sys/auxv/linux/getauxval.cpp                |  4 ++--
 libc/src/sys/epoll/epoll_create.h                    |  4 ++--
 libc/src/sys/epoll/epoll_create1.h                   |  4 ++--
 libc/src/sys/epoll/epoll_ctl.h                       |  4 ++--
 libc/src/sys/epoll/epoll_pwait.h                     |  4 ++--
 libc/src/sys/epoll/epoll_pwait2.h                    |  4 ++--
 libc/src/sys/epoll/epoll_wait.h                      |  4 ++--
 libc/src/sys/epoll/linux/epoll_create.cpp            |  4 ++--
 libc/src/sys/epoll/linux/epoll_create1.cpp           |  4 ++--
 libc/src/sys/epoll/linux/epoll_ctl.cpp               |  4 ++--
 libc/src/sys/epoll/linux/epoll_pwait.cpp             |  4 ++--
 libc/src/sys/epoll/linux/epoll_pwait2.cpp            |  4 ++--
 libc/src/sys/epoll/linux/epoll_wait.cpp              |  4 ++--
 libc/src/sys/mman/linux/madvise.cpp                  |  4 ++--
 libc/src/sys/mman/linux/mincore.cpp                  |  4 ++--
 libc/src/sys/mman/linux/mlock.cpp                    |  4 ++--
 libc/src/sys/mman/linux/mlock2.cpp                   |  4 ++--
 libc/src/sys/mman/linux/mlockall.cpp                 |  4 ++--
 libc/src/sys/mman/linux/mmap.cpp                     |  4 ++--
 libc/src/sys/mman/linux/mprotect.cpp                 |  4 ++--
 libc/src/sys/mman/linux/msync.cpp                    |  4 ++--
 libc/src/sys/mman/linux/munlock.cpp                  |  4 ++--
 libc/src/sys/mman/linux/munlockall.cpp               |  4 ++--
 libc/src/sys/mman/linux/munmap.cpp                   |  4 ++--
 libc/src/sys/mman/linux/posix_madvise.cpp            |  4 ++--
 libc/src/sys/mman/linux/shm_common.h                 |  4 ++--
 libc/src/sys/mman/linux/shm_open.cpp                 |  4 ++--
 libc/src/sys/mman/linux/shm_unlink.cpp               |  4 ++--
 libc/src/sys/mman/madvise.h                          |  4 ++--
 libc/src/sys/mman/mincore.h                          |  4 ++--
 libc/src/sys/mman/mlock.h                            |  4 ++--
 libc/src/sys/mman/mlock2.h                           |  4 ++--
 libc/src/sys/mman/mlockall.h                         |  4 ++--
 libc/src/sys/mman/mmap.h                             |  4 ++--
 libc/src/sys/mman/mprotect.h                         |  4 ++--
 libc/src/sys/mman/msync.h                            |  4 ++--
 libc/src/sys/mman/munlock.h                          |  4 ++--
 libc/src/sys/mman/munlockall.h                       |  4 ++--
 libc/src/sys/mman/munmap.h                           |  4 ++--
 libc/src/sys/mman/posix_madvise.h                    |  4 ++--
 libc/src/sys/mman/shm_open.h                         |  4 ++--
 libc/src/sys/mman/shm_unlink.h                       |  4 ++--
 libc/src/sys/prctl/linux/prctl.cpp                   |  4 ++--
 libc/src/sys/prctl/prctl.h                           |  4 ++--
 libc/src/sys/random/getrandom.h                      |  4 ++--
 libc/src/sys/random/linux/getrandom.cpp              |  4 ++--
 libc/src/sys/resource/getrlimit.h                    |  4 ++--
 libc/src/sys/resource/linux/getrlimit.cpp            |  4 ++--
 libc/src/sys/resource/linux/setrlimit.cpp            |  4 ++--
 libc/src/sys/resource/setrlimit.h                    |  4 ++--
 libc/src/sys/select/linux/select.cpp                 |  4 ++--
 libc/src/sys/select/select.h                         |  4 ++--
 libc/src/sys/sendfile/linux/sendfile.cpp             |  4 ++--
 libc/src/sys/sendfile/sendfile.h                     |  4 ++--
 libc/src/sys/socket/bind.h                           |  4 ++--
 libc/src/sys/socket/linux/bind.cpp                   |  4 ++--
 libc/src/sys/socket/linux/socket.cpp                 |  4 ++--
 libc/src/sys/socket/socket.h                         |  4 ++--
 libc/src/sys/stat/chmod.h                            |  4 ++--
 libc/src/sys/stat/fchmod.h                           |  4 ++--
 libc/src/sys/stat/fchmodat.h                         |  4 ++--
 libc/src/sys/stat/fstat.h                            |  4 ++--
 libc/src/sys/stat/linux/chmod.cpp                    |  4 ++--
 libc/src/sys/stat/linux/fchmod.cpp                   |  4 ++--
 libc/src/sys/stat/linux/fchmodat.cpp                 |  4 ++--
 libc/src/sys/stat/linux/fstat.cpp                    |  4 ++--
 libc/src/sys/stat/linux/kernel_statx.h               |  4 ++--
 libc/src/sys/stat/linux/lstat.cpp                    |  4 ++--
 libc/src/sys/stat/linux/mkdir.cpp                    |  4 ++--
 libc/src/sys/stat/linux/mkdirat.cpp                  |  4 ++--
 libc/src/sys/stat/linux/stat.cpp                     |  4 ++--
 libc/src/sys/stat/lstat.h                            |  4 ++--
 libc/src/sys/stat/mkdir.h                            |  4 ++--
 libc/src/sys/stat/mkdirat.h                          |  4 ++--
 libc/src/sys/stat/stat.h                             |  4 ++--
 libc/src/sys/statvfs/fstatvfs.h                      |  4 ++--
 libc/src/sys/statvfs/linux/fstatvfs.cpp              |  4 ++--
 libc/src/sys/statvfs/linux/statfs_utils.h            |  4 ++--
 libc/src/sys/statvfs/linux/statvfs.cpp               |  4 ++--
 libc/src/sys/statvfs/statvfs.h                       |  4 ++--
 libc/src/sys/utsname/linux/uname.cpp                 |  4 ++--
 libc/src/sys/utsname/uname.h                         |  4 ++--
 libc/src/sys/wait/linux/wait.cpp                     |  4 ++--
 libc/src/sys/wait/linux/wait4.cpp                    |  4 ++--
 libc/src/sys/wait/linux/waitpid.cpp                  |  4 ++--
 libc/src/sys/wait/wait.h                             |  4 ++--
 libc/src/sys/wait/wait4.h                            |  4 ++--
 libc/src/sys/wait/wait4Impl.h                        |  4 ++--
 libc/src/sys/wait/waitpid.h                          |  4 ++--
 libc/src/termios/cfgetispeed.h                       |  4 ++--
 libc/src/termios/cfgetospeed.h                       |  4 ++--
 libc/src/termios/cfsetispeed.h                       |  4 ++--
 libc/src/termios/cfsetospeed.h                       |  4 ++--
 libc/src/termios/linux/cfgetispeed.cpp               |  4 ++--
 libc/src/termios/linux/cfgetospeed.cpp               |  4 ++--
 libc/src/termios/linux/cfsetispeed.cpp               |  4 ++--
 libc/src/termios/linux/cfsetospeed.cpp               |  4 ++--
 libc/src/termios/linux/kernel_termios.h              |  4 ++--
 libc/src/termios/linux/tcdrain.cpp                   |  4 ++--
 libc/src/termios/linux/tcflow.cpp                    |  4 ++--
 libc/src/termios/linux/tcflush.cpp                   |  4 ++--
 libc/src/termios/linux/tcgetattr.cpp                 |  4 ++--
 libc/src/termios/linux/tcgetsid.cpp                  |  4 ++--
 libc/src/termios/linux/tcsendbreak.cpp               |  4 ++--
 libc/src/termios/linux/tcsetattr.cpp                 |  4 ++--
 libc/src/termios/tcdrain.h                           |  4 ++--
 libc/src/termios/tcflow.h                            |  4 ++--
 libc/src/termios/tcflush.h                           |  4 ++--
 libc/src/termios/tcgetattr.h                         |  4 ++--
 libc/src/termios/tcgetsid.h                          |  4 ++--
 libc/src/termios/tcsendbreak.h                       |  4 ++--
 libc/src/termios/tcsetattr.h                         |  4 ++--
 libc/src/threads/call_once.cpp                       |  4 ++--
 libc/src/threads/call_once.h                         |  4 ++--
 libc/src/threads/cnd_broadcast.h                     |  4 ++--
 libc/src/threads/cnd_destroy.h                       |  4 ++--
 libc/src/threads/cnd_init.h                          |  4 ++--
 libc/src/threads/cnd_signal.h                        |  4 ++--
 libc/src/threads/cnd_wait.h                          |  4 ++--
 libc/src/threads/linux/Futex.h                       |  4 ++--
 libc/src/threads/linux/cnd_broadcast.cpp             |  4 ++--
 libc/src/threads/linux/cnd_destroy.cpp               |  4 ++--
 libc/src/threads/linux/cnd_init.cpp                  |  4 ++--
 libc/src/threads/linux/cnd_signal.cpp                |  4 ++--
 libc/src/threads/linux/cnd_wait.cpp                  |  4 ++--
 libc/src/threads/mtx_destroy.cpp                     |  4 ++--
 libc/src/threads/mtx_destroy.h                       |  4 ++--
 libc/src/threads/mtx_init.cpp                        |  4 ++--
 libc/src/threads/mtx_init.h                          |  4 ++--
 libc/src/threads/mtx_lock.cpp                        |  4 ++--
 libc/src/threads/mtx_lock.h                          |  4 ++--
 libc/src/threads/mtx_unlock.cpp                      |  4 ++--
 libc/src/threads/mtx_unlock.h                        |  4 ++--
 libc/src/threads/thrd_create.cpp                     |  4 ++--
 libc/src/threads/thrd_create.h                       |  4 ++--
 libc/src/threads/thrd_current.cpp                    |  4 ++--
 libc/src/threads/thrd_current.h                      |  4 ++--
 libc/src/threads/thrd_detach.cpp                     |  4 ++--
 libc/src/threads/thrd_detach.h                       |  4 ++--
 libc/src/threads/thrd_equal.cpp                      |  4 ++--
 libc/src/threads/thrd_equal.h                        |  4 ++--
 libc/src/threads/thrd_exit.cpp                       |  4 ++--
 libc/src/threads/thrd_exit.h                         |  4 ++--
 libc/src/threads/thrd_join.cpp                       |  4 ++--
 libc/src/threads/thrd_join.h                         |  4 ++--
 libc/src/threads/tss_create.cpp                      |  4 ++--
 libc/src/threads/tss_create.h                        |  4 ++--
 libc/src/threads/tss_delete.cpp                      |  4 ++--
 libc/src/threads/tss_delete.h                        |  4 ++--
 libc/src/threads/tss_get.cpp                         |  4 ++--
 libc/src/threads/tss_get.h                           |  4 ++--
 libc/src/threads/tss_set.cpp                         |  4 ++--
 libc/src/threads/tss_set.h                           |  4 ++--
 libc/src/time/asctime.cpp                            |  4 ++--
 libc/src/time/asctime.h                              |  4 ++--
 libc/src/time/asctime_r.cpp                          |  4 ++--
 libc/src/time/asctime_r.h                            |  4 ++--
 libc/src/time/clock.h                                |  4 ++--
 libc/src/time/clock_gettime.h                        |  4 ++--
 libc/src/time/difftime.cpp                           |  4 ++--
 libc/src/time/difftime.h                             |  4 ++--
 libc/src/time/gettimeofday.h                         |  4 ++--
 libc/src/time/gmtime.cpp                             |  4 ++--
 libc/src/time/gmtime.h                               |  4 ++--
 libc/src/time/gmtime_r.cpp                           |  4 ++--
 libc/src/time/gmtime_r.h                             |  4 ++--
 libc/src/time/gpu/clock.cpp                          |  4 ++--
 libc/src/time/gpu/nanosleep.cpp                      |  4 ++--
 libc/src/time/gpu/time_utils.cpp                     |  4 ++--
 libc/src/time/gpu/time_utils.h                       |  4 ++--
 libc/src/time/linux/clock.cpp                        |  4 ++--
 libc/src/time/linux/clock_gettime.cpp                |  4 ++--
 libc/src/time/linux/gettimeofday.cpp                 |  4 ++--
 libc/src/time/linux/nanosleep.cpp                    |  4 ++--
 libc/src/time/linux/time.cpp                         |  4 ++--
 libc/src/time/mktime.cpp                             |  4 ++--
 libc/src/time/mktime.h                               |  4 ++--
 libc/src/time/nanosleep.h                            |  4 ++--
 libc/src/time/time_func.h                            |  4 ++--
 libc/src/time/time_utils.cpp                         |  4 ++--
 libc/src/time/time_utils.h                           |  4 ++--
 libc/src/unistd/_exit.cpp                            |  4 ++--
 libc/src/unistd/_exit.h                              |  4 ++--
 libc/src/unistd/access.h                             |  4 ++--
 libc/src/unistd/chdir.h                              |  4 ++--
 libc/src/unistd/close.h                              |  4 ++--
 libc/src/unistd/dup.h                                |  4 ++--
 libc/src/unistd/dup2.h                               |  4 ++--
 libc/src/unistd/dup3.h                               |  4 ++--
 libc/src/unistd/environ.cpp                          |  4 ++--
 libc/src/unistd/environ.h                            |  4 ++--
 libc/src/unistd/execv.h                              |  4 ++--
 libc/src/unistd/execve.h                             |  4 ++--
 libc/src/unistd/fchdir.h                             |  4 ++--
 libc/src/unistd/fork.h                               |  4 ++--
 libc/src/unistd/fpathconf.h                          |  4 ++--
 libc/src/unistd/fsync.h                              |  4 ++--
 libc/src/unistd/ftruncate.h                          |  4 ++--
 libc/src/unistd/getcwd.h                             |  4 ++--
 libc/src/unistd/geteuid.h                            |  4 ++--
 libc/src/unistd/getopt.cpp                           |  4 ++--
 libc/src/unistd/getopt.h                             |  4 ++--
 libc/src/unistd/getpid.h                             |  4 ++--
 libc/src/unistd/getppid.h                            |  4 ++--
 libc/src/unistd/getuid.h                             |  4 ++--
 libc/src/unistd/isatty.h                             |  4 ++--
 libc/src/unistd/link.h                               |  4 ++--
 libc/src/unistd/linkat.h                             |  4 ++--
 libc/src/unistd/linux/access.cpp                     |  4 ++--
 libc/src/unistd/linux/chdir.cpp                      |  4 ++--
 libc/src/unistd/linux/close.cpp                      |  4 ++--
 libc/src/unistd/linux/dup.cpp                        |  4 ++--
 libc/src/unistd/linux/dup2.cpp                       |  4 ++--
 libc/src/unistd/linux/dup3.cpp                       |  4 ++--
 libc/src/unistd/linux/execv.cpp                      |  4 ++--
 libc/src/unistd/linux/execve.cpp                     |  4 ++--
 libc/src/unistd/linux/fchdir.cpp                     |  4 ++--
 libc/src/unistd/linux/fork.cpp                       |  4 ++--
 libc/src/unistd/linux/fpathconf.cpp                  |  4 ++--
 libc/src/unistd/linux/fsync.cpp                      |  4 ++--
 libc/src/unistd/linux/ftruncate.cpp                  |  4 ++--
 libc/src/unistd/linux/getcwd.cpp                     |  4 ++--
 libc/src/unistd/linux/geteuid.cpp                    |  4 ++--
 libc/src/unistd/linux/getpid.cpp                     |  4 ++--
 libc/src/unistd/linux/getppid.cpp                    |  4 ++--
 libc/src/unistd/linux/getuid.cpp                     |  4 ++--
 libc/src/unistd/linux/isatty.cpp                     |  4 ++--
 libc/src/unistd/linux/link.cpp                       |  4 ++--
 libc/src/unistd/linux/linkat.cpp                     |  4 ++--
 libc/src/unistd/linux/lseek.cpp                      |  4 ++--
 libc/src/unistd/linux/pathconf.cpp                   |  4 ++--
 libc/src/unistd/linux/pathconf_utils.cpp             |  4 ++--
 libc/src/unistd/linux/pathconf_utils.h               |  4 ++--
 libc/src/unistd/linux/pipe.cpp                       |  4 ++--
 libc/src/unistd/linux/pread.cpp                      |  4 ++--
 libc/src/unistd/linux/pwrite.cpp                     |  4 ++--
 libc/src/unistd/linux/read.cpp                       |  4 ++--
 libc/src/unistd/linux/readlink.cpp                   |  4 ++--
 libc/src/unistd/linux/readlinkat.cpp                 |  4 ++--
 libc/src/unistd/linux/rmdir.cpp                      |  4 ++--
 libc/src/unistd/linux/symlink.cpp                    |  4 ++--
 libc/src/unistd/linux/symlinkat.cpp                  |  4 ++--
 libc/src/unistd/linux/syscall.cpp                    |  4 ++--
 libc/src/unistd/linux/sysconf.cpp                    |  4 ++--
 libc/src/unistd/linux/truncate.cpp                   |  4 ++--
 libc/src/unistd/linux/unlink.cpp                     |  4 ++--
 libc/src/unistd/linux/unlinkat.cpp                   |  4 ++--
 libc/src/unistd/linux/write.cpp                      |  4 ++--
 libc/src/unistd/lseek.h                              |  4 ++--
 libc/src/unistd/pathconf.h                           |  4 ++--
 libc/src/unistd/pipe.h                               |  4 ++--
 libc/src/unistd/pread.h                              |  4 ++--
 libc/src/unistd/pwrite.h                             |  4 ++--
 libc/src/unistd/read.h                               |  4 ++--
 libc/src/unistd/readlink.h                           |  4 ++--
 libc/src/unistd/readlinkat.h                         |  4 ++--
 libc/src/unistd/rmdir.h                              |  4 ++--
 libc/src/unistd/swab.cpp                             |  4 ++--
 libc/src/unistd/swab.h                               |  4 ++--
 libc/src/unistd/symlink.h                            |  4 ++--
 libc/src/unistd/symlinkat.h                          |  4 ++--
 libc/src/unistd/syscall.h                            |  4 ++--
 libc/src/unistd/sysconf.h                            |  4 ++--
 libc/src/unistd/truncate.h                           |  4 ++--
 libc/src/unistd/unlink.h                             |  4 ++--
 libc/src/unistd/unlinkat.h                           |  4 ++--
 libc/src/unistd/write.h                              |  4 ++--
 libc/src/wchar/btowc.cpp                             |  4 ++--
 libc/src/wchar/btowc.h                               |  4 ++--
 libc/src/wchar/wctob.cpp                             |  4 ++--
 libc/src/wchar/wctob.h                               |  4 ++--
 libc/startup/baremetal/fini.cpp                      |  4 ++--
 libc/startup/baremetal/init.cpp                      |  4 ++--
 libc/startup/gpu/amdgpu/start.cpp                    |  4 ++--
 libc/startup/gpu/nvptx/start.cpp                     |  4 ++--
 libc/startup/linux/aarch64/tls.cpp                   |  4 ++--
 libc/startup/linux/do_start.cpp                      |  4 ++--
 libc/startup/linux/do_start.h                        |  4 ++--
 libc/startup/linux/riscv/tls.cpp                     |  4 ++--
 libc/startup/linux/x86_64/tls.cpp                    |  4 ++--
 libc/test/IntegrationTest/test.cpp                   |  4 ++--
 libc/test/UnitTest/BazelFilePath.cpp                 |  6 ++++--
 libc/test/UnitTest/CmakeFilePath.cpp                 |  6 ++++--
 libc/test/UnitTest/ErrnoSetterMatcher.h              |  4 ++--
 libc/test/UnitTest/ExecuteFunction.h                 |  4 ++--
 libc/test/UnitTest/ExecuteFunctionUnix.cpp           |  4 ++--
 libc/test/UnitTest/FEnvSafeTest.cpp                  |  6 ++++--
 libc/test/UnitTest/FEnvSafeTest.h                    |  6 ++++--
 libc/test/UnitTest/FPExceptMatcher.cpp               |  4 ++--
 libc/test/UnitTest/FPExceptMatcher.h                 |  4 ++--
 libc/test/UnitTest/FPMatcher.h                       |  4 ++--
 libc/test/UnitTest/GTest.h                           |  6 ++++--
 libc/test/UnitTest/HermeticTestUtils.cpp             |  4 ++--
 libc/test/UnitTest/LibcDeathTestExecutors.cpp        |  4 ++--
 libc/test/UnitTest/LibcTest.cpp                      |  4 ++--
 libc/test/UnitTest/LibcTest.h                        |  4 ++--
 libc/test/UnitTest/MemoryMatcher.cpp                 |  4 ++--
 libc/test/UnitTest/MemoryMatcher.h                   | 10 ++++++----
 libc/test/UnitTest/PrintfMatcher.cpp                 |  4 ++--
 libc/test/UnitTest/PrintfMatcher.h                   |  4 ++--
 libc/test/UnitTest/RoundingModeUtils.cpp             |  4 ++--
 libc/test/UnitTest/RoundingModeUtils.h               |  4 ++--
 libc/test/UnitTest/ScanfMatcher.cpp                  |  4 ++--
 libc/test/UnitTest/ScanfMatcher.h                    |  4 ++--
 libc/test/UnitTest/StringUtils.h                     |  4 ++--
 libc/test/UnitTest/TestLogger.cpp                    |  4 ++--
 libc/test/UnitTest/TestLogger.h                      |  4 ++--
 libc/test/UnitTest/ZxTest.h                          |  6 ++++--
 libc/test/include/sys/queue_test.cpp                 |  4 ++--
 .../integration/src/pthread/pthread_rwlock_test.cpp  |  6 ++++--
 libc/test/src/__support/CPP/algorithm_test.cpp       |  6 ++++--
 libc/test/src/__support/CPP/bit_test.cpp             |  6 ++++--
 libc/test/src/__support/CPP/cstddef_test.cpp         |  6 ++++--
 libc/test/src/__support/CPP/limits_test.cpp          |  4 ++--
 libc/test/src/__support/CPP/type_traits_test.cpp     |  6 ++++--
 libc/test/src/__support/HashTable/bitmask_test.cpp   |  4 ++--
 libc/test/src/__support/HashTable/group_test.cpp     |  4 ++--
 libc/test/src/__support/HashTable/table_test.cpp     |  4 ++--
 libc/test/src/__support/big_int_test.cpp             |  4 ++--
 libc/test/src/__support/endian_test.cpp              |  4 ++--
 libc/test/src/__support/freelist_heap_test.cpp       |  4 ++--
 libc/test/src/__support/math_extras_test.cpp         |  4 ++--
 libc/test/src/__support/memory_size_test.cpp         |  4 ++--
 libc/test/src/__support/str_to_double_test.cpp       |  4 ++--
 libc/test/src/__support/str_to_float_test.cpp        |  4 ++--
 libc/test/src/__support/str_to_fp_test.h             |  4 ++--
 libc/test/src/__support/str_to_long_double_test.cpp  |  4 ++--
 .../performance_testing/BinaryOpSingleOutputPerf.h   |  4 ++--
 .../SingleInputSingleOutputPerf.h                    |  4 ++--
 libc/test/src/math/performance_testing/Timer.cpp     |  4 ++--
 libc/test/src/math/performance_testing/Timer.h       |  4 ++--
 libc/test/src/math/sdcomp26094.h                     |  4 ++--
 libc/test/src/stdio/sprintf_test.cpp                 |  2 +-
 libc/test/src/stdlib/strtoint32_test.cpp             |  4 ++--
 libc/test/src/stdlib/strtoint64_test.cpp             |  4 ++--
 libc/test/src/string/bcmp_test.cpp                   |  4 ++--
 libc/test/src/string/bcopy_test.cpp                  |  4 ++--
 libc/test/src/string/bzero_test.cpp                  |  4 ++--
 libc/test/src/string/memcmp_test.cpp                 |  4 ++--
 libc/test/src/string/memcpy_test.cpp                 |  4 ++--
 libc/test/src/string/memmem_test.cpp                 |  4 ++--
 libc/test/src/string/memmove_test.cpp                |  4 ++--
 .../src/string/memory_utils/memory_check_utils.h     |  4 ++--
 libc/test/src/string/memory_utils/op_tests.cpp       |  4 ++--
 libc/test/src/string/memory_utils/utils_test.cpp     |  4 ++--
 libc/test/src/string/memset_explicit_test.cpp        |  4 ++--
 libc/test/src/string/memset_test.cpp                 |  4 ++--
 libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp    |  4 ++--
 libc/test/src/sys/statvfs/linux/statvfs_test.cpp     |  4 ++--
 libc/test/src/time/TmHelper.h                        |  4 ++--
 libc/test/src/time/TmMatcher.h                       |  4 ++--
 libc/utils/MPFRWrapper/MPFRUtils.cpp                 |  4 ++--
 libc/utils/MPFRWrapper/MPFRUtils.h                   |  4 ++--
 2319 files changed, 4859 insertions(+), 4648 deletions(-)

diff --git a/libc/benchmarks/LibcDefaultImplementations.cpp b/libc/benchmarks/LibcDefaultImplementations.cpp
index c50ae00ffa105..d19c4403329de 100644
--- a/libc/benchmarks/LibcDefaultImplementations.cpp
+++ b/libc/benchmarks/LibcDefaultImplementations.cpp
@@ -2,7 +2,7 @@
 #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 +11,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..ab2d763a4f7a2 100644
--- a/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
+++ b/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
@@ -21,7 +21,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 +30,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..1563c9be14ed2 100644
--- a/libc/benchmarks/automemcpy/lib/CodeGen.cpp
+++ b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
@@ -542,11 +542,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..77c094d893b48 100644
--- a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
+++ b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
@@ -63,7 +63,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 +134,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..5c7608d6b662d 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.cpp
+++ b/libc/benchmarks/gpu/BenchmarkLogger.cpp
@@ -8,7 +8,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace benchmarks {
 
 // cpp::string_view specialization
@@ -94,4 +94,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..5685c9dd65908 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.h
+++ b/libc/benchmarks/gpu/BenchmarkLogger.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
 #define LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace benchmarks {
 
 // A class to log to standard output in the context of hermetic tests.
@@ -22,6 +22,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..1daee0324d8ed 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
@@ -7,7 +7,7 @@
 #include "src/__support/fixedvector.h"
 #include "src/time/gpu/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace benchmarks {
 
 FixedVector<Benchmark *, 64> benchmarks;
@@ -135,4 +135,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..91a1c158beca3 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.h
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.h
@@ -10,7 +10,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace benchmarks {
 
@@ -99,7 +99,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/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/config/linux/app.h b/libc/config/linux/app.h
index 2a3b1560817b8..28bd010f1e6eb 100644
--- a/libc/config/linux/app.h
+++ b/libc/config/linux/app.h
@@ -13,7 +13,7 @@
 
 #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 +104,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/fuzzing/__support/hashtable_fuzz.cpp b/libc/fuzzing/__support/hashtable_fuzz.cpp
index 07f1057714114..8a6d7fd52fd36 100644
--- a/libc/fuzzing/__support/hashtable_fuzz.cpp
+++ b/libc/fuzzing/__support/hashtable_fuzz.cpp
@@ -13,7 +13,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/HashTable/table.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // A fuzzing payload starts with
 // - uint16_t: initial capacity for table A
@@ -179,4 +179,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..6ca4ce06a0e26 100644
--- a/libc/src/__support/CPP/algorithm.h
+++ b/libc/src/__support/CPP/algorithm.h
@@ -14,7 +14,7 @@
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-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 +41,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..8cd5cc1133da2 100644
--- a/libc/src/__support/CPP/array.h
+++ b/libc/src/__support/CPP/array.h
@@ -13,7 +13,7 @@
 #include "src/__support/macros/attributes.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 +74,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..70cff09a2c511 100644
--- a/libc/src/__support/CPP/atomic.h
+++ b/libc/src/__support/CPP/atomic.h
@@ -14,7 +14,7 @@
 
 #include "type_traits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 enum class MemoryOrder : int {
@@ -211,6 +211,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..47f3793bc2112 100644
--- a/libc/src/__support/CPP/bit.h
+++ b/libc/src/__support/CPP/bit.h
@@ -18,7 +18,8 @@
 
 #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 +291,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..58d1827ea2ca7 100644
--- a/libc/src/__support/CPP/bitset.h
+++ b/libc/src/__support/CPP/bitset.h
@@ -12,7 +12,8 @@
 #include "src/__support/macros/attributes.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 +87,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..5a0a075b9c69b 100644
--- a/libc/src/__support/CPP/cstddef.h
+++ b/libc/src/__support/CPP/cstddef.h
@@ -12,7 +12,8 @@
 #include "src/__support/macros/attributes.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 +67,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..8816fe14e9aa6 100644
--- a/libc/src/__support/CPP/expected.h
+++ b/libc/src/__support/CPP/expected.h
@@ -11,7 +11,8 @@
 
 #include "src/__support/macros/attributes.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 +53,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..1d03ed8c2bdb5 100644
--- a/libc/src/__support/CPP/functional.h
+++ b/libc/src/__support/CPP/functional.h
@@ -20,7 +20,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 /// A function type adapted from LLVM's function_ref.
@@ -65,6 +65,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..3488dc64d1559 100644
--- a/libc/src/__support/CPP/iterator.h
+++ b/libc/src/__support/CPP/iterator.h
@@ -14,7 +14,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 template <typename T> struct iterator_traits;
@@ -93,6 +93,6 @@ template <typename Iter> class reverse_iterator {
 };
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_ITERATOR_H
diff --git a/libc/src/__support/CPP/limits.h b/libc/src/__support/CPP/limits.h
index 5b9b3e755c72b..6b8c28770c781 100644
--- a/libc/src/__support/CPP/limits.h
+++ b/libc/src/__support/CPP/limits.h
@@ -15,7 +15,7 @@
 #include "src/__support/macros/attributes.h"       // LIBC_INLINE
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 namespace internal {
@@ -86,6 +86,6 @@ struct numeric_limits<__uint128_t>
 #endif
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_LIMITS_H
diff --git a/libc/src/__support/CPP/mutex.h b/libc/src/__support/CPP/mutex.h
index ff9c9f43a43cc..c6f02be50981b 100644
--- a/libc/src/__support/CPP/mutex.h
+++ b/libc/src/__support/CPP/mutex.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_CPP_MUTEX_H
 #define LLVM_LIBC_SRC___SUPPORT_CPP_MUTEX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 // Assume the calling thread has already obtained mutex ownership.
@@ -44,6 +44,6 @@ template <typename MutexType> class lock_guard {
 template <typename T> lock_guard(T &) -> lock_guard<T>;
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_MUTEX_H
diff --git a/libc/src/__support/CPP/new.h b/libc/src/__support/CPP/new.h
index 72187b70d7d24..024fe7e381501 100644
--- a/libc/src/__support/CPP/new.h
+++ b/libc/src/__support/CPP/new.h
@@ -23,7 +23,7 @@ enum class align_val_t : size_t {};
 
 } // namespace std
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 class AllocChecker {
   bool success = false;
@@ -52,7 +52,7 @@ class AllocChecker {
   }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 LIBC_INLINE void *operator new(size_t size,
                                LIBC_NAMESPACE::AllocChecker &ac) noexcept {
diff --git a/libc/src/__support/CPP/optional.h b/libc/src/__support/CPP/optional.h
index 2c0f639a2b342..f179425d24c1c 100644
--- a/libc/src/__support/CPP/optional.h
+++ b/libc/src/__support/CPP/optional.h
@@ -13,7 +13,7 @@
 #include "src/__support/CPP/utility.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 // Trivial nullopt_t struct.
@@ -133,6 +133,6 @@ template <typename T> class optional {
 };
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_OPTIONAL_H
diff --git a/libc/src/__support/CPP/span.h b/libc/src/__support/CPP/span.h
index a8c1353581ba0..444be9c64c9fb 100644
--- a/libc/src/__support/CPP/span.h
+++ b/libc/src/__support/CPP/span.h
@@ -15,7 +15,8 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // A trimmed down implementation of std::span.
 // Missing features:
@@ -119,6 +120,7 @@ template <typename T> class span {
   size_t span_size;
 };
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_SPAN_H
diff --git a/libc/src/__support/CPP/string.h b/libc/src/__support/CPP/string.h
index cb794e081970d..2b7514b87d956 100644
--- a/libc/src/__support/CPP/string.h
+++ b/libc/src/__support/CPP/string.h
@@ -18,7 +18,7 @@
 #include <stddef.h> // size_t
 #include <stdlib.h> // malloc, free
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 // This class mimics std::string but does not intend to be a full fledged
@@ -225,6 +225,6 @@ LIBC_INLINE string to_string(unsigned long long value) {
 // LIBC_INLINE string to_string(long double value);
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_STRING_H
diff --git a/libc/src/__support/CPP/string_view.h b/libc/src/__support/CPP/string_view.h
index 8aa96fa87f698..64d88b9e080d7 100644
--- a/libc/src/__support/CPP/string_view.h
+++ b/libc/src/__support/CPP/string_view.h
@@ -13,7 +13,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 // This is very simple alternate of the std::string_view class. There is no
@@ -214,6 +214,6 @@ class string_view {
 };
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_STRING_VIEW_H
diff --git a/libc/src/__support/CPP/stringstream.h b/libc/src/__support/CPP/stringstream.h
index c8eb59cf65cbb..ff7f9c34cea40 100644
--- a/libc/src/__support/CPP/stringstream.h
+++ b/libc/src/__support/CPP/stringstream.h
@@ -15,7 +15,7 @@
 
 #include "src/__support/integer_to_string.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
 // This class is to be used to write simple strings into a user provided buffer
@@ -90,6 +90,6 @@ class StringStream {
 };
 
 } // namespace cpp
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_STRINGSTREAM_H
diff --git a/libc/src/__support/CPP/type_traits/add_lvalue_reference.h b/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
index 2bca6267914d5..428c4578c8299 100644
--- a/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // add_lvalue_reference
 namespace detail {
@@ -25,6 +26,7 @@ struct add_lvalue_reference : decltype(detail::try_add_lvalue_reference<T>(0)) {
 template <class T>
 using add_lvalue_reference_t = typename add_lvalue_reference<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/add_pointer.h b/libc/src/__support/CPP/type_traits/add_pointer.h
index 1257033ee80e2..c9d678e6f155e 100644
--- a/libc/src/__support/CPP/type_traits/add_pointer.h
+++ b/libc/src/__support/CPP/type_traits/add_pointer.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // add_pointer
 namespace detail {
@@ -22,6 +23,7 @@ template <class T> auto try_add_pointer(...) -> cpp::type_identity<T>;
 template <class T>
 struct add_pointer : decltype(detail::try_add_pointer<T>(0)) {};
 template <class T> using add_pointer_t = typename add_pointer<T>::type;
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_POINTER_H
diff --git a/libc/src/__support/CPP/type_traits/add_rvalue_reference.h b/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
index 76db6712e5364..babb81b3f23f8 100644
--- a/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // add_rvalue_reference
 namespace detail {
@@ -24,6 +25,7 @@ struct add_rvalue_reference : decltype(detail::try_add_rvalue_reference<T>(0)) {
 template <class T>
 using add_rvalue_reference_t = typename add_rvalue_reference<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/aligned_storage.h b/libc/src/__support/CPP/type_traits/aligned_storage.h
index 574b1146f6b2a..edb789e12747d 100644
--- a/libc/src/__support/CPP/type_traits/aligned_storage.h
+++ b/libc/src/__support/CPP/type_traits/aligned_storage.h
@@ -11,7 +11,8 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 template <size_t Len, size_t Align> struct aligned_storage {
   struct type {
@@ -22,6 +23,7 @@ template <size_t Len, size_t Align> struct aligned_storage {
 template <size_t Len, size_t Align>
 using aligned_storage_t = typename aligned_storage<Len, Align>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ALIGNED_STORAGE_H
diff --git a/libc/src/__support/CPP/type_traits/always_false.h b/libc/src/__support/CPP/type_traits/always_false.h
index a86e926569fe6..35bb0603a5e3b 100644
--- a/libc/src/__support/CPP/type_traits/always_false.h
+++ b/libc/src/__support/CPP/type_traits/always_false.h
@@ -11,7 +11,8 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // This is technically not part of the standard but it come often enough that
 // it's convenient to have around.
@@ -24,6 +25,7 @@ namespace LIBC_NAMESPACE::cpp {
 // Usage `static_assert(cpp::always_false<T>, "error message");`
 template <typename...> LIBC_INLINE_VAR constexpr bool always_false = false;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ALWAYS_FALSE_H
diff --git a/libc/src/__support/CPP/type_traits/bool_constant.h b/libc/src/__support/CPP/type_traits/bool_constant.h
index 72eeaf29bc094..03ca52bc64e9c 100644
--- a/libc/src/__support/CPP/type_traits/bool_constant.h
+++ b/libc/src/__support/CPP/type_traits/bool_constant.h
@@ -10,11 +10,13 @@
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // bool_constant
 template <bool V> using bool_constant = cpp::integral_constant<bool, V>;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_BOOL_CONSTANT_H
diff --git a/libc/src/__support/CPP/type_traits/conditional.h b/libc/src/__support/CPP/type_traits/conditional.h
index 4fa65a08e5552..a1b3c01bfd5ee 100644
--- a/libc/src/__support/CPP/type_traits/conditional.h
+++ b/libc/src/__support/CPP/type_traits/conditional.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // conditional
 template <bool B, typename T, typename F>
@@ -20,6 +21,7 @@ struct conditional<false, T, F> : type_identity<F> {};
 template <bool B, typename T, typename F>
 using conditional_t = typename conditional<B, T, F>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_CONDITIONAL_H
diff --git a/libc/src/__support/CPP/type_traits/decay.h b/libc/src/__support/CPP/type_traits/decay.h
index f1a1200ab2ba1..50280812e0480 100644
--- a/libc/src/__support/CPP/type_traits/decay.h
+++ b/libc/src/__support/CPP/type_traits/decay.h
@@ -18,7 +18,8 @@
 #include "src/__support/CPP/type_traits/remove_extent.h"
 #include "src/__support/CPP/type_traits/remove_reference.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // decay
 template <class T> class decay {
@@ -32,6 +33,7 @@ template <class T> class decay {
 };
 template <class T> using decay_t = typename decay<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_DECAY_H
diff --git a/libc/src/__support/CPP/type_traits/enable_if.h b/libc/src/__support/CPP/type_traits/enable_if.h
index cda9189b29eca..b74e139c15695 100644
--- a/libc/src/__support/CPP/type_traits/enable_if.h
+++ b/libc/src/__support/CPP/type_traits/enable_if.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // enable_if
 template <bool B, typename T = void> struct enable_if;
@@ -18,6 +19,7 @@ template <typename T> struct enable_if<true, T> : type_identity<T> {};
 template <bool B, typename T = void>
 using enable_if_t = typename enable_if<B, T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ENABLE_IF_H
diff --git a/libc/src/__support/CPP/type_traits/false_type.h b/libc/src/__support/CPP/type_traits/false_type.h
index 97c041ccd1624..5ff01186ad219 100644
--- a/libc/src/__support/CPP/type_traits/false_type.h
+++ b/libc/src/__support/CPP/type_traits/false_type.h
@@ -10,11 +10,13 @@
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // false_type
 using false_type = cpp::bool_constant<false>;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_FALSE_TYPE_H
diff --git a/libc/src/__support/CPP/type_traits/integral_constant.h b/libc/src/__support/CPP/type_traits/integral_constant.h
index 7b5b6c2150c71..3b5c928897371 100644
--- a/libc/src/__support/CPP/type_traits/integral_constant.h
+++ b/libc/src/__support/CPP/type_traits/integral_constant.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE_VAR
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // integral_constant
 template <typename T, T v> struct integral_constant {
@@ -18,6 +19,7 @@ template <typename T, T v> struct integral_constant {
   LIBC_INLINE_VAR static constexpr T value = v;
 };
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_INTEGRAL_CONSTANT_H
diff --git a/libc/src/__support/CPP/type_traits/invoke.h b/libc/src/__support/CPP/type_traits/invoke.h
index 94351d849b926..8f29cb7f9fc41 100644
--- a/libc/src/__support/CPP/type_traits/invoke.h
+++ b/libc/src/__support/CPP/type_traits/invoke.h
@@ -18,7 +18,8 @@
 #include "src/__support/CPP/utility/forward.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 namespace detail {
 
@@ -59,6 +60,7 @@ decltype(auto) invoke(Function &&fun, Args &&...args) {
       cpp::forward<Function>(fun), cpp::forward<Args>(args)...);
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_INVOKE_H
diff --git a/libc/src/__support/CPP/type_traits/invoke_result.h b/libc/src/__support/CPP/type_traits/invoke_result.h
index a6e522fbd1a0f..257c012122e0c 100644
--- a/libc/src/__support/CPP/type_traits/invoke_result.h
+++ b/libc/src/__support/CPP/type_traits/invoke_result.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/CPP/utility/declval.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 template <class F, class... Args>
 struct invoke_result : cpp::type_identity<decltype(cpp::invoke(
@@ -21,6 +22,7 @@ struct invoke_result : cpp::type_identity<decltype(cpp::invoke(
 template <class F, class... Args>
 using invoke_result_t = typename invoke_result<F, Args...>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_INVOKE_RESULT_H
diff --git a/libc/src/__support/CPP/type_traits/is_arithmetic.h b/libc/src/__support/CPP/type_traits/is_arithmetic.h
index 53bb21203f593..3f9366753c3de 100644
--- a/libc/src/__support/CPP/type_traits/is_arithmetic.h
+++ b/libc/src/__support/CPP/type_traits/is_arithmetic.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/is_integral.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_arithmetic
 template <typename T>
@@ -22,6 +23,7 @@ struct is_arithmetic : cpp::bool_constant<(cpp::is_integral_v<T> ||
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_arithmetic_v = is_arithmetic<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_ARITHMETIC_H
diff --git a/libc/src/__support/CPP/type_traits/is_array.h b/libc/src/__support/CPP/type_traits/is_array.h
index 14360b130b2b1..ed0078f697e02 100644
--- a/libc/src/__support/CPP/type_traits/is_array.h
+++ b/libc/src/__support/CPP/type_traits/is_array.h
@@ -14,7 +14,8 @@
 
 #include <stddef.h> // For size_t
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_array
 template <class T> struct is_array : false_type {};
@@ -23,6 +24,7 @@ template <class T, size_t N> struct is_array<T[N]> : true_type {};
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_array_v = is_array<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_ARRAY_H
diff --git a/libc/src/__support/CPP/type_traits/is_base_of.h b/libc/src/__support/CPP/type_traits/is_base_of.h
index 47fb56876cd7f..a8ff5783b2ccb 100644
--- a/libc/src/__support/CPP/type_traits/is_base_of.h
+++ b/libc/src/__support/CPP/type_traits/is_base_of.h
@@ -15,7 +15,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_base_of
 namespace detail {
@@ -39,6 +40,7 @@ struct is_base_of
 template <typename Base, typename Derived>
 LIBC_INLINE_VAR constexpr bool is_base_of_v = is_base_of<Base, Derived>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_BASE_OF_H
diff --git a/libc/src/__support/CPP/type_traits/is_class.h b/libc/src/__support/CPP/type_traits/is_class.h
index 83ebaea544c75..d8ab3433fbe26 100644
--- a/libc/src/__support/CPP/type_traits/is_class.h
+++ b/libc/src/__support/CPP/type_traits/is_class.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/is_union.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_class
 namespace detail {
@@ -24,6 +25,7 @@ template <class T> struct is_class : decltype(detail::test<T>(nullptr)) {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_class_v = is_class<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_CLASS_H
diff --git a/libc/src/__support/CPP/type_traits/is_const.h b/libc/src/__support/CPP/type_traits/is_const.h
index 8e56a9afd2291..e78f0680f229a 100644
--- a/libc/src/__support/CPP/type_traits/is_const.h
+++ b/libc/src/__support/CPP/type_traits/is_const.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_const
 template <class T> struct is_const : cpp::false_type {};
@@ -20,6 +21,7 @@ template <class T> struct is_const<const T> : cpp::true_type {};
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_const_v = is_const<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_CONST_H
diff --git a/libc/src/__support/CPP/type_traits/is_constant_evaluated.h b/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
index 93cfd07b567f0..cfbd9f8f8db38 100644
--- a/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
+++ b/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
@@ -10,12 +10,14 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 LIBC_INLINE constexpr bool is_constant_evaluated() {
   return __builtin_is_constant_evaluated();
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
diff --git a/libc/src/__support/CPP/type_traits/is_convertible.h b/libc/src/__support/CPP/type_traits/is_convertible.h
index d419443493f7d..84b1986ce920d 100644
--- a/libc/src/__support/CPP/type_traits/is_convertible.h
+++ b/libc/src/__support/CPP/type_traits/is_convertible.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/utility/declval.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_convertible
 namespace detail {
@@ -40,6 +41,7 @@ template <class From, class To>
 LIBC_INLINE_VAR constexpr bool is_convertible_v =
     is_convertible<From, To>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_CONVERTIBLE_H
diff --git a/libc/src/__support/CPP/type_traits/is_destructible.h b/libc/src/__support/CPP/type_traits/is_destructible.h
index f94fe309ac8f7..f69d121cc1586 100644
--- a/libc/src/__support/CPP/type_traits/is_destructible.h
+++ b/libc/src/__support/CPP/type_traits/is_destructible.h
@@ -17,7 +17,8 @@
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_destructible
 #if __has_builtin(__is_destructible)
@@ -60,6 +61,7 @@ template <> struct is_destructible<void> : public false_type {};
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_destructible_v = is_destructible<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_DESTRUCTIBLE_H
diff --git a/libc/src/__support/CPP/type_traits/is_enum.h b/libc/src/__support/CPP/type_traits/is_enum.h
index 8d55a1ca8a9f7..a621c227fad90 100644
--- a/libc/src/__support/CPP/type_traits/is_enum.h
+++ b/libc/src/__support/CPP/type_traits/is_enum.h
@@ -11,13 +11,15 @@
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_enum
 template <typename T> struct is_enum : bool_constant<__is_enum(T)> {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_enum_v = is_enum<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_ENUM_H
diff --git a/libc/src/__support/CPP/type_traits/is_fixed_point.h b/libc/src/__support/CPP/type_traits/is_fixed_point.h
index 025268bc2979d..7c21c161e1bd3 100644
--- a/libc/src/__support/CPP/type_traits/is_fixed_point.h
+++ b/libc/src/__support/CPP/type_traits/is_fixed_point.h
@@ -14,7 +14,8 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_fixed_point
 #ifdef LIBC_COMPILER_HAS_FIXED_POINT
@@ -41,6 +42,7 @@ template <typename T> struct is_fixed_point : false_type {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_fixed_point_v = is_fixed_point<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_FIXED_POINT_H
diff --git a/libc/src/__support/CPP/type_traits/is_floating_point.h b/libc/src/__support/CPP/type_traits/is_floating_point.h
index 49b51dc83ea0a..2c16e98429e4b 100644
--- a/libc/src/__support/CPP/type_traits/is_floating_point.h
+++ b/libc/src/__support/CPP/type_traits/is_floating_point.h
@@ -13,7 +13,8 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_FLOAT128
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_floating_point
 template <typename T> struct is_floating_point {
@@ -40,6 +41,7 @@ template <typename T>
 LIBC_INLINE_VAR constexpr bool is_floating_point_v =
     is_floating_point<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_FLOATING_POINT_H
diff --git a/libc/src/__support/CPP/type_traits/is_function.h b/libc/src/__support/CPP/type_traits/is_function.h
index 0eba5860ad607..3a9ef7f2f2a39 100644
--- a/libc/src/__support/CPP/type_traits/is_function.h
+++ b/libc/src/__support/CPP/type_traits/is_function.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/is_reference.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_function
 #if __has_builtin(__is_function)
@@ -27,6 +28,7 @@ struct is_function
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_function_v = is_function<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_FUNCTION_H
diff --git a/libc/src/__support/CPP/type_traits/is_integral.h b/libc/src/__support/CPP/type_traits/is_integral.h
index 68e16ff841833..f27b6799864b6 100644
--- a/libc/src/__support/CPP/type_traits/is_integral.h
+++ b/libc/src/__support/CPP/type_traits/is_integral.h
@@ -13,7 +13,8 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_integral
 template <typename T> struct is_integral {
@@ -35,6 +36,7 @@ template <typename T> struct is_integral {
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_integral_v = is_integral<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_INTEGRAL_H
diff --git a/libc/src/__support/CPP/type_traits/is_lvalue_reference.h b/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
index 1dff57f186a3a..476a2711e8a84 100644
--- a/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_lvalue_reference
 #if __has_builtin(__is_lvalue_reference)
@@ -27,6 +28,7 @@ template <class T>
 LIBC_INLINE_VAR constexpr bool is_lvalue_reference_v =
     is_lvalue_reference<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_LVALUE_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/is_member_pointer.h b/libc/src/__support/CPP/type_traits/is_member_pointer.h
index f1f362f8dfd54..29093b4b5c96a 100644
--- a/libc/src/__support/CPP/type_traits/is_member_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_member_pointer.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_member_pointer
 template <class T> struct is_member_pointer_helper : cpp::false_type {};
@@ -25,6 +26,7 @@ template <class T>
 LIBC_INLINE_VAR constexpr bool is_member_pointer_v =
     is_member_pointer<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_MEMBER_POINTER_H
diff --git a/libc/src/__support/CPP/type_traits/is_null_pointer.h b/libc/src/__support/CPP/type_traits/is_null_pointer.h
index 14452433862ae..8cdd81e89e318 100644
--- a/libc/src/__support/CPP/type_traits/is_null_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_null_pointer.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_null_pointer
 using nullptr_t = decltype(nullptr);
@@ -21,6 +22,7 @@ struct is_null_pointer : cpp::is_same<cpp::nullptr_t, cpp::remove_cv_t<T>> {};
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_null_pointer_v = is_null_pointer<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_NULL_POINTER_H
diff --git a/libc/src/__support/CPP/type_traits/is_object.h b/libc/src/__support/CPP/type_traits/is_object.h
index a23bebca572be..b9b718eabcf11 100644
--- a/libc/src/__support/CPP/type_traits/is_object.h
+++ b/libc/src/__support/CPP/type_traits/is_object.h
@@ -15,7 +15,8 @@
 #include "src/__support/CPP/type_traits/is_union.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_object
 template <class T>
@@ -25,6 +26,7 @@ struct is_object
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_object_v = is_object<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_OBJECT_H
diff --git a/libc/src/__support/CPP/type_traits/is_pointer.h b/libc/src/__support/CPP/type_traits/is_pointer.h
index 177f8e5b64e7a..ad14974dc3ce5 100644
--- a/libc/src/__support/CPP/type_traits/is_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_pointer.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_pointer
 template <typename T> struct is_pointer : cpp::false_type {};
@@ -23,6 +24,7 @@ template <typename T> struct is_pointer<T *const volatile> : cpp::true_type {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_pointer_v = is_pointer<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_POINTER_H
diff --git a/libc/src/__support/CPP/type_traits/is_reference.h b/libc/src/__support/CPP/type_traits/is_reference.h
index bbfb2b7359c3e..c6e7ea030bb88 100644
--- a/libc/src/__support/CPP/type_traits/is_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_reference.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_reference
 #if __has_builtin(__is_reference)
@@ -26,6 +27,7 @@ template <typename T> struct is_reference<T &&> : public true_type {};
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_reference_v = is_reference<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/is_rvalue_reference.h b/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
index 3efbbe6b033a0..046b90208d5a6 100644
--- a/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_rvalue_reference
 #if __has_builtin(__is_rvalue_reference)
@@ -27,6 +28,7 @@ template <class T>
 LIBC_INLINE_VAR constexpr bool is_rvalue_reference_v =
     is_rvalue_reference<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_RVALUE_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/is_same.h b/libc/src/__support/CPP/type_traits/is_same.h
index eb73952f9f971..b77755a462c11 100644
--- a/libc/src/__support/CPP/type_traits/is_same.h
+++ b/libc/src/__support/CPP/type_traits/is_same.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_same
 template <typename T, typename U> struct is_same : cpp::false_type {};
@@ -20,6 +21,7 @@ template <typename T> struct is_same<T, T> : cpp::true_type {};
 template <typename T, typename U>
 LIBC_INLINE_VAR constexpr bool is_same_v = is_same<T, U>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_SAME_H
diff --git a/libc/src/__support/CPP/type_traits/is_scalar.h b/libc/src/__support/CPP/type_traits/is_scalar.h
index 1f71cde36ca27..2cf1b94de5508 100644
--- a/libc/src/__support/CPP/type_traits/is_scalar.h
+++ b/libc/src/__support/CPP/type_traits/is_scalar.h
@@ -16,7 +16,8 @@
 #include "src/__support/CPP/type_traits/is_pointer.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_scalar
 template <class T>
@@ -27,6 +28,7 @@ struct is_scalar
 template <class T>
 LIBC_INLINE_VAR constexpr bool is_scalar_v = is_scalar<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_SCALAR_H
diff --git a/libc/src/__support/CPP/type_traits/is_signed.h b/libc/src/__support/CPP/type_traits/is_signed.h
index 971fe692679f9..bc6b957663d7a 100644
--- a/libc/src/__support/CPP/type_traits/is_signed.h
+++ b/libc/src/__support/CPP/type_traits/is_signed.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/is_arithmetic.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_signed
 template <typename T>
@@ -23,6 +24,7 @@ struct is_signed : bool_constant<(is_arithmetic_v<T> && (T(-1) < T(0)))> {
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_signed_v = is_signed<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_SIGNED_H
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_constructible.h b/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
index be97b2289cf0a..aad2519df6f8a 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
@@ -10,13 +10,15 @@
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_trivially_constructible
 template <class T, class... Args>
 struct is_trivially_constructible
     : integral_constant<bool, __is_trivially_constructible(T, Args...)> {};
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_copyable.h b/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
index b4c825d579619..0041e61f5f1d9 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
@@ -10,13 +10,15 @@
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_trivially_copyable
 template <class T>
 struct is_trivially_copyable
     : public integral_constant<bool, __is_trivially_copyable(T)> {};
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_destructible.h b/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
index 37e0e869266e1..372826ba49153 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/is_destructible.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_trivially_destructible
 #if __has_builtin(__is_trivially_destructible)
@@ -29,6 +30,7 @@ template <typename T>
 LIBC_INLINE_VAR constexpr bool is_trivially_destructible_v =
     is_trivially_destructible<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
diff --git a/libc/src/__support/CPP/type_traits/is_union.h b/libc/src/__support/CPP/type_traits/is_union.h
index 04e78a89fc0c1..db17266496088 100644
--- a/libc/src/__support/CPP/type_traits/is_union.h
+++ b/libc/src/__support/CPP/type_traits/is_union.h
@@ -11,13 +11,15 @@
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_union
 template <class T> struct is_union : bool_constant<__is_union(T)> {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_union_v = is_union<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_UNION_H
diff --git a/libc/src/__support/CPP/type_traits/is_unsigned.h b/libc/src/__support/CPP/type_traits/is_unsigned.h
index f089c2b61632f..2c1492c7c18da 100644
--- a/libc/src/__support/CPP/type_traits/is_unsigned.h
+++ b/libc/src/__support/CPP/type_traits/is_unsigned.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/is_arithmetic.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_unsigned
 template <typename T>
@@ -23,6 +24,7 @@ struct is_unsigned : bool_constant<(is_arithmetic_v<T> && (T(-1) > T(0)))> {
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_unsigned_v = is_unsigned<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_UNSIGNED_H
diff --git a/libc/src/__support/CPP/type_traits/is_void.h b/libc/src/__support/CPP/type_traits/is_void.h
index 040dc831fd64e..76960c8f60216 100644
--- a/libc/src/__support/CPP/type_traits/is_void.h
+++ b/libc/src/__support/CPP/type_traits/is_void.h
@@ -12,13 +12,15 @@
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // is_void
 template <typename T> struct is_void : is_same<void, remove_cv_t<T>> {};
 template <typename T>
 LIBC_INLINE_VAR constexpr bool is_void_v = is_void<T>::value;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_VOID_H
diff --git a/libc/src/__support/CPP/type_traits/make_signed.h b/libc/src/__support/CPP/type_traits/make_signed.h
index 4652d8b6bfa56..c16b67bd2453c 100644
--- a/libc/src/__support/CPP/type_traits/make_signed.h
+++ b/libc/src/__support/CPP/type_traits/make_signed.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // make_signed
 template <typename T> struct make_signed;
@@ -33,6 +34,7 @@ template <> struct make_signed<__uint128_t> : type_identity<__int128_t> {};
 #endif
 template <typename T> using make_signed_t = typename make_signed<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_MAKE_SIGNED_H
diff --git a/libc/src/__support/CPP/type_traits/make_unsigned.h b/libc/src/__support/CPP/type_traits/make_unsigned.h
index 1e814ae002a77..97536c63c04c4 100644
--- a/libc/src/__support/CPP/type_traits/make_unsigned.h
+++ b/libc/src/__support/CPP/type_traits/make_unsigned.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // make_unsigned
 
@@ -38,6 +39,7 @@ template <> struct make_unsigned<__uint128_t> : type_identity<__uint128_t> {};
 #endif
 template <typename T> using make_unsigned_t = typename make_unsigned<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_MAKE_UNSIGNED_H
diff --git a/libc/src/__support/CPP/type_traits/remove_all_extents.h b/libc/src/__support/CPP/type_traits/remove_all_extents.h
index 5941b82bbc161..f7a4723d68b0a 100644
--- a/libc/src/__support/CPP/type_traits/remove_all_extents.h
+++ b/libc/src/__support/CPP/type_traits/remove_all_extents.h
@@ -12,7 +12,8 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // remove_all_extents
 #if __has_builtin(__remove_all_extents)
@@ -33,6 +34,7 @@ template <typename T>
 using remove_all_extents_t = typename remove_all_extents<T>::type;
 #endif
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
diff --git a/libc/src/__support/CPP/type_traits/remove_cv.h b/libc/src/__support/CPP/type_traits/remove_cv.h
index 3cd7e5914119c..b594ef96c46dd 100644
--- a/libc/src/__support/CPP/type_traits/remove_cv.h
+++ b/libc/src/__support/CPP/type_traits/remove_cv.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // remove_cv
 template <class T> struct remove_cv : cpp::type_identity<T> {};
@@ -20,6 +21,7 @@ template <class T>
 struct remove_cv<const volatile T> : cpp::type_identity<T> {};
 template <class T> using remove_cv_t = typename remove_cv<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_CV_H
diff --git a/libc/src/__support/CPP/type_traits/remove_cvref.h b/libc/src/__support/CPP/type_traits/remove_cvref.h
index 6b410bb5841bc..df5a37f5582b4 100644
--- a/libc/src/__support/CPP/type_traits/remove_cvref.h
+++ b/libc/src/__support/CPP/type_traits/remove_cvref.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/CPP/type_traits/remove_reference.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // remove_cvref
 template <typename T> struct remove_cvref {
@@ -19,6 +20,7 @@ template <typename T> struct remove_cvref {
 };
 template <typename T> using remove_cvref_t = typename remove_cvref<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_CVREF_H
diff --git a/libc/src/__support/CPP/type_traits/remove_extent.h b/libc/src/__support/CPP/type_traits/remove_extent.h
index 3c0759dc1a522..fb7ba401a28ea 100644
--- a/libc/src/__support/CPP/type_traits/remove_extent.h
+++ b/libc/src/__support/CPP/type_traits/remove_extent.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "stddef.h" // size_t
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // remove_extent
 template <class T> struct remove_extent : cpp::type_identity<T> {};
@@ -20,6 +21,7 @@ template <class T, size_t N>
 struct remove_extent<T[N]> : cpp::type_identity<T> {};
 template <class T> using remove_extent_t = typename remove_extent<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_EXTENT_H
diff --git a/libc/src/__support/CPP/type_traits/remove_reference.h b/libc/src/__support/CPP/type_traits/remove_reference.h
index 02a0bd6373d3a..44b0ecc4fd8cc 100644
--- a/libc/src/__support/CPP/type_traits/remove_reference.h
+++ b/libc/src/__support/CPP/type_traits/remove_reference.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // remove_reference
 template <class T> struct remove_reference : cpp::type_identity<T> {};
@@ -19,6 +20,7 @@ template <class T> struct remove_reference<T &&> : cpp::type_identity<T> {};
 template <class T>
 using remove_reference_t = typename remove_reference<T>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_REFERENCE_H
diff --git a/libc/src/__support/CPP/type_traits/true_type.h b/libc/src/__support/CPP/type_traits/true_type.h
index 60ffc8acd9dad..d423e8abc5060 100644
--- a/libc/src/__support/CPP/type_traits/true_type.h
+++ b/libc/src/__support/CPP/type_traits/true_type.h
@@ -10,11 +10,13 @@
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // true_type
 using true_type = cpp::bool_constant<true>;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TRUE_TYPE_H
diff --git a/libc/src/__support/CPP/type_traits/type_identity.h b/libc/src/__support/CPP/type_traits/type_identity.h
index f33a43ac7ea10..e4715fe1b42b1 100644
--- a/libc/src/__support/CPP/type_traits/type_identity.h
+++ b/libc/src/__support/CPP/type_traits/type_identity.h
@@ -8,13 +8,15 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TYPE_IDENTITY_H
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TYPE_IDENTITY_H
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // type_identity
 template <typename T> struct type_identity {
   using type = T;
 };
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TYPE_IDENTITY_H
diff --git a/libc/src/__support/CPP/type_traits/void_t.h b/libc/src/__support/CPP/type_traits/void_t.h
index babdaccfbc537..18fa732b433e3 100644
--- a/libc/src/__support/CPP/type_traits/void_t.h
+++ b/libc/src/__support/CPP/type_traits/void_t.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/type_identity.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // void_t
 
@@ -21,6 +22,7 @@ template <typename... Ts> struct make_void : cpp::type_identity<void> {};
 template <typename... Ts>
 using void_t = typename detail::make_void<Ts...>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_VOID_T_H
diff --git a/libc/src/__support/CPP/utility/declval.h b/libc/src/__support/CPP/utility/declval.h
index 0d00aa6d38199..8d46652e7af63 100644
--- a/libc/src/__support/CPP/utility/declval.h
+++ b/libc/src/__support/CPP/utility/declval.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/add_rvalue_reference.h"
 #include "src/__support/CPP/type_traits/always_false.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // declval
 template <typename T> cpp::add_rvalue_reference_t<T> declval() {
@@ -19,6 +20,7 @@ template <typename T> cpp::add_rvalue_reference_t<T> declval() {
                 "declval not allowed in an evaluated context");
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_DECLVAL_H
diff --git a/libc/src/__support/CPP/utility/forward.h b/libc/src/__support/CPP/utility/forward.h
index 891097ec96d54..26124a614e0f0 100644
--- a/libc/src/__support/CPP/utility/forward.h
+++ b/libc/src/__support/CPP/utility/forward.h
@@ -12,7 +12,8 @@
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // forward
 template <typename T>
@@ -27,6 +28,7 @@ LIBC_INLINE constexpr T &&forward(remove_reference_t<T> &&value) {
   return static_cast<T &&>(value);
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_FORWARD_H
diff --git a/libc/src/__support/CPP/utility/in_place.h b/libc/src/__support/CPP/utility/in_place.h
index 3aace22f211a8..d25d5b913e7a6 100644
--- a/libc/src/__support/CPP/utility/in_place.h
+++ b/libc/src/__support/CPP/utility/in_place.h
@@ -12,7 +12,8 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // in_place
 struct in_place_t {
@@ -31,6 +32,7 @@ template <size_t I> struct in_place_index_t {
 template <size_t I>
 LIBC_INLINE_VAR constexpr in_place_index_t<I> in_place_index{};
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_IN_PLACE_H
diff --git a/libc/src/__support/CPP/utility/integer_sequence.h b/libc/src/__support/CPP/utility/integer_sequence.h
index 2ed26df3d238e..577ef50abb225 100644
--- a/libc/src/__support/CPP/utility/integer_sequence.h
+++ b/libc/src/__support/CPP/utility/integer_sequence.h
@@ -10,7 +10,8 @@
 
 #include "src/__support/CPP/type_traits/is_integral.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // integer_sequence
 template <typename T, T... Ints> struct integer_sequence {
@@ -32,6 +33,7 @@ template <typename T, int N>
 using make_integer_sequence =
     typename detail::make_integer_sequence<T, N - 1>::type;
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_INTEGER_SEQUENCE_H
diff --git a/libc/src/__support/CPP/utility/move.h b/libc/src/__support/CPP/utility/move.h
index 4fec5e6af96e3..198aacbef7fa4 100644
--- a/libc/src/__support/CPP/utility/move.h
+++ b/libc/src/__support/CPP/utility/move.h
@@ -11,7 +11,8 @@
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 // move
 template <class T>
@@ -19,6 +20,7 @@ LIBC_INLINE constexpr cpp::remove_reference_t<T> &&move(T &&t) {
   return static_cast<typename cpp::remove_reference_t<T> &&>(t);
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_MOVE_H
diff --git a/libc/src/__support/FPUtil/BasicOperations.h b/libc/src/__support/FPUtil/BasicOperations.h
index 17eee7bddb282..019c280d5b158 100644
--- a/libc/src/__support/FPUtil/BasicOperations.h
+++ b/libc/src/__support/FPUtil/BasicOperations.h
@@ -18,7 +18,7 @@
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/uint128.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <typename T, cpp::enable_if_t<cpp::is_floating_point_v<T>, int> = 0>
@@ -308,6 +308,6 @@ setpayload(T &res, T pl) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_BASICOPERATIONS_H
diff --git a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
index eee05c67d9e9b..ec49785fcf4f5 100644
--- a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
+++ b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
@@ -16,7 +16,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 static constexpr int QUOTIENT_LSB_BITS = 3;
@@ -115,6 +115,6 @@ LIBC_INLINE T remquo(T x, T y, int &q) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_DIVISIONANDREMAINDEROPERATIONS_H
diff --git a/libc/src/__support/FPUtil/FEnvImpl.h b/libc/src/__support/FPUtil/FEnvImpl.h
index 1674dd0358e88..c3832843c646b 100644
--- a/libc/src/__support/FPUtil/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/FEnvImpl.h
@@ -34,7 +34,8 @@
 #include "riscv/FEnvImpl.h"
 #else
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 // All dummy functions silently succeed.
 
@@ -62,10 +63,12 @@ LIBC_INLINE int get_env(fenv_t *) { return 0; }
 
 LIBC_INLINE int set_env(const fenv_t *) { return 0; }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 #endif
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 LIBC_INLINE int clear_except_if_required(int excepts) {
   if (math_errhandling & MATH_ERREXCEPT)
@@ -90,6 +93,7 @@ LIBC_INLINE void set_errno_if_required(int err) {
     libc_errno = err;
 }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_FENVIMPL_H
diff --git a/libc/src/__support/FPUtil/FMA.h b/libc/src/__support/FPUtil/FMA.h
index cf01a317d7359..436d5c738dcb2 100644
--- a/libc/src/__support/FPUtil/FMA.h
+++ b/libc/src/__support/FPUtil/FMA.h
@@ -14,7 +14,7 @@
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <typename OutType, typename InType>
@@ -33,6 +33,6 @@ template <> LIBC_INLINE double fma(double x, double y, double z) {
 #endif // LIBC_TARGET_CPU_HAS_FMA
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_FMA_H
diff --git a/libc/src/__support/FPUtil/FPBits.h b/libc/src/__support/FPUtil/FPBits.h
index 559ecde767c30..407d8a0259027 100644
--- a/libc/src/__support/FPUtil/FPBits.h
+++ b/libc/src/__support/FPUtil/FPBits.h
@@ -21,7 +21,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 // The supported floating point types.
@@ -824,6 +824,6 @@ struct FPBits final : public internal::FPRepImpl<get_fp_type<T>(), FPBits<T>> {
 };
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_FPBITS_H
diff --git a/libc/src/__support/FPUtil/Hypot.h b/libc/src/__support/FPUtil/Hypot.h
index 76b1f07976213..919e983ec551e 100644
--- a/libc/src/__support/FPUtil/Hypot.h
+++ b/libc/src/__support/FPUtil/Hypot.h
@@ -18,7 +18,7 @@
 #include "src/__support/common.h"
 #include "src/__support/uint128.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 namespace internal {
@@ -263,6 +263,6 @@ LIBC_INLINE T hypot(T x, T y) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_HYPOT_H
diff --git a/libc/src/__support/FPUtil/ManipulationFunctions.h b/libc/src/__support/FPUtil/ManipulationFunctions.h
index 97c43126a71a3..7b945ffc97eb4 100644
--- a/libc/src/__support/FPUtil/ManipulationFunctions.h
+++ b/libc/src/__support/FPUtil/ManipulationFunctions.h
@@ -23,7 +23,7 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <typename T, cpp::enable_if_t<cpp::is_floating_point_v<T>, int> = 0>
@@ -258,7 +258,7 @@ LIBC_INLINE constexpr T nextupdown(T x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #ifdef LIBC_TYPES_LONG_DOUBLE_IS_X86_FLOAT80
 #include "x86_64/NextAfterLongDouble.h"
diff --git a/libc/src/__support/FPUtil/NearestIntegerOperations.h b/libc/src/__support/FPUtil/NearestIntegerOperations.h
index a9a0a97eebb5c..a21e1891af6fe 100644
--- a/libc/src/__support/FPUtil/NearestIntegerOperations.h
+++ b/libc/src/__support/FPUtil/NearestIntegerOperations.h
@@ -17,7 +17,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <typename T, cpp::enable_if_t<cpp::is_floating_point_v<T>, int> = 0>
@@ -400,6 +400,6 @@ LIBC_INLINE I round_to_signed_integer_using_current_rounding_mode(F x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_NEARESTINTEGEROPERATIONS_H
diff --git a/libc/src/__support/FPUtil/NormalFloat.h b/libc/src/__support/FPUtil/NormalFloat.h
index 413d20430090b..c70109f161df6 100644
--- a/libc/src/__support/FPUtil/NormalFloat.h
+++ b/libc/src/__support/FPUtil/NormalFloat.h
@@ -16,7 +16,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 // A class which stores the normalized form of a floating point value.
@@ -267,6 +267,6 @@ template <> LIBC_INLINE NormalFloat<long double>::operator long double() const {
 #endif // LIBC_TYPES_LONG_DOUBLE_IS_X86_FLOAT80
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_NORMALFLOAT_H
diff --git a/libc/src/__support/FPUtil/PolyEval.h b/libc/src/__support/FPUtil/PolyEval.h
index 7a6384541a747..a553772833a72 100644
--- a/libc/src/__support/FPUtil/PolyEval.h
+++ b/libc/src/__support/FPUtil/PolyEval.h
@@ -20,7 +20,7 @@
 // Example: to evaluate x^3 + 2*x^2 + 3*x + 4, call
 //   polyeval( x, 4.0, 3.0, 2.0, 1.0 )
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <typename T>
@@ -48,6 +48,6 @@ polyeval(T x, T a0, Ts... a) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_POLYEVAL_H
diff --git a/libc/src/__support/FPUtil/aarch64/FEnvImpl.h b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
index cd8a5970edd65..ce443df994030 100644
--- a/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
@@ -23,7 +23,7 @@
 #include "hdr/types/fenv_t.h"
 #include "src/__support/FPUtil/FPBits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 struct FEnv {
@@ -279,6 +279,6 @@ LIBC_INLINE int set_env(const fenv_t *envp) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_FENVIMPL_H
diff --git a/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h b/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
index feb48e3719bf1..e37d80ca1ec09 100644
--- a/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
+++ b/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
@@ -23,7 +23,7 @@
 #include "hdr/types/fenv_t.h"
 #include "src/__support/FPUtil/FPBits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 struct FEnv {
@@ -284,6 +284,6 @@ LIBC_INLINE int set_env(const fenv_t *envp) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_FENV_DARWIN_IMPL_H
diff --git a/libc/src/__support/FPUtil/aarch64/nearest_integer.h b/libc/src/__support/FPUtil/aarch64/nearest_integer.h
index ca0763078ff0d..50c870be6b708 100644
--- a/libc/src/__support/FPUtil/aarch64/nearest_integer.h
+++ b/libc/src/__support/FPUtil/aarch64/nearest_integer.h
@@ -16,7 +16,7 @@
 #error "Invalid include"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 LIBC_INLINE float nearest_integer(float x) {
@@ -32,6 +32,6 @@ LIBC_INLINE double nearest_integer(double x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_NEAREST_INTEGER_H
diff --git a/libc/src/__support/FPUtil/aarch64/sqrt.h b/libc/src/__support/FPUtil/aarch64/sqrt.h
index bad7e316bf370..78d1471b82b66 100644
--- a/libc/src/__support/FPUtil/aarch64/sqrt.h
+++ b/libc/src/__support/FPUtil/aarch64/sqrt.h
@@ -18,7 +18,7 @@
 
 #include "src/__support/FPUtil/generic/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <> LIBC_INLINE float sqrt<float>(float x) {
@@ -34,6 +34,6 @@ template <> LIBC_INLINE double sqrt<double>(double x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_SQRT_H
diff --git a/libc/src/__support/FPUtil/arm/FEnvImpl.h b/libc/src/__support/FPUtil/arm/FEnvImpl.h
index cb8d31d683af3..c249e6dbf539c 100644
--- a/libc/src/__support/FPUtil/arm/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/arm/FEnvImpl.h
@@ -15,7 +15,7 @@
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 struct FEnv {
@@ -260,6 +260,6 @@ LIBC_INLINE int set_env(const fenv_t *envp) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_ARM_FENVIMPL_H
diff --git a/libc/src/__support/FPUtil/double_double.h b/libc/src/__support/FPUtil/double_double.h
index 6867026953f25..1f2c8343e2f77 100644
--- a/libc/src/__support/FPUtil/double_double.h
+++ b/libc/src/__support/FPUtil/double_double.h
@@ -14,7 +14,8 @@
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 #include "src/__support/number_pair.h"
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 using DoubleDouble = LIBC_NAMESPACE::NumberPair<double>;
 
@@ -165,6 +166,7 @@ LIBC_INLINE DoubleDouble div(const DoubleDouble &a, const DoubleDouble &b) {
   return r;
 }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_DOUBLE_DOUBLE_H
diff --git a/libc/src/__support/FPUtil/dyadic_float.h b/libc/src/__support/FPUtil/dyadic_float.h
index 32267bb68e1cc..314271c1c9a9e 100644
--- a/libc/src/__support/FPUtil/dyadic_float.h
+++ b/libc/src/__support/FPUtil/dyadic_float.h
@@ -18,7 +18,8 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 // A generic class to perform computations of high precision floating points.
 // We store the value in dyadic format, including 3 fields:
@@ -371,6 +372,7 @@ LIBC_INLINE constexpr DyadicFloat<Bits> mul_pow_2(const DyadicFloat<Bits> &a,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_DYADIC_FLOAT_H
diff --git a/libc/src/__support/FPUtil/except_value_utils.h b/libc/src/__support/FPUtil/except_value_utils.h
index 1e0381194009d..eb59a991612b8 100644
--- a/libc/src/__support/FPUtil/except_value_utils.h
+++ b/libc/src/__support/FPUtil/except_value_utils.h
@@ -15,7 +15,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace fputil {
 
@@ -114,6 +114,6 @@ template <typename T> LIBC_INLINE T round_result_slightly_up(T value_rn) {
 
 } // namespace fputil
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_EXCEPT_VALUE_UTILS_H
diff --git a/libc/src/__support/FPUtil/fpbits_str.h b/libc/src/__support/FPUtil/fpbits_str.h
index 97689867da4de..1f1a857e5c170 100644
--- a/libc/src/__support/FPUtil/fpbits_str.h
+++ b/libc/src/__support/FPUtil/fpbits_str.h
@@ -15,7 +15,7 @@
 #include "src/__support/integer_to_string.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace details {
 
@@ -70,6 +70,6 @@ template <typename T> LIBC_INLINE cpp::string str(fputil::FPBits<T> x) {
   return s;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_FPBITS_STR_H
diff --git a/libc/src/__support/FPUtil/generic/FMA.h b/libc/src/__support/FPUtil/generic/FMA.h
index 72341a129dcb5..887ca4988304a 100644
--- a/libc/src/__support/FPUtil/generic/FMA.h
+++ b/libc/src/__support/FPUtil/generic/FMA.h
@@ -22,7 +22,7 @@
 
 #include "hdr/fenv_macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 namespace generic {
 
@@ -272,6 +272,6 @@ fma(InType x, InType y, InType z) {
 
 } // namespace generic
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_FMA_H
diff --git a/libc/src/__support/FPUtil/generic/FMod.h b/libc/src/__support/FPUtil/generic/FMod.h
index 0b9244ebdc8a8..148ae03dd9a6f 100644
--- a/libc/src/__support/FPUtil/generic/FMod.h
+++ b/libc/src/__support/FPUtil/generic/FMod.h
@@ -16,7 +16,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 namespace generic {
 
@@ -290,6 +290,6 @@ class FMod {
 
 } // namespace generic
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_FMOD_H
diff --git a/libc/src/__support/FPUtil/generic/README.md b/libc/src/__support/FPUtil/generic/README.md
index 61278aca949cd..e45812cfe120c 100644
--- a/libc/src/__support/FPUtil/generic/README.md
+++ b/libc/src/__support/FPUtil/generic/README.md
@@ -12,7 +12,7 @@ we want to be able to call the generic `long double` implementation from the
 nested namespace, we will be to call them as follows:
 
 ```
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 long double fmal(long double x, long double y, long double z) {
@@ -20,7 +20,7 @@ long double fmal(long double x, long double y, long double z) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 ```
 
 Note that actual code might not be as straightforward as above (for example,
diff --git a/libc/src/__support/FPUtil/generic/add_sub.h b/libc/src/__support/FPUtil/generic/add_sub.h
index a522deae31368..c78871333bb4c 100644
--- a/libc/src/__support/FPUtil/generic/add_sub.h
+++ b/libc/src/__support/FPUtil/generic/add_sub.h
@@ -22,7 +22,8 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/optimization.h"
 
-namespace LIBC_NAMESPACE::fputil::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil::generic {
 
 template <bool IsSub, typename OutType, typename InType>
 LIBC_INLINE cpp::enable_if_t<cpp::is_floating_point_v<OutType> &&
@@ -201,6 +202,7 @@ sub(InType x, InType y) {
   return add_or_sub</*IsSub=*/true, OutType>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE::fputil::generic
+} // namespace fputil::generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_ADD_SUB_H
diff --git a/libc/src/__support/FPUtil/generic/div.h b/libc/src/__support/FPUtil/generic/div.h
index 0d84aa8d8bccc..e7ea989f901db 100644
--- a/libc/src/__support/FPUtil/generic/div.h
+++ b/libc/src/__support/FPUtil/generic/div.h
@@ -20,7 +20,8 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/macros/optimization.h"
 
-namespace LIBC_NAMESPACE::fputil::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil::generic {
 
 template <typename OutType, typename InType>
 LIBC_INLINE cpp::enable_if_t<cpp::is_floating_point_v<OutType> &&
@@ -118,6 +119,7 @@ div(InType x, InType y) {
   return result.template as<OutType, /*ShouldSignalExceptions=*/true>();
 }
 
-} // namespace LIBC_NAMESPACE::fputil::generic
+} // namespace fputil::generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_DIV_H
diff --git a/libc/src/__support/FPUtil/generic/sqrt.h b/libc/src/__support/FPUtil/generic/sqrt.h
index 1b713796f7499..16861486752bd 100644
--- a/libc/src/__support/FPUtil/generic/sqrt.h
+++ b/libc/src/__support/FPUtil/generic/sqrt.h
@@ -20,7 +20,7 @@
 
 #include "hdr/fenv_macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 namespace internal {
@@ -163,6 +163,6 @@ sqrt(InType x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_SQRT_H
diff --git a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
index 6308ffe95493e..65be6cd94d4d6 100644
--- a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
+++ b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
@@ -16,7 +16,7 @@
 #include "src/__support/common.h"
 #include "src/__support/uint128.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 namespace x86 {
 
@@ -134,6 +134,6 @@ LIBC_INLINE long double sqrt(long double x) {
 
 } // namespace x86
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_GENERIC_SQRT_80_BIT_LONG_DOUBLE_H
diff --git a/libc/src/__support/FPUtil/multiply_add.h b/libc/src/__support/FPUtil/multiply_add.h
index 1b9eee4ace62d..77d10ab1a75e4 100644
--- a/libc/src/__support/FPUtil/multiply_add.h
+++ b/libc/src/__support/FPUtil/multiply_add.h
@@ -14,7 +14,7 @@
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 // Implement a simple wrapper for multiply-add operation:
@@ -34,7 +34,7 @@ multiply_add(T x, T y, T z) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #if defined(LIBC_TARGET_CPU_HAS_FMA)
 
@@ -42,7 +42,7 @@ multiply_add(T x, T y, T z) {
 // We use builtins directly instead of including FMA.h to avoid a circular
 // dependency: multiply_add.h -> FMA.h -> generic/FMA.h -> dyadic_float.h.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 LIBC_INLINE float multiply_add(float x, float y, float z) {
@@ -54,7 +54,7 @@ LIBC_INLINE double multiply_add(double x, double y, double z) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/__support/FPUtil/nearest_integer.h b/libc/src/__support/FPUtil/nearest_integer.h
index f9d952cfa163b..05aba7e2faa80 100644
--- a/libc/src/__support/FPUtil/nearest_integer.h
+++ b/libc/src/__support/FPUtil/nearest_integer.h
@@ -31,7 +31,7 @@ LIBC_INLINE double nearest_integer(double x) { return __builtin_rint(x); }
 
 #else
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 // This is a fast implementation for rounding to a nearest integer that.
@@ -72,7 +72,7 @@ LIBC_INLINE double nearest_integer(double x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_NEAREST_INTEGER_H
diff --git a/libc/src/__support/FPUtil/riscv/FEnvImpl.h b/libc/src/__support/FPUtil/riscv/FEnvImpl.h
index 1de464a89de48..2f525eb5dac5a 100644
--- a/libc/src/__support/FPUtil/riscv/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/riscv/FEnvImpl.h
@@ -17,7 +17,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 struct FEnv {
@@ -176,6 +176,6 @@ LIBC_INLINE int set_env(const fenv_t *envp) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_RISCV_FENVIMPL_H
diff --git a/libc/src/__support/FPUtil/riscv/sqrt.h b/libc/src/__support/FPUtil/riscv/sqrt.h
index a1c436d0ebb1d..89c03db77f21b 100644
--- a/libc/src/__support/FPUtil/riscv/sqrt.h
+++ b/libc/src/__support/FPUtil/riscv/sqrt.h
@@ -18,7 +18,7 @@
 
 #include "src/__support/FPUtil/generic/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 #ifdef __riscv_flen
@@ -38,6 +38,6 @@ template <> LIBC_INLINE double sqrt<double>(double x) {
 #endif // __riscv_flen
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_RISCV_SQRT_H
diff --git a/libc/src/__support/FPUtil/rounding_mode.h b/libc/src/__support/FPUtil/rounding_mode.h
index aa5e00fa560bc..50dbe3af6e36b 100644
--- a/libc/src/__support/FPUtil/rounding_mode.h
+++ b/libc/src/__support/FPUtil/rounding_mode.h
@@ -12,7 +12,8 @@
 #include "hdr/fenv_macros.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 // Quick free-standing test whether fegetround() == FE_UPWARD.
 // Using the following observation:
@@ -73,6 +74,7 @@ LIBC_INLINE int quick_get_round() {
   return (2.0f + y == 2.0f) ? FE_TONEAREST : FE_UPWARD;
 }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_ROUNDING_MODE_H
diff --git a/libc/src/__support/FPUtil/triple_double.h b/libc/src/__support/FPUtil/triple_double.h
index eafa777878651..cfcc7fd15c47a 100644
--- a/libc/src/__support/FPUtil/triple_double.h
+++ b/libc/src/__support/FPUtil/triple_double.h
@@ -9,7 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_FPUTIL_TRIPLE_DOUBLE_H
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_TRIPLE_DOUBLE_H
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 struct TripleDouble {
   double lo = 0.0;
@@ -17,6 +18,7 @@ struct TripleDouble {
   double hi = 0.0;
 };
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_TRIPLE_DOUBLE_H
diff --git a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
index 2aa69565efc58..e263b03b8027d 100644
--- a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
@@ -21,7 +21,7 @@
 #include "hdr/types/fenv_t.h"
 #include "src/__support/macros/sanitizer.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 namespace internal {
@@ -642,6 +642,6 @@ LIBC_INLINE int set_env(const fenv_t *envp) {
 #endif
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_FENVIMPL_H
diff --git a/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h b/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
index d1c76ba954b93..e04cdce89d9cc 100644
--- a/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
+++ b/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
@@ -21,7 +21,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 LIBC_INLINE long double nextafter(long double from, long double to) {
@@ -119,6 +119,6 @@ LIBC_INLINE long double nextafter(long double from, long double to) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEXTAFTERLONGDOUBLE_H
diff --git a/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h b/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
index 1bc849500be04..a4569f86f9a64 100644
--- a/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
+++ b/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
@@ -17,7 +17,8 @@
 #error "Invalid include"
 #endif
 
-namespace LIBC_NAMESPACE::fputil {
+namespace LIBC_NAMESPACE_DECL {
+namespace fputil {
 
 template <bool IsDown>
 LIBC_INLINE constexpr long double nextupdown(long double x) {
@@ -55,6 +56,7 @@ LIBC_INLINE constexpr long double nextupdown(long double x) {
   return xbits.get_val();
 }
 
-} // namespace LIBC_NAMESPACE::fputil
+} // namespace fputil
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEXTUPDOWNLONGDOUBLE_H
diff --git a/libc/src/__support/FPUtil/x86_64/nearest_integer.h b/libc/src/__support/FPUtil/x86_64/nearest_integer.h
index ee31aeefd8489..301b63d130f12 100644
--- a/libc/src/__support/FPUtil/x86_64/nearest_integer.h
+++ b/libc/src/__support/FPUtil/x86_64/nearest_integer.h
@@ -22,7 +22,7 @@
 
 #include <immintrin.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 LIBC_INLINE float nearest_integer(float x) {
@@ -40,6 +40,6 @@ LIBC_INLINE double nearest_integer(double x) {
 }
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEAREST_INTEGER_H
diff --git a/libc/src/__support/FPUtil/x86_64/sqrt.h b/libc/src/__support/FPUtil/x86_64/sqrt.h
index bfcc5e98834d6..50fa08dcc62dd 100644
--- a/libc/src/__support/FPUtil/x86_64/sqrt.h
+++ b/libc/src/__support/FPUtil/x86_64/sqrt.h
@@ -19,7 +19,7 @@
 
 #include "src/__support/FPUtil/generic/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
 template <> LIBC_INLINE float sqrt<float>(float x) {
@@ -48,6 +48,6 @@ template <> LIBC_INLINE long double sqrt<long double>(long double x) {
 #endif
 
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_SQRT_H
diff --git a/libc/src/__support/File/dir.cpp b/libc/src/__support/File/dir.cpp
index e0f7695b39323..fe66c2e2fb5ce 100644
--- a/libc/src/__support/File/dir.cpp
+++ b/libc/src/__support/File/dir.cpp
@@ -13,7 +13,7 @@
 #include "src/__support/error_or.h"
 #include "src/errno/libc_errno.h" // For error macros
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ErrorOr<Dir *> Dir::open(const char *path) {
   auto fd = platform_opendir(path);
@@ -61,4 +61,4 @@ int Dir::close() {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/File/dir.h b/libc/src/__support/File/dir.h
index 9f8c8dbb0c36e..00ada4d6a940a 100644
--- a/libc/src/__support/File/dir.h
+++ b/libc/src/__support/File/dir.h
@@ -16,7 +16,7 @@
 #include <dirent.h>
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Platform specific function which will open the directory |name|
 // and return its file descriptor. Upon failure, the error value is returned.
@@ -74,6 +74,6 @@ class Dir {
   LIBC_INLINE int getfd() { return fd; }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FILE_DIR_H
diff --git a/libc/src/__support/File/file.cpp b/libc/src/__support/File/file.cpp
index 0b1a8cac21f77..559cb701d2779 100644
--- a/libc/src/__support/File/file.cpp
+++ b/libc/src/__support/File/file.cpp
@@ -15,7 +15,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 FileIOResult File::write_unlocked(const void *data, size_t len) {
   if (!write_allowed()) {
@@ -431,4 +431,4 @@ File::ModeFlags File::mode_flags(const char *mode) {
   return flags;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/File/file.h b/libc/src/__support/File/file.h
index cc82a7ecc9745..f6776a5fba97e 100644
--- a/libc/src/__support/File/file.h
+++ b/libc/src/__support/File/file.h
@@ -18,7 +18,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct FileIOResult {
   size_t value;
@@ -313,6 +313,6 @@ extern File *stdin;
 extern File *stdout;
 extern File *stderr;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FILE_FILE_H
diff --git a/libc/src/__support/File/linux/dir.cpp b/libc/src/__support/File/linux/dir.cpp
index cae545a9fb8e9..71d3ea6b12abd 100644
--- a/libc/src/__support/File/linux/dir.cpp
+++ b/libc/src/__support/File/linux/dir.cpp
@@ -14,7 +14,7 @@
 #include <fcntl.h>       // For open flags
 #include <sys/syscall.h> // For syscall numbers
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ErrorOr<int> platform_opendir(const char *name) {
   int open_flags = O_RDONLY | O_DIRECTORY | O_CLOEXEC;
@@ -56,4 +56,4 @@ int platform_closedir(int fd) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/File/linux/file.cpp b/libc/src/__support/File/linux/file.cpp
index 0f6ed4f0a5ef4..bae9cf787a176 100644
--- a/libc/src/__support/File/linux/file.cpp
+++ b/libc/src/__support/File/linux/file.cpp
@@ -20,7 +20,7 @@
 #include <sys/stat.h>    // For S_IS*, S_IF*, and S_IR* flags.
 #include <sys/syscall.h> // For syscall numbers
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 FileIOResult linux_file_write(File *f, const void *data, size_t size) {
   auto *lf = reinterpret_cast<LinuxFile *>(f);
@@ -178,4 +178,4 @@ int get_fileno(File *f) {
   return lf->get_fd();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/File/linux/file.h b/libc/src/__support/File/linux/file.h
index 63b820529932b..589163f4cb48b 100644
--- a/libc/src/__support/File/linux/file.h
+++ b/libc/src/__support/File/linux/file.h
@@ -8,7 +8,7 @@
 
 #include "src/__support/File/file.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 FileIOResult linux_file_write(File *, const void *, size_t);
 FileIOResult linux_file_read(File *, void *, size_t);
@@ -32,4 +32,4 @@ class LinuxFile : public File {
 // Create a File object and associate it with a fd.
 ErrorOr<LinuxFile *> create_file_from_fd(int fd, const char *mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/File/linux/lseekImpl.h b/libc/src/__support/File/linux/lseekImpl.h
index d1632b703d3bc..7aefbbf2ebe94 100644
--- a/libc/src/__support/File/linux/lseekImpl.h
+++ b/libc/src/__support/File/linux/lseekImpl.h
@@ -18,7 +18,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <unistd.h>      // For off_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 LIBC_INLINE ErrorOr<off_t> lseekimpl(int fd, off_t offset, int whence) {
@@ -45,6 +45,6 @@ LIBC_INLINE ErrorOr<off_t> lseekimpl(int fd, off_t offset, int whence) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FILE_LINUX_LSEEKIMPL_H
diff --git a/libc/src/__support/File/linux/stderr.cpp b/libc/src/__support/File/linux/stderr.cpp
index 65d7865720ffe..423fd35ab0d6a 100644
--- a/libc/src/__support/File/linux/stderr.cpp
+++ b/libc/src/__support/File/linux/stderr.cpp
@@ -9,14 +9,14 @@
 #include "file.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr size_t STDERR_BUFFER_SIZE = 0;
 static LinuxFile StdErr(2, nullptr, STDERR_BUFFER_SIZE, _IONBF, false,
                         File::ModeFlags(File::OpenMode::APPEND));
 File *stderr = &StdErr;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" {
 FILE *stderr = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::StdErr);
diff --git a/libc/src/__support/File/linux/stdin.cpp b/libc/src/__support/File/linux/stdin.cpp
index c9a363bb7c65a..c27b86f9eb638 100644
--- a/libc/src/__support/File/linux/stdin.cpp
+++ b/libc/src/__support/File/linux/stdin.cpp
@@ -9,7 +9,7 @@
 #include "file.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr size_t STDIN_BUFFER_SIZE = 512;
 uint8_t stdin_buffer[STDIN_BUFFER_SIZE];
@@ -17,7 +17,7 @@ static LinuxFile StdIn(0, stdin_buffer, STDIN_BUFFER_SIZE, _IOFBF, false,
                        File::ModeFlags(File::OpenMode::READ));
 File *stdin = &StdIn;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" {
 FILE *stdin = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::StdIn);
diff --git a/libc/src/__support/File/linux/stdout.cpp b/libc/src/__support/File/linux/stdout.cpp
index 314692ecbfe1e..831a1c48050b6 100644
--- a/libc/src/__support/File/linux/stdout.cpp
+++ b/libc/src/__support/File/linux/stdout.cpp
@@ -9,7 +9,7 @@
 #include "file.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr size_t STDOUT_BUFFER_SIZE = 1024;
 uint8_t stdout_buffer[STDOUT_BUFFER_SIZE];
@@ -17,7 +17,7 @@ static LinuxFile StdOut(1, stdout_buffer, STDOUT_BUFFER_SIZE, _IOLBF, false,
                         File::ModeFlags(File::OpenMode::APPEND));
 File *stdout = &StdOut;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" {
 FILE *stdout = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::StdOut);
diff --git a/libc/src/__support/GPU/allocator.cpp b/libc/src/__support/GPU/allocator.cpp
index a049959964cfc..2ba6810ff0805 100644
--- a/libc/src/__support/GPU/allocator.cpp
+++ b/libc/src/__support/GPU/allocator.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace {
 
 void *rpc_allocate(uint64_t size) {
@@ -42,4 +42,4 @@ void *allocate(uint64_t size) { return rpc_allocate(size); }
 void deallocate(void *ptr) { rpc_free(ptr); }
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/GPU/allocator.h b/libc/src/__support/GPU/allocator.h
index 99eeb6826cc28..2c44e1d34525a 100644
--- a/libc/src/__support/GPU/allocator.h
+++ b/libc/src/__support/GPU/allocator.h
@@ -11,13 +11,13 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace gpu {
 
 void *allocate(uint64_t size);
 void deallocate(void *ptr);
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_GPU_ALLOCATOR_H
diff --git a/libc/src/__support/GPU/amdgpu/utils.h b/libc/src/__support/GPU/amdgpu/utils.h
index 5f8ad74f6aea3..6ab95403ca389 100644
--- a/libc/src/__support/GPU/amdgpu/utils.h
+++ b/libc/src/__support/GPU/amdgpu/utils.h
@@ -14,7 +14,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace gpu {
 
 /// Type aliases to the address spaces used by the AMDGPU backend.
@@ -178,6 +178,6 @@ LIBC_INLINE uint64_t fixed_frequency_clock() {
 LIBC_INLINE uint32_t get_cluster_id() { return 0; }
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif
diff --git a/libc/src/__support/GPU/generic/utils.h b/libc/src/__support/GPU/generic/utils.h
index b6df59f7aa9ef..2d09ea1acaad4 100644
--- a/libc/src/__support/GPU/generic/utils.h
+++ b/libc/src/__support/GPU/generic/utils.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace gpu {
 
 template <typename T> using Private = T;
@@ -78,6 +78,6 @@ LIBC_INLINE uint64_t fixed_frequency_clock() { return 0; }
 LIBC_INLINE uint32_t get_cluster_id() { return 0; }
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_GPU_GENERIC_UTILS_H
diff --git a/libc/src/__support/GPU/nvptx/utils.h b/libc/src/__support/GPU/nvptx/utils.h
index 88b8ee2e31d32..90049a8e1b480 100644
--- a/libc/src/__support/GPU/nvptx/utils.h
+++ b/libc/src/__support/GPU/nvptx/utils.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace gpu {
 
 /// Type aliases to the address spaces used by the NVPTX backend.
@@ -154,6 +154,6 @@ LIBC_INLINE uint64_t fixed_frequency_clock() {
 LIBC_INLINE uint32_t get_cluster_id() { return __nvvm_read_ptx_sreg_smid(); }
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif
diff --git a/libc/src/__support/GPU/utils.h b/libc/src/__support/GPU/utils.h
index cb04a3562eb1c..ea3ba3e8ce44c 100644
--- a/libc/src/__support/GPU/utils.h
+++ b/libc/src/__support/GPU/utils.h
@@ -19,7 +19,7 @@
 #include "generic/utils.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace gpu {
 /// Get the first active thread inside the lane.
 LIBC_INLINE uint64_t get_first_lane_id(uint64_t lane_mask) {
@@ -51,6 +51,6 @@ LIBC_INLINE uint32_t scan(uint64_t lane_mask, uint32_t x) {
 }
 
 } // namespace gpu
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_GPU_UTILS_H
diff --git a/libc/src/__support/HashTable/bitmask.h b/libc/src/__support/HashTable/bitmask.h
index afdf7c2c43bfb..084470204b356 100644
--- a/libc/src/__support/HashTable/bitmask.h
+++ b/libc/src/__support/HashTable/bitmask.h
@@ -14,7 +14,7 @@
 #include <stddef.h> // size_t
 #include <stdint.h> // uint8_t, uint64_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // Implementations of the bitmask.
@@ -81,7 +81,7 @@ template <class BitMask> struct IteratableBitMaskAdaptor : public BitMask {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #if defined(LIBC_TARGET_CPU_HAS_SSE2) && defined(__LIBC_EXPLICIT_SIMD_OPT)
 #include "sse2/bitmask_impl.inc"
diff --git a/libc/src/__support/HashTable/generic/bitmask_impl.inc b/libc/src/__support/HashTable/generic/bitmask_impl.inc
index d6c5ae075558a..eed882a77b30c 100644
--- a/libc/src/__support/HashTable/generic/bitmask_impl.inc
+++ b/libc/src/__support/HashTable/generic/bitmask_impl.inc
@@ -9,7 +9,7 @@
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // GPU architectures are 64-bit but use 32-bit general purpose registers.
@@ -121,4 +121,4 @@ struct Group {
   }
 };
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/HashTable/randomness.h b/libc/src/__support/HashTable/randomness.h
index bcc91190e9d45..a1b0bdce5ae77 100644
--- a/libc/src/__support/HashTable/randomness.h
+++ b/libc/src/__support/HashTable/randomness.h
@@ -17,7 +17,7 @@
 #include "src/sys/random/getrandom.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 namespace randomness {
 // We need an initial state for the hash function. More entropy are to be added
@@ -58,5 +58,5 @@ LIBC_INLINE uint64_t next_random_seed() {
 
 } // namespace randomness
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 #endif // LLVM_LIBC_SRC___SUPPORT_HASHTABLE_RANDOMNESS_H
diff --git a/libc/src/__support/HashTable/sse2/bitmask_impl.inc b/libc/src/__support/HashTable/sse2/bitmask_impl.inc
index e778c19f284a8..e102e1413ba5c 100644
--- a/libc/src/__support/HashTable/sse2/bitmask_impl.inc
+++ b/libc/src/__support/HashTable/sse2/bitmask_impl.inc
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include <immintrin.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 // With SSE2, every bitmask is iteratable as
 // we use single bit to encode the data.
@@ -46,4 +46,4 @@ struct Group {
   }
 };
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/HashTable/table.h b/libc/src/__support/HashTable/table.h
index 8f6c5887c189e..f38684910c55f 100644
--- a/libc/src/__support/HashTable/table.h
+++ b/libc/src/__support/HashTable/table.h
@@ -23,7 +23,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 LIBC_INLINE uint8_t secondary_hash(uint64_t hash) {
@@ -349,6 +349,6 @@ struct HashTable {
   }
 };
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_HASHTABLE_TABLE_H
diff --git a/libc/src/__support/OSUtil/baremetal/exit.cpp b/libc/src/__support/OSUtil/baremetal/exit.cpp
index 26088c28b0a50..f61c5ecf424ac 100644
--- a/libc/src/__support/OSUtil/baremetal/exit.cpp
+++ b/libc/src/__support/OSUtil/baremetal/exit.cpp
@@ -8,11 +8,13 @@
 
 #include "src/__support/OSUtil/exit.h"
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 // This is intended to be provided by the vendor.
 extern "C" [[noreturn]] void __llvm_libc_exit(int status);
 
 [[noreturn]] void exit(int status) { __llvm_libc_exit(status); }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/baremetal/io.cpp b/libc/src/__support/OSUtil/baremetal/io.cpp
index c97bd5ae65b13..07177a55742d9 100644
--- a/libc/src/__support/OSUtil/baremetal/io.cpp
+++ b/libc/src/__support/OSUtil/baremetal/io.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/CPP/string_view.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This is intended to be provided by the vendor.
 
@@ -28,4 +28,4 @@ void write_to_stderr(cpp::string_view msg) {
   __llvm_libc_log_write(msg.data(), msg.size());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/baremetal/io.h b/libc/src/__support/OSUtil/baremetal/io.h
index b9ae0bde502be..6fb2e3d212318 100644
--- a/libc/src/__support/OSUtil/baremetal/io.h
+++ b/libc/src/__support/OSUtil/baremetal/io.h
@@ -13,11 +13,11 @@
 #include "include/llvm-libc-types/ssize_t.h"
 #include "src/__support/CPP/string_view.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t read_from_stdin(char *buf, size_t size);
 void write_to_stderr(cpp::string_view msg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_BAREMETAL_IO_H
diff --git a/libc/src/__support/OSUtil/darwin/arm/syscall.h b/libc/src/__support/OSUtil/darwin/arm/syscall.h
index ce10c2a7a3079..53da80fc71025 100644
--- a/libc/src/__support/OSUtil/darwin/arm/syscall.h
+++ b/libc/src/__support/OSUtil/darwin/arm/syscall.h
@@ -44,7 +44,7 @@
 #define SYSCALL_INSTR(input_constraint)                                        \
   LIBC_INLINE_ASM("svc 0x80" : "=r"(x0) : input_constraint : "memory", "cc")
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE long syscall_impl(long number) {
   REGISTER_DECL_0;
@@ -91,7 +91,7 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3,
   return x0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef REGISTER_DECL_0
 #undef REGISTER_DECL_1
diff --git a/libc/src/__support/OSUtil/darwin/io.h b/libc/src/__support/OSUtil/darwin/io.h
index 9bbc8e1ded000..21c06f9b48cc3 100644
--- a/libc/src/__support/OSUtil/darwin/io.h
+++ b/libc/src/__support/OSUtil/darwin/io.h
@@ -12,13 +12,13 @@
 #include "src/__support/CPP/string_view.h"
 #include "syscall.h" // For internal syscall function.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE void write_to_stderr(cpp::string_view msg) {
   LIBC_NAMESPACE::syscall_impl(4 /*SYS_write*/, 2 /* stderr */,
                                reinterpret_cast<long>(msg.data()), msg.size());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_IO_H
diff --git a/libc/src/__support/OSUtil/darwin/syscall.h b/libc/src/__support/OSUtil/darwin/syscall.h
index 93b492e14ddfc..c8e1440cae4df 100644
--- a/libc/src/__support/OSUtil/darwin/syscall.h
+++ b/libc/src/__support/OSUtil/darwin/syscall.h
@@ -19,7 +19,7 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename R, typename... Ts>
 LIBC_INLINE R syscall_impl(long __number, Ts... ts) {
@@ -27,6 +27,6 @@ LIBC_INLINE R syscall_impl(long __number, Ts... ts) {
   return cpp::bit_or_static_cast<R>(syscall_impl(__number, (long)ts...));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_SYSCALL_H
diff --git a/libc/src/__support/OSUtil/exit.h b/libc/src/__support/OSUtil/exit.h
index f01e4c70502f6..23e9e0eb8c93a 100644
--- a/libc/src/__support/OSUtil/exit.h
+++ b/libc/src/__support/OSUtil/exit.h
@@ -9,10 +9,12 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_OSUTIL_EXIT_H
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_EXIT_H
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 [[noreturn]] void exit(int status);
 
-}
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_EXIT_H
diff --git a/libc/src/__support/OSUtil/fcntl.h b/libc/src/__support/OSUtil/fcntl.h
index d934545c28d76..3e02cb0a385aa 100644
--- a/libc/src/__support/OSUtil/fcntl.h
+++ b/libc/src/__support/OSUtil/fcntl.h
@@ -8,10 +8,12 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_OSUTIL_FCNTL_H
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_FCNTL_H
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 int fcntl(int fd, int cmd, void *arg = nullptr);
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_FCNTL_H
diff --git a/libc/src/__support/OSUtil/fuchsia/io.h b/libc/src/__support/OSUtil/fuchsia/io.h
index f68d734492fab..2725c4687b132 100644
--- a/libc/src/__support/OSUtil/fuchsia/io.h
+++ b/libc/src/__support/OSUtil/fuchsia/io.h
@@ -14,7 +14,7 @@
 #include <iostream>
 #include <zircon/sanitizer.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE void write_to_stderr(cpp::string_view msg) {
 #if defined(LIBC_COPT_TEST_USE_ZXTEST)
@@ -28,6 +28,6 @@ LIBC_INLINE void write_to_stderr(cpp::string_view msg) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_FUCHSIA_IO_H
diff --git a/libc/src/__support/OSUtil/gpu/exit.cpp b/libc/src/__support/OSUtil/gpu/exit.cpp
index 96acb549bb7ab..c00db55cd0a91 100644
--- a/libc/src/__support/OSUtil/gpu/exit.cpp
+++ b/libc/src/__support/OSUtil/gpu/exit.cpp
@@ -11,7 +11,8 @@
 #include "src/__support/RPC/rpc_client.h"
 #include "src/__support/macros/properties/architectures.h"
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 [[noreturn]] void exit(int status) {
   // We want to first make sure the server is listening before we exit.
@@ -25,4 +26,5 @@ namespace LIBC_NAMESPACE::internal {
   gpu::end_program();
 }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/gpu/io.cpp b/libc/src/__support/OSUtil/gpu/io.cpp
index fec4d9f7b35d2..a38c69d9669b4 100644
--- a/libc/src/__support/OSUtil/gpu/io.cpp
+++ b/libc/src/__support/OSUtil/gpu/io.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/RPC/rpc_client.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void write_to_stderr(cpp::string_view msg) {
   rpc::Client::Port port = rpc::client.open<RPC_WRITE_TO_STDERR>();
@@ -20,4 +20,4 @@ void write_to_stderr(cpp::string_view msg) {
   port.close();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/gpu/io.h b/libc/src/__support/OSUtil/gpu/io.h
index e5562eb74a67d..13d0d9aa93b44 100644
--- a/libc/src/__support/OSUtil/gpu/io.h
+++ b/libc/src/__support/OSUtil/gpu/io.h
@@ -12,10 +12,10 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void write_to_stderr(cpp::string_view msg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_GPU_IO_H
diff --git a/libc/src/__support/OSUtil/linux/aarch64/syscall.h b/libc/src/__support/OSUtil/linux/aarch64/syscall.h
index f6c9a741de3ac..45f8ba6a069ed 100644
--- a/libc/src/__support/OSUtil/linux/aarch64/syscall.h
+++ b/libc/src/__support/OSUtil/linux/aarch64/syscall.h
@@ -42,7 +42,7 @@
 #define SYSCALL_INSTR(input_constraint)                                        \
   LIBC_INLINE_ASM("svc 0" : "=r"(x0) : input_constraint : "memory", "cc")
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE long syscall_impl(long number) {
   REGISTER_DECL_0;
@@ -89,7 +89,7 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3,
   return x0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef REGISTER_DECL_0
 #undef REGISTER_DECL_1
diff --git a/libc/src/__support/OSUtil/linux/arm/syscall.h b/libc/src/__support/OSUtil/linux/arm/syscall.h
index 9674ee45a49e9..0436d09bc77bd 100644
--- a/libc/src/__support/OSUtil/linux/arm/syscall.h
+++ b/libc/src/__support/OSUtil/linux/arm/syscall.h
@@ -60,7 +60,7 @@
 #define REGISTER_CONSTRAINT_5 REGISTER_CONSTRAINT_4, "r"(r4)
 #define REGISTER_CONSTRAINT_6 REGISTER_CONSTRAINT_5, "r"(r5)
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE long syscall_impl(long number) {
   REGISTER_DECL_0;
@@ -107,7 +107,7 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3,
   return r0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef REGISTER_DECL_0
 #undef REGISTER_DECL_1
diff --git a/libc/src/__support/OSUtil/linux/exit.cpp b/libc/src/__support/OSUtil/linux/exit.cpp
index 4a1d56a172a1a..85cf30f29cb34 100644
--- a/libc/src/__support/OSUtil/linux/exit.cpp
+++ b/libc/src/__support/OSUtil/linux/exit.cpp
@@ -10,7 +10,8 @@
 #include "syscall.h"     // For internal syscall function.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 // mark as no_stack_protector for x86 since TLS can be torn down before calling
 // exit so that the stack protector canary cannot be loaded.
@@ -25,4 +26,5 @@ exit(int status) {
   }
 }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/linux/fcntl.cpp b/libc/src/__support/OSUtil/linux/fcntl.cpp
index b6483bb7534d6..9a88beb0959bd 100644
--- a/libc/src/__support/OSUtil/linux/fcntl.cpp
+++ b/libc/src/__support/OSUtil/linux/fcntl.cpp
@@ -19,7 +19,8 @@
 #include <stdarg.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 int fcntl(int fd, int cmd, void *arg) {
 #if SYS_fcntl
@@ -96,4 +97,5 @@ int fcntl(int fd, int cmd, void *arg) {
   }
 }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/OSUtil/linux/io.h b/libc/src/__support/OSUtil/linux/io.h
index fd5d2e1b898b2..667031b5f5f48 100644
--- a/libc/src/__support/OSUtil/linux/io.h
+++ b/libc/src/__support/OSUtil/linux/io.h
@@ -14,13 +14,13 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE void write_to_stderr(cpp::string_view msg) {
   LIBC_NAMESPACE::syscall_impl<long>(SYS_write, 2 /* stderr */, msg.data(),
                                      msg.size());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_IO_H
diff --git a/libc/src/__support/OSUtil/linux/riscv/syscall.h b/libc/src/__support/OSUtil/linux/riscv/syscall.h
index 4fc716f7d416c..509d85dc1975b 100644
--- a/libc/src/__support/OSUtil/linux/riscv/syscall.h
+++ b/libc/src/__support/OSUtil/linux/riscv/syscall.h
@@ -42,7 +42,7 @@
 #define SYSCALL_INSTR(input_constraint)                                        \
   LIBC_INLINE_ASM("ecall\n\t" : "=r"(a0) : input_constraint : "memory")
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE long syscall_impl(long number) {
   REGISTER_DECL_0;
@@ -89,7 +89,7 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3,
   return a0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef REGISTER_DECL_0
 #undef REGISTER_DECL_1
diff --git a/libc/src/__support/OSUtil/linux/syscall.h b/libc/src/__support/OSUtil/linux/syscall.h
index 2be3cefa906af..2bbf22012d8f0 100644
--- a/libc/src/__support/OSUtil/linux/syscall.h
+++ b/libc/src/__support/OSUtil/linux/syscall.h
@@ -23,7 +23,7 @@
 #include "riscv/syscall.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename R, typename... Ts>
 LIBC_INLINE R syscall_impl(long __number, Ts... ts) {
@@ -31,6 +31,6 @@ LIBC_INLINE R syscall_impl(long __number, Ts... ts) {
   return cpp::bit_or_static_cast<R>(syscall_impl(__number, (long)ts...));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_SYSCALL_H
diff --git a/libc/src/__support/OSUtil/linux/x86_64/syscall.h b/libc/src/__support/OSUtil/linux/x86_64/syscall.h
index 986db9372ad39..73b5549aed8ad 100644
--- a/libc/src/__support/OSUtil/linux/x86_64/syscall.h
+++ b/libc/src/__support/OSUtil/linux/x86_64/syscall.h
@@ -13,7 +13,7 @@
 
 #define SYSCALL_CLOBBER_LIST "rcx", "r11", "memory"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE long syscall_impl(long __number) {
   long retcode;
@@ -93,6 +93,6 @@ LIBC_INLINE long syscall_impl(long __number, long __arg1, long __arg2,
 }
 
 #undef SYSCALL_CLOBBER_LIST
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_X86_64_SYSCALL_H
diff --git a/libc/src/__support/RPC/rpc.h b/libc/src/__support/RPC/rpc.h
index 05506c04fc079..2c7d63d0f9e3c 100644
--- a/libc/src/__support/RPC/rpc.h
+++ b/libc/src/__support/RPC/rpc.h
@@ -27,7 +27,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
 
 /// A fixed size channel used to communicate between the RPC client and server.
@@ -597,6 +597,6 @@ LIBC_INLINE Server::Port Server::open(uint32_t lane_size) {
 }
 
 } // namespace rpc
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif
diff --git a/libc/src/__support/RPC/rpc_client.cpp b/libc/src/__support/RPC/rpc_client.cpp
index 8367d54fada63..66d012567427e 100644
--- a/libc/src/__support/RPC/rpc_client.cpp
+++ b/libc/src/__support/RPC/rpc_client.cpp
@@ -9,7 +9,7 @@
 #include "rpc_client.h"
 #include "rpc.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
 
 /// The libc client instance used to communicate with the server.
@@ -22,4 +22,4 @@ extern "C" [[gnu::visibility("protected")]] const void *__llvm_libc_rpc_client =
     &client;
 
 } // namespace rpc
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/RPC/rpc_client.h b/libc/src/__support/RPC/rpc_client.h
index 6e1827dbfeea9..d8cfbcbf0e24f 100644
--- a/libc/src/__support/RPC/rpc_client.h
+++ b/libc/src/__support/RPC/rpc_client.h
@@ -13,13 +13,13 @@
 
 #include "include/llvm-libc-types/rpc_opcodes_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
 
 /// The libc client instance used to communicate with the server.
 extern Client client;
 
 } // namespace rpc
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif
diff --git a/libc/src/__support/RPC/rpc_util.h b/libc/src/__support/RPC/rpc_util.h
index 7a9901af83e73..c34fe9341edc6 100644
--- a/libc/src/__support/RPC/rpc_util.h
+++ b/libc/src/__support/RPC/rpc_util.h
@@ -17,7 +17,7 @@
 #include "src/string/memory_utils/generic/byte_per_byte.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
 
 /// Conditional to indicate if this process is running on the GPU.
@@ -67,6 +67,6 @@ LIBC_INLINE void rpc_memcpy(void *dst, const void *src, size_t count) {
 }
 
 } // namespace rpc
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_RPC_RPC_UTIL_H
diff --git a/libc/src/__support/StringUtil/error_to_string.cpp b/libc/src/__support/StringUtil/error_to_string.cpp
index 3ea60a6740b30..56eb11e03bbf5 100644
--- a/libc/src/__support/StringUtil/error_to_string.cpp
+++ b/libc/src/__support/StringUtil/error_to_string.cpp
@@ -18,7 +18,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 constexpr size_t max_buff_size() {
@@ -74,4 +74,4 @@ cpp::string_view get_error_string(int err_num, cpp::span<char> buffer) {
     return internal::build_error_string(err_num, buffer);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/StringUtil/error_to_string.h b/libc/src/__support/StringUtil/error_to_string.h
index 43cf785c30b03..522cf47ccf79c 100644
--- a/libc/src/__support/StringUtil/error_to_string.h
+++ b/libc/src/__support/StringUtil/error_to_string.h
@@ -12,12 +12,12 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/string_view.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 cpp::string_view get_error_string(int err_num);
 
 cpp::string_view get_error_string(int err_num, cpp::span<char> buffer);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_ERROR_TO_STRING_H
diff --git a/libc/src/__support/StringUtil/message_mapper.h b/libc/src/__support/StringUtil/message_mapper.h
index dd91839fb9200..38bfcfdf5986e 100644
--- a/libc/src/__support/StringUtil/message_mapper.h
+++ b/libc/src/__support/StringUtil/message_mapper.h
@@ -14,7 +14,7 @@
 #include "src/__support/CPP/string_view.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct MsgMapping {
   int num;
@@ -98,6 +98,6 @@ constexpr MsgTable<N1 + N2> operator+(const MsgTable<N1> &t1,
   return res;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_MESSAGE_MAPPER_H
diff --git a/libc/src/__support/StringUtil/signal_to_string.cpp b/libc/src/__support/StringUtil/signal_to_string.cpp
index 1fea53a32aa21..cff21f4a3417e 100644
--- a/libc/src/__support/StringUtil/signal_to_string.cpp
+++ b/libc/src/__support/StringUtil/signal_to_string.cpp
@@ -19,7 +19,7 @@
 #include <signal.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 constexpr size_t max_buff_size() {
@@ -77,4 +77,4 @@ cpp::string_view get_signal_string(int sig_num, cpp::span<char> buffer) {
     return internal::build_signal_string(sig_num, buffer);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/StringUtil/signal_to_string.h b/libc/src/__support/StringUtil/signal_to_string.h
index e27324e970c06..64a18f4f20c8e 100644
--- a/libc/src/__support/StringUtil/signal_to_string.h
+++ b/libc/src/__support/StringUtil/signal_to_string.h
@@ -13,12 +13,12 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/string_view.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 cpp::string_view get_signal_string(int err_num);
 
 cpp::string_view get_signal_string(int err_num, cpp::span<char> buffer);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_SIGNAL_TO_STRING_H
diff --git a/libc/src/__support/StringUtil/tables/linux_extension_errors.h b/libc/src/__support/StringUtil/tables/linux_extension_errors.h
index f48968892e967..662d4269fa918 100644
--- a/libc/src/__support/StringUtil/tables/linux_extension_errors.h
+++ b/libc/src/__support/StringUtil/tables/linux_extension_errors.h
@@ -13,7 +13,7 @@
 
 #include <errno.h> // For error macros
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr MsgTable<52> LINUX_ERRORS = {
     MsgMapping(ENOTBLK, "Block device required"),
@@ -70,6 +70,6 @@ constexpr MsgTable<52> LINUX_ERRORS = {
     MsgMapping(EHWPOISON, "Memory page has hardware error"),
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_EXTENSION_ERRORS_H
diff --git a/libc/src/__support/StringUtil/tables/linux_extension_signals.h b/libc/src/__support/StringUtil/tables/linux_extension_signals.h
index 3f9f0c66ff24b..2065a0475cdba 100644
--- a/libc/src/__support/StringUtil/tables/linux_extension_signals.h
+++ b/libc/src/__support/StringUtil/tables/linux_extension_signals.h
@@ -13,7 +13,7 @@
 
 #include <signal.h> // For signal numbers
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The array being larger than necessary isn't a problem. The MsgMappings will
 // be set to their default state which maps 0 to an empty string. This will get
@@ -28,6 +28,6 @@ LIBC_INLINE_VAR constexpr const MsgTable<3> LINUX_SIGNALS = {
 #endif
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_EXTENSION_SIGNALS_H
diff --git a/libc/src/__support/StringUtil/tables/linux_platform_errors.h b/libc/src/__support/StringUtil/tables/linux_platform_errors.h
index a7bb545d3bf92..66a710b8c6299 100644
--- a/libc/src/__support/StringUtil/tables/linux_platform_errors.h
+++ b/libc/src/__support/StringUtil/tables/linux_platform_errors.h
@@ -13,11 +13,11 @@
 #include "posix_errors.h"
 #include "stdc_errors.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr auto PLATFORM_ERRORS =
     STDC_ERRORS + POSIX_ERRORS + LINUX_ERRORS;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_PLATFORM_ERRORS_H
diff --git a/libc/src/__support/StringUtil/tables/linux_platform_signals.h b/libc/src/__support/StringUtil/tables/linux_platform_signals.h
index f12d31f222b09..959ef53a8a8dd 100644
--- a/libc/src/__support/StringUtil/tables/linux_platform_signals.h
+++ b/libc/src/__support/StringUtil/tables/linux_platform_signals.h
@@ -13,11 +13,11 @@
 #include "posix_signals.h"
 #include "stdc_signals.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr auto PLATFORM_SIGNALS =
     STDC_SIGNALS + POSIX_SIGNALS + LINUX_SIGNALS;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_PLATFORM_SIGNALS_H
diff --git a/libc/src/__support/StringUtil/tables/minimal_platform_errors.h b/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
index c5672c4d875f5..1679efc679d34 100644
--- a/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
+++ b/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
@@ -11,10 +11,10 @@
 
 #include "stdc_errors.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr auto PLATFORM_ERRORS = STDC_ERRORS;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_ERRORS_H
diff --git a/libc/src/__support/StringUtil/tables/minimal_platform_signals.h b/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
index 7fe0dccfc465e..4b3cdf9746e48 100644
--- a/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
+++ b/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
@@ -11,10 +11,10 @@
 
 #include "stdc_signals.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr auto PLATFORM_SIGNALS = STDC_SIGNALS;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_SIGNALS_H
diff --git a/libc/src/__support/StringUtil/tables/posix_errors.h b/libc/src/__support/StringUtil/tables/posix_errors.h
index 3cb6de394ea36..bc31ad99345d8 100644
--- a/libc/src/__support/StringUtil/tables/posix_errors.h
+++ b/libc/src/__support/StringUtil/tables/posix_errors.h
@@ -13,7 +13,7 @@
 
 #include <errno.h> // For error macros
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr MsgTable<76> POSIX_ERRORS = {
     MsgMapping(EPERM, "Operation not permitted"),
@@ -94,6 +94,6 @@ LIBC_INLINE_VAR constexpr MsgTable<76> POSIX_ERRORS = {
     MsgMapping(ENOTRECOVERABLE, "State not recoverable"),
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_ERRORS_H
diff --git a/libc/src/__support/StringUtil/tables/posix_signals.h b/libc/src/__support/StringUtil/tables/posix_signals.h
index b9535cbeb6f69..63bf3f0095048 100644
--- a/libc/src/__support/StringUtil/tables/posix_signals.h
+++ b/libc/src/__support/StringUtil/tables/posix_signals.h
@@ -14,7 +14,7 @@
 
 #include <signal.h> // For signal numbers
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr MsgTable<22> POSIX_SIGNALS = {
     MsgMapping(SIGHUP, "Hangup"),
@@ -41,6 +41,6 @@ LIBC_INLINE_VAR constexpr MsgTable<22> POSIX_SIGNALS = {
     MsgMapping(SIGSYS, "Bad system call"),
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_SIGNALS_H
diff --git a/libc/src/__support/StringUtil/tables/signal_table.h b/libc/src/__support/StringUtil/tables/signal_table.h
index d7ffbc63722e5..9363b683e74c5 100644
--- a/libc/src/__support/StringUtil/tables/signal_table.h
+++ b/libc/src/__support/StringUtil/tables/signal_table.h
@@ -24,7 +24,8 @@
 #include "linux_extension_signals.h"
 #endif
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 LIBC_INLINE_VAR constexpr auto PLATFORM_SIGNALS = []() {
   if constexpr (USE_LINUX_PLATFORM_SIGNALS) {
@@ -34,6 +35,7 @@ LIBC_INLINE_VAR constexpr auto PLATFORM_SIGNALS = []() {
   }
 }();
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_SIGNAL_TABLE_H
diff --git a/libc/src/__support/StringUtil/tables/stdc_errors.h b/libc/src/__support/StringUtil/tables/stdc_errors.h
index 6873d6bd51074..4572d56d93ca2 100644
--- a/libc/src/__support/StringUtil/tables/stdc_errors.h
+++ b/libc/src/__support/StringUtil/tables/stdc_errors.h
@@ -13,7 +13,7 @@
 
 #include <errno.h> // For error macros
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr const MsgTable<3> STDC_ERRORS = {
     MsgMapping(0, "Success"),
@@ -21,6 +21,6 @@ LIBC_INLINE_VAR constexpr const MsgTable<3> STDC_ERRORS = {
     MsgMapping(ERANGE, "Numerical result out of range"),
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_STDC_ERRORS_H
diff --git a/libc/src/__support/StringUtil/tables/stdc_signals.h b/libc/src/__support/StringUtil/tables/stdc_signals.h
index 7c93b45a441c3..25f22587e64b8 100644
--- a/libc/src/__support/StringUtil/tables/stdc_signals.h
+++ b/libc/src/__support/StringUtil/tables/stdc_signals.h
@@ -13,7 +13,7 @@
 
 #include "src/__support/StringUtil/message_mapper.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE_VAR constexpr const MsgTable<6> STDC_SIGNALS = {
     MsgMapping(SIGINT, "Interrupt"),
@@ -24,6 +24,6 @@ LIBC_INLINE_VAR constexpr const MsgTable<6> STDC_SIGNALS = {
     MsgMapping(SIGTERM, "Terminated"),
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_STDC_SIGNALS_H
diff --git a/libc/src/__support/arg_list.h b/libc/src/__support/arg_list.h
index 0965e12afd562..e02f01419560a 100644
--- a/libc/src/__support/arg_list.h
+++ b/libc/src/__support/arg_list.h
@@ -15,7 +15,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 class ArgList {
@@ -99,6 +99,6 @@ class StructArgList {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_ARG_LIST_H
diff --git a/libc/src/__support/big_int.h b/libc/src/__support/big_int.h
index 8eeb4db9d650b..c9339b0e734f6 100644
--- a/libc/src/__support/big_int.h
+++ b/libc/src/__support/big_int.h
@@ -24,7 +24,7 @@
 #include <stddef.h> // For size_t
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace multiword {
 
@@ -1293,6 +1293,6 @@ first_trailing_one(T value) {
                                                 : cpp::countr_zero(value) + 1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_UINT_H
diff --git a/libc/src/__support/block.h b/libc/src/__support/block.h
index e1b7aeaaf813c..0dcb23e19ec2b 100644
--- a/libc/src/__support/block.h
+++ b/libc/src/__support/block.h
@@ -20,7 +20,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace internal {
 // Types of corrupted blocks, and functions to crash with an error message
@@ -599,6 +599,6 @@ internal::BlockStatus Block<OffsetType, kAlign>::check_status() const {
   return internal::BlockStatus::VALID;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_BLOCK_H
diff --git a/libc/src/__support/blockstore.h b/libc/src/__support/blockstore.h
index bcab7504dbd6e..ac9b51d93a011 100644
--- a/libc/src/__support/blockstore.h
+++ b/libc/src/__support/blockstore.h
@@ -15,7 +15,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The difference between BlockStore a traditional vector types is that,
 // when more capacity is desired, a new block is added instead of allocating
@@ -203,6 +203,6 @@ LIBC_INLINE void BlockStore<T, BLOCK_SIZE, REVERSE_ORDER>::destroy(
 template <typename T, size_t BLOCK_SIZE>
 using ReverseOrderBlockStore = BlockStore<T, BLOCK_SIZE, true>;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_BLOCKSTORE_H
diff --git a/libc/src/__support/c_string.h b/libc/src/__support/c_string.h
index 9049311a57789..c4141e96c62ba 100644
--- a/libc/src/__support/c_string.h
+++ b/libc/src/__support/c_string.h
@@ -12,7 +12,7 @@
 #include "src/__support/CPP/string.h"
 #include "src/__support/macros/attributes.h" // for LIBC_INLINE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The CString class is a companion to the cpp::string class. Its use case is as
 // a return value for a function that in C would return a char* and a flag for
@@ -31,6 +31,6 @@ class CString {
   LIBC_INLINE operator const char *() const { return str.c_str(); }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_C_STRING_H
diff --git a/libc/src/__support/char_vector.h b/libc/src/__support/char_vector.h
index d39310e09dd71..2084e58589a84 100644
--- a/libc/src/__support/char_vector.h
+++ b/libc/src/__support/char_vector.h
@@ -14,7 +14,7 @@
 #include <stddef.h> // size_t
 #include <stdlib.h> // malloc, realloc, free
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This is very simple alternate of the std::string class. There is no
 // bounds check performed in any of the methods. The callers are expected to
@@ -73,6 +73,6 @@ class CharVector {
   LIBC_INLINE size_t length() { return index; }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_CHARVECTOR_H
diff --git a/libc/src/__support/common.h b/libc/src/__support/common.h
index 53951dc131c28..48c773fa02c17 100644
--- a/libc/src/__support/common.h
+++ b/libc/src/__support/common.h
@@ -14,6 +14,7 @@
 #endif
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #ifndef LLVM_LIBC_FUNCTION_ATTR
@@ -35,7 +36,7 @@
 #define LLVM_LIBC_FUNCTION(type, name, arglist)                                \
   LLVM_LIBC_FUNCTION_IMPL(type, name, arglist)
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 LIBC_INLINE constexpr bool same_string(char const *lhs, char const *rhs) {
   for (; *lhs || *rhs; ++lhs, ++rhs)
@@ -44,7 +45,7 @@ LIBC_INLINE constexpr bool same_string(char const *lhs, char const *rhs) {
   return true;
 }
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define __LIBC_MACRO_TO_STRING(str) #str
 #define LIBC_MACRO_TO_STRING(str) __LIBC_MACRO_TO_STRING(str)
diff --git a/libc/src/__support/ctype_utils.h b/libc/src/__support/ctype_utils.h
index 5fa4777ffd65f..acfd11dda7e14 100644
--- a/libc/src/__support/ctype_utils.h
+++ b/libc/src/__support/ctype_utils.h
@@ -11,7 +11,7 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // ------------------------------------------------------
@@ -55,6 +55,6 @@ LIBC_INLINE static constexpr int tolower(int ch) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC___SUPPORT_CTYPE_UTILS_H
diff --git a/libc/src/__support/detailed_powers_of_ten.h b/libc/src/__support/detailed_powers_of_ten.h
index c8340fda06eed..3d2a1e3925ff4 100644
--- a/libc/src/__support/detailed_powers_of_ten.h
+++ b/libc/src/__support/detailed_powers_of_ten.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // TODO(michaelrj): write a script that will generate this table.
@@ -734,6 +734,6 @@ static constexpr uint64_t DETAILED_POWERS_OF_TEN[696][2] = {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_DETAILED_POWERS_OF_TEN_H
diff --git a/libc/src/__support/endian.h b/libc/src/__support/endian.h
index cd083aad09c3c..c76509ffaa53b 100644
--- a/libc/src/__support/endian.h
+++ b/libc/src/__support/endian.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // We rely on compiler preprocessor defines to allow for cross compilation.
 #if !defined(__BYTE_ORDER__) || !defined(__ORDER_LITTLE_ENDIAN__) ||           \
@@ -140,6 +140,6 @@ Endian<__ORDER_BIG_ENDIAN__>::to_little_endian<uint64_t>(uint64_t v) {
 
 using Endian = internal::Endian<__BYTE_ORDER__>;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_ENDIAN_H
diff --git a/libc/src/__support/error_or.h b/libc/src/__support/error_or.h
index 34c652dd878c2..0b72c5a459fdc 100644
--- a/libc/src/__support/error_or.h
+++ b/libc/src/__support/error_or.h
@@ -11,7 +11,7 @@
 
 #include "src/__support/CPP/expected.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <class T> using ErrorOr = cpp::expected<T, int>;
 
@@ -34,6 +34,6 @@ using Error = cpp::unexpected<int>;
 //   constexpr operator T() { return value; }
 // };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_ERROR_OR_H
diff --git a/libc/src/__support/fixed_point/fx_bits.h b/libc/src/__support/fixed_point/fx_bits.h
index 53e693d4ddfd1..af1a0e4961c45 100644
--- a/libc/src/__support/fixed_point/fx_bits.h
+++ b/libc/src/__support/fixed_point/fx_bits.h
@@ -20,7 +20,8 @@
 
 #ifdef LIBC_COMPILER_HAS_FIXED_POINT
 
-namespace LIBC_NAMESPACE::fixed_point {
+namespace LIBC_NAMESPACE_DECL {
+namespace fixed_point {
 
 template <typename T> struct FXBits {
 private:
@@ -161,7 +162,8 @@ template <typename T> LIBC_INLINE constexpr T round(T x, int n) {
   return bit_and((x + round_bit), rounding_mask);
 }
 
-} // namespace LIBC_NAMESPACE::fixed_point
+} // namespace fixed_point
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_COMPILER_HAS_FIXED_POINT
 
diff --git a/libc/src/__support/fixed_point/fx_rep.h b/libc/src/__support/fixed_point/fx_rep.h
index f13640a6c0191..f1740f89b2e6f 100644
--- a/libc/src/__support/fixed_point/fx_rep.h
+++ b/libc/src/__support/fixed_point/fx_rep.h
@@ -17,7 +17,8 @@
 
 #ifdef LIBC_COMPILER_HAS_FIXED_POINT
 
-namespace LIBC_NAMESPACE::fixed_point {
+namespace LIBC_NAMESPACE_DECL {
+namespace fixed_point {
 
 namespace internal {
 
@@ -293,7 +294,8 @@ template <> struct FXRep<unsigned sat accum> : FXRep<unsigned accum> {};
 template <>
 struct FXRep<unsigned long sat accum> : FXRep<unsigned long accum> {};
 
-} // namespace LIBC_NAMESPACE::fixed_point
+} // namespace fixed_point
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_COMPILER_HAS_FIXED_POINT
 
diff --git a/libc/src/__support/fixed_point/sqrt.h b/libc/src/__support/fixed_point/sqrt.h
index 982e318e2d1e3..90676d869658b 100644
--- a/libc/src/__support/fixed_point/sqrt.h
+++ b/libc/src/__support/fixed_point/sqrt.h
@@ -20,7 +20,8 @@
 
 #ifdef LIBC_COMPILER_HAS_FIXED_POINT
 
-namespace LIBC_NAMESPACE::fixed_point {
+namespace LIBC_NAMESPACE_DECL {
+namespace fixed_point {
 
 namespace internal {
 
@@ -259,7 +260,8 @@ isqrt_fast(T x) {
   return cpp::bit_cast<OutType>(r);
 }
 
-} // namespace LIBC_NAMESPACE::fixed_point
+} // namespace fixed_point
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_COMPILER_HAS_FIXED_POINT
 
diff --git a/libc/src/__support/fixedvector.h b/libc/src/__support/fixedvector.h
index 5161c0d7a533c..b6529dffe3732 100644
--- a/libc/src/__support/fixedvector.h
+++ b/libc/src/__support/fixedvector.h
@@ -13,7 +13,7 @@
 
 #include "src/__support/CPP/iterator.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // A fixed size data store backed by an underlying cpp::array data structure. It
 // supports vector like API but is not resizable like a vector.
@@ -97,6 +97,6 @@ template <typename T, size_t CAPACITY> class FixedVector {
   }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FIXEDVECTOR_H
diff --git a/libc/src/__support/float_to_string.h b/libc/src/__support/float_to_string.h
index 09b13324f25bb..8da69da40e8e2 100644
--- a/libc/src/__support/float_to_string.h
+++ b/libc/src/__support/float_to_string.h
@@ -105,7 +105,7 @@ constexpr size_t MID_INT_SIZE = 192;
 // Any block that is all 9s adds one to the max block counter and doesn't clear
 // the buffer because they can cause the block above them to be rounded up.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using BlockInt = uint32_t;
 constexpr uint32_t BLOCK_SIZE = 9;
@@ -839,6 +839,6 @@ template <> class FloatToString<long double> {
 #endif // !LIBC_TYPES_LONG_DOUBLE_IS_FLOAT64 &&
        // !LIBC_COPT_FLOAT_TO_STR_NO_SPECIALIZE_LD
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FLOAT_TO_STRING_H
diff --git a/libc/src/__support/freelist.h b/libc/src/__support/freelist.h
index b2eb84a85dbce..f9cd1f3e0c398 100644
--- a/libc/src/__support/freelist.h
+++ b/libc/src/__support/freelist.h
@@ -15,7 +15,7 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/fixedvector.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using cpp::span;
 
@@ -203,6 +203,6 @@ FreeList<NUM_BUCKETS>::find_chunk_ptr_for_size(size_t size,
   return chunk_ptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FREELIST_H
diff --git a/libc/src/__support/freelist_heap.h b/libc/src/__support/freelist_heap.h
index 3d0db544c4af0..89ca9e4a9cd45 100644
--- a/libc/src/__support/freelist_heap.h
+++ b/libc/src/__support/freelist_heap.h
@@ -19,7 +19,7 @@
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/memory_utils/inline_memset.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using cpp::optional;
 using cpp::span;
@@ -258,6 +258,6 @@ void *FreeListHeap<NUM_BUCKETS>::calloc(size_t num, size_t size) {
 
 extern FreeListHeap<> *freelist_heap;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_FREELIST_HEAP_H
diff --git a/libc/src/__support/hash.h b/libc/src/__support/hash.h
index d1218fdc25927..b32072f22eafa 100644
--- a/libc/src/__support/hash.h
+++ b/libc/src/__support/hash.h
@@ -15,7 +15,7 @@
 #include "src/__support/uint128.h"           // UInt128
 #include <stdint.h>                          // For uint64_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // Folded multiplication.
@@ -160,6 +160,6 @@ class HashState {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_HASH_H
diff --git a/libc/src/__support/high_precision_decimal.h b/libc/src/__support/high_precision_decimal.h
index 6a22554165014..23597e0076afe 100644
--- a/libc/src/__support/high_precision_decimal.h
+++ b/libc/src/__support/high_precision_decimal.h
@@ -14,7 +14,7 @@
 #include "src/__support/str_to_integer.h"
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 struct LShiftTableEntry {
@@ -422,6 +422,6 @@ class HighPrecisionDecimal {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_HIGH_PRECISION_DECIMAL_H
diff --git a/libc/src/__support/integer_literals.h b/libc/src/__support/integer_literals.h
index 5fb67464090ce..ca24580608f12 100644
--- a/libc/src/__support/integer_literals.h
+++ b/libc/src/__support/integer_literals.h
@@ -19,7 +19,7 @@
 #include <stddef.h>                          // size_t
 #include <stdint.h>                          // uintxx_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE constexpr uint8_t operator""_u8(unsigned long long value) {
   return static_cast<uint8_t>(value);
@@ -182,6 +182,6 @@ template <typename T> LIBC_INLINE constexpr T parse_bigint(const char *ptr) {
   return internal::parse_with_prefix<T>(ptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_INTEGER_LITERALS_H
diff --git a/libc/src/__support/integer_operations.h b/libc/src/__support/integer_operations.h
index 390181f13b08b..95947514d1884 100644
--- a/libc/src/__support/integer_operations.h
+++ b/libc/src/__support/integer_operations.h
@@ -12,7 +12,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T>
 LIBC_INLINE static constexpr cpp::enable_if_t<cpp::is_integral_v<T>, T>
@@ -27,6 +27,6 @@ integer_rem_quo(T x, T y, T &quot, T &rem) {
   rem = x % y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_INTEGER_OPERATIONS_H
diff --git a/libc/src/__support/integer_to_string.h b/libc/src/__support/integer_to_string.h
index 375f0e82960e3..69cf6049fe563 100644
--- a/libc/src/__support/integer_to_string.h
+++ b/libc/src/__support/integer_to_string.h
@@ -70,7 +70,7 @@
 #include "src/__support/big_int.h" // make_integral_or_big_int_unsigned_t
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace details {
 
@@ -317,6 +317,6 @@ template <typename T, typename Fmt = radix::Dec> class IntegerToString {
   }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_INTEGER_TO_STRING_H
diff --git a/libc/src/__support/intrusive_list.h b/libc/src/__support/intrusive_list.h
index 69be877777f78..17f52729b103b 100644
--- a/libc/src/__support/intrusive_list.h
+++ b/libc/src/__support/intrusive_list.h
@@ -15,7 +15,7 @@
 
 #include "common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 class IntrusiveList {
@@ -60,6 +60,6 @@ class IntrusiveList {
 };
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_INTRUSIVE_LIST_H
diff --git a/libc/src/__support/libc_assert.h b/libc/src/__support/libc_assert.h
index ed06cc329809f..8be55ebff3727 100644
--- a/libc/src/__support/libc_assert.h
+++ b/libc/src/__support/libc_assert.h
@@ -25,7 +25,7 @@
 #include "src/__support/integer_to_string.h"
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This is intended to be removed in a future patch to use a similar design to
 // below, but it's necessary for the external assert.
@@ -43,7 +43,7 @@ LIBC_INLINE void report_assertion_failure(const char *assertion,
   write_to_stderr("'\n");
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #ifdef LIBC_ASSERT
 #error "Unexpected: LIBC_ASSERT macro already defined"
diff --git a/libc/src/__support/macros/optimization.h b/libc/src/__support/macros/optimization.h
index 05a47791deed8..7e55cad48628b 100644
--- a/libc/src/__support/macros/optimization.h
+++ b/libc/src/__support/macros/optimization.h
@@ -15,12 +15,14 @@
 
 // We use a template to implement likely/unlikely to make sure that we don't
 // accidentally pass an integer.
-namespace LIBC_NAMESPACE::details {
+namespace LIBC_NAMESPACE_DECL {
+namespace details {
 template <typename T>
 LIBC_INLINE constexpr bool expects_bool_condition(T value, T expected) {
   return __builtin_expect(value, expected);
 }
-} // namespace LIBC_NAMESPACE::details
+} // namespace details
+} // namespace LIBC_NAMESPACE_DECL
 #define LIBC_LIKELY(x) LIBC_NAMESPACE::details::expects_bool_condition(x, true)
 #define LIBC_UNLIKELY(x)                                                       \
   LIBC_NAMESPACE::details::expects_bool_condition(x, false)
diff --git a/libc/src/__support/math_extras.h b/libc/src/__support/math_extras.h
index 4bd8719574068..3230ecc9fa86c 100644
--- a/libc/src/__support/math_extras.h
+++ b/libc/src/__support/math_extras.h
@@ -15,7 +15,7 @@
 #include "src/__support/CPP/type_traits.h" // is_unsigned_v, is_constant_evaluated
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Create a bitmask with the count right-most bits set to 1, and all other bits
 // set to 0.  Only unsigned types are allowed.
@@ -155,6 +155,6 @@ count_zeros(T value) {
   return cpp::popcount<T>(static_cast<T>(~value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_MATH_EXTRAS_H
diff --git a/libc/src/__support/memory_size.h b/libc/src/__support/memory_size.h
index 491123bbabf30..7019f3afd5d05 100644
--- a/libc/src/__support/memory_size.h
+++ b/libc/src/__support/memory_size.h
@@ -16,7 +16,7 @@
 #include "src/__support/macros/optimization.h"
 #include "src/string/memory_utils/utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 template <class T> LIBC_INLINE bool mul_overflow(T a, T b, T *res) {
 #if __has_builtin(__builtin_mul_overflow)
@@ -85,6 +85,6 @@ class SafeMemSize {
   }
 };
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_MEMORY_SIZE_H
diff --git a/libc/src/__support/number_pair.h b/libc/src/__support/number_pair.h
index 2f713fc03520f..ba66470ef9379 100644
--- a/libc/src/__support/number_pair.h
+++ b/libc/src/__support/number_pair.h
@@ -13,13 +13,13 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T> struct NumberPair {
   T lo = T(0);
   T hi = T(0);
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_NUMBER_PAIR_H
diff --git a/libc/src/__support/str_to_float.h b/libc/src/__support/str_to_float.h
index fa466ca8492fc..ddb35f315d60a 100644
--- a/libc/src/__support/str_to_float.h
+++ b/libc/src/__support/str_to_float.h
@@ -26,7 +26,7 @@
 #include "src/__support/uint128.h"
 #include "src/errno/libc_errno.h" // For ERANGE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 template <class T> struct ExpandedFloat {
@@ -1226,6 +1226,6 @@ template <class T> LIBC_INLINE StrToNumResult<T> strtonan(const char *arg) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STR_TO_FLOAT_H
diff --git a/libc/src/__support/str_to_integer.h b/libc/src/__support/str_to_integer.h
index 6db851ab0e65a..0fdb92b128d47 100644
--- a/libc/src/__support/str_to_integer.h
+++ b/libc/src/__support/str_to_integer.h
@@ -17,7 +17,7 @@
 #include "src/__support/uint128.h"
 #include "src/errno/libc_errno.h" // For ERANGE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // Returns a pointer to the first character in src that is not a whitespace
@@ -164,6 +164,6 @@ strtointeger(const char *__restrict src, int base,
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STR_TO_INTEGER_H
diff --git a/libc/src/__support/str_to_num_result.h b/libc/src/__support/str_to_num_result.h
index b32fbdeeb580f..9286df089867a 100644
--- a/libc/src/__support/str_to_num_result.h
+++ b/libc/src/__support/str_to_num_result.h
@@ -13,7 +13,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T> struct StrToNumResult {
   T value;
@@ -31,6 +31,6 @@ template <typename T> struct StrToNumResult {
 
   LIBC_INLINE constexpr operator T() { return value; }
 };
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_STR_TO_NUM_RESULT_H
diff --git a/libc/src/__support/threads/CndVar.h b/libc/src/__support/threads/CndVar.h
index 55f6e02b354cb..33797d9bd273f 100644
--- a/libc/src/__support/threads/CndVar.h
+++ b/libc/src/__support/threads/CndVar.h
@@ -15,7 +15,7 @@
 
 #include <stdint.h> // uint32_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 class CndVar {
   enum CndWaiterStatus : uint32_t {
@@ -49,6 +49,6 @@ class CndVar {
   void broadcast();
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_CNDVAR_H
diff --git a/libc/src/__support/threads/callonce.h b/libc/src/__support/threads/callonce.h
index 67f4c99657107..fc8cbd54ed296 100644
--- a/libc/src/__support/threads/callonce.h
+++ b/libc/src/__support/threads/callonce.h
@@ -21,7 +21,7 @@
 #error "callonce is not supported on this platform"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Common definitions
 using CallOnceCallback = void(void);
@@ -35,6 +35,6 @@ LIBC_INLINE int callonce(CallOnceFlag *flag, CallOnceCallback *callback) {
 
   return callonce_impl::callonce_slowpath(flag, callback);
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_CALLONCE_H
diff --git a/libc/src/__support/threads/fork_callbacks.cpp b/libc/src/__support/threads/fork_callbacks.cpp
index 385a2bcb58168..d98120e9ce462 100644
--- a/libc/src/__support/threads/fork_callbacks.cpp
+++ b/libc/src/__support/threads/fork_callbacks.cpp
@@ -13,7 +13,7 @@
 
 #include <stddef.h> // For size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -91,4 +91,4 @@ void invoke_prepare_callbacks() { cb_manager.invoke_prepare(); }
 
 void invoke_parent_callbacks() { cb_manager.invoke_parent(); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/fork_callbacks.h b/libc/src/__support/threads/fork_callbacks.h
index 57a4f8228c5fb..ba8e02d7b3e17 100644
--- a/libc/src/__support/threads/fork_callbacks.h
+++ b/libc/src/__support/threads/fork_callbacks.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_FORK_CALLBACKS_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_FORK_CALLBACKS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using ForkCallback = void(void);
 
@@ -19,6 +19,6 @@ void invoke_prepare_callbacks();
 void invoke_parent_callbacks();
 void invoke_child_callbacks();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_FORK_CALLBACKS_H
diff --git a/libc/src/__support/threads/gpu/mutex.h b/libc/src/__support/threads/gpu/mutex.h
index 9554083679335..af5401464e8c6 100644
--- a/libc/src/__support/threads/gpu/mutex.h
+++ b/libc/src/__support/threads/gpu/mutex.h
@@ -12,7 +12,7 @@
 #include "src/__support/macros/attributes.h"
 #include "src/__support/threads/mutex_common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 /// Implementation of a simple passthrough mutex which guards nothing. A
 /// complete Mutex locks in general cannot be implemented on the GPU. We simply
@@ -26,6 +26,6 @@ struct Mutex {
   LIBC_INLINE MutexError reset() { return MutexError::NONE; }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_GPU_MUTEX_H
diff --git a/libc/src/__support/threads/linux/CndVar.cpp b/libc/src/__support/threads/linux/CndVar.cpp
index 03125323477a2..13069ff3d2431 100644
--- a/libc/src/__support/threads/linux/CndVar.cpp
+++ b/libc/src/__support/threads/linux/CndVar.cpp
@@ -15,7 +15,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int CndVar::wait(Mutex *m) {
   // The goal is to perform "unlock |m| and wait" in an
@@ -102,4 +102,4 @@ void CndVar::broadcast() {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/linux/callonce.cpp b/libc/src/__support/threads/linux/callonce.cpp
index 24d376f447fba..1737d55ca8f39 100644
--- a/libc/src/__support/threads/linux/callonce.cpp
+++ b/libc/src/__support/threads/linux/callonce.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/threads/linux/callonce.h"
 #include "src/__support/threads/linux/futex_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace callonce_impl {
 int callonce_slowpath(CallOnceFlag *flag, CallOnceCallback *func) {
   auto *futex_word = reinterpret_cast<Futex *>(flag);
@@ -36,4 +36,4 @@ int callonce_slowpath(CallOnceFlag *flag, CallOnceCallback *func) {
   return 0;
 }
 } // namespace callonce_impl
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/linux/callonce.h b/libc/src/__support/threads/linux/callonce.h
index 315cc6149e9ec..5562ca332afb6 100644
--- a/libc/src/__support/threads/linux/callonce.h
+++ b/libc/src/__support/threads/linux/callonce.h
@@ -10,7 +10,7 @@
 
 #include "src/__support/threads/linux/futex_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 using CallOnceFlag = Futex;
 
 namespace callonce_impl {
@@ -27,5 +27,5 @@ LIBC_INLINE bool callonce_fastpath(CallOnceFlag *flag) {
 }
 } // namespace callonce_impl
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_CALLONCE_H
diff --git a/libc/src/__support/threads/linux/futex_utils.h b/libc/src/__support/threads/linux/futex_utils.h
index e40ade8e709b1..2e3c4990b9bc0 100644
--- a/libc/src/__support/threads/linux/futex_utils.h
+++ b/libc/src/__support/threads/linux/futex_utils.h
@@ -19,7 +19,7 @@
 #include <linux/errno.h>
 #include <linux/futex.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 class Futex : public cpp::Atomic<FutexWordType> {
 public:
   using Timeout = internal::AbsTimeout;
@@ -82,6 +82,6 @@ class Futex : public cpp::Atomic<FutexWordType> {
 
 static_assert(__is_standard_layout(Futex),
               "Futex must be a standard layout type.");
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_FUTEX_UTILS_H
diff --git a/libc/src/__support/threads/linux/futex_word.h b/libc/src/__support/threads/linux/futex_word.h
index acdd33bcdaafa..c74acf45fa678 100644
--- a/libc/src/__support/threads/linux/futex_word.h
+++ b/libc/src/__support/threads/linux/futex_word.h
@@ -11,7 +11,7 @@
 
 #include <stdint.h>
 #include <sys/syscall.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Futexes are 32 bits in size on all platforms, including 64-bit platforms.
 using FutexWordType = uint32_t;
@@ -24,6 +24,6 @@ constexpr auto FUTEX_SYSCALL_ID = SYS_futex_time64;
 #error "futex and futex_time64 syscalls not available."
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_FUTEX_WORD_H
diff --git a/libc/src/__support/threads/linux/mutex.h b/libc/src/__support/threads/linux/mutex.h
index 79506d7e6911a..70322a3bb7540 100644
--- a/libc/src/__support/threads/linux/mutex.h
+++ b/libc/src/__support/threads/linux/mutex.h
@@ -16,7 +16,7 @@
 #include "src/__support/threads/linux/raw_mutex.h"
 #include "src/__support/threads/mutex_common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: support shared/recursive/robust mutexes.
 class Mutex final : private RawMutex {
@@ -84,6 +84,6 @@ class Mutex final : private RawMutex {
   }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_MUTEX_H
diff --git a/libc/src/__support/threads/linux/raw_mutex.h b/libc/src/__support/threads/linux/raw_mutex.h
index 75bd4bdfb6212..85ab0dc64611d 100644
--- a/libc/src/__support/threads/linux/raw_mutex.h
+++ b/libc/src/__support/threads/linux/raw_mutex.h
@@ -32,7 +32,7 @@
     "LIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT is not defined, defaulting to 100"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 // Lock is a simple timable lock for internal usage.
 // This is separated from Mutex because this one does not need to consider
 // robustness and reentrancy. Also, this one has spin optimization for shorter
@@ -125,6 +125,6 @@ class RawMutex {
   LIBC_INLINE Futex &get_raw_futex() { return futex; }
   LIBC_INLINE void reset() { futex = UNLOCKED; }
 };
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_RAW_MUTEX_H
diff --git a/libc/src/__support/threads/linux/rwlock.h b/libc/src/__support/threads/linux/rwlock.h
index 201fe92c37fc0..7a21b7ba8f170 100644
--- a/libc/src/__support/threads/linux/rwlock.h
+++ b/libc/src/__support/threads/linux/rwlock.h
@@ -36,7 +36,7 @@
 #include "src/__support/time/linux/monotonicity.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 // Forward declaration of the RwLock class.
 class RwLock;
 // A namespace to rwlock specific utilities.
@@ -553,6 +553,6 @@ class RwLock {
     return LockResult::Success;
   }
 };
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SUPPORT_THREADS_LINUX_RWLOCK_H
diff --git a/libc/src/__support/threads/linux/thread.cpp b/libc/src/__support/threads/linux/thread.cpp
index 1d986ff38cfff..fb35cf29b9a39 100644
--- a/libc/src/__support/threads/linux/thread.cpp
+++ b/libc/src/__support/threads/linux/thread.cpp
@@ -29,7 +29,7 @@
 #include <sys/mman.h>    // For PROT_* and MAP_* definitions.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #ifdef SYS_mmap2
 static constexpr long MMAP_SYSCALL_NUMBER = SYS_mmap2;
@@ -517,4 +517,4 @@ void thread_exit(ThreadReturnValue retval, ThreadStyle style) {
   __builtin_unreachable();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/mutex_common.h b/libc/src/__support/threads/mutex_common.h
index ad8d0025eba69..e20e9d13aa877 100644
--- a/libc/src/__support/threads/mutex_common.h
+++ b/libc/src/__support/threads/mutex_common.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_MUTEX_COMMON_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_MUTEX_COMMON_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 enum class MutexError : int {
   NONE,
@@ -19,6 +19,6 @@ enum class MutexError : int {
   BAD_LOCK_STATE,
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_MUTEX_COMMON_H
diff --git a/libc/src/__support/threads/sleep.h b/libc/src/__support/threads/sleep.h
index 6433bc3badd50..fc57c4595453e 100644
--- a/libc/src/__support/threads/sleep.h
+++ b/libc/src/__support/threads/sleep.h
@@ -11,7 +11,7 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 /// Suspend the thread briefly to assist the thread scheduler during busy loops.
 LIBC_INLINE void sleep_briefly() {
@@ -31,6 +31,6 @@ LIBC_INLINE void sleep_briefly() {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_SLEEP_H
diff --git a/libc/src/__support/threads/thread.cpp b/libc/src/__support/threads/thread.cpp
index d7bedb8ca67d0..e718f3438fb02 100644
--- a/libc/src/__support/threads/thread.cpp
+++ b/libc/src/__support/threads/thread.cpp
@@ -15,7 +15,7 @@
 #include "src/__support/fixedvector.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_THREAD_LOCAL Thread self;
 
@@ -188,4 +188,4 @@ void *get_tss_value(unsigned int key) {
   return u.payload;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/thread.h b/libc/src/__support/threads/thread.h
index f89c687eeaa19..bae24bea683be 100644
--- a/libc/src/__support/threads/thread.h
+++ b/libc/src/__support/threads/thread.h
@@ -21,7 +21,7 @@
 #include <stddef.h> // For size_t
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using ThreadRunnerPosix = void *(void *);
 using ThreadRunnerStdc = int(void *);
@@ -250,6 +250,6 @@ void call_atexit_callbacks(ThreadAttributes *attrib);
 
 } // namespace internal
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_THREADS_THREAD_H
diff --git a/libc/src/__support/time/linux/abs_timeout.h b/libc/src/__support/time/linux/abs_timeout.h
index 0097f8abc4ee9..78de4a3d92e13 100644
--- a/libc/src/__support/time/linux/abs_timeout.h
+++ b/libc/src/__support/time/linux/abs_timeout.h
@@ -14,7 +14,7 @@
 #include "src/__support/CPP/expected.h"
 #include "src/__support/time/units.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 // We use AbsTimeout to remind ourselves that the timeout is an absolute time.
 // This is a simple wrapper around the timespec struct that also keeps track of
@@ -44,6 +44,6 @@ class AbsTimeout {
   }
 };
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_ABS_TIMEOUT_H
diff --git a/libc/src/__support/time/linux/clock_conversion.h b/libc/src/__support/time/linux/clock_conversion.h
index 4a7c8ff284849..2e6549886d17e 100644
--- a/libc/src/__support/time/linux/clock_conversion.h
+++ b/libc/src/__support/time/linux/clock_conversion.h
@@ -12,7 +12,7 @@
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/__support/time/units.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 LIBC_INLINE timespec convert_clock(timespec input, clockid_t from,
@@ -37,6 +37,6 @@ LIBC_INLINE timespec convert_clock(timespec input, clockid_t from,
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_CLOCK_CONVERSION_H
diff --git a/libc/src/__support/time/linux/clock_gettime.h b/libc/src/__support/time/linux/clock_gettime.h
index bbdde98551abe..ed48841c6d0ec 100644
--- a/libc/src/__support/time/linux/clock_gettime.h
+++ b/libc/src/__support/time/linux/clock_gettime.h
@@ -16,7 +16,7 @@
 #include "src/__support/error_or.h"
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 LIBC_INLINE ErrorOr<int> clock_gettime(clockid_t clockid, timespec *ts) {
 #if SYS_clock_gettime
@@ -39,6 +39,6 @@ LIBC_INLINE ErrorOr<int> clock_gettime(clockid_t clockid, timespec *ts) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_CLOCK_GETTIME_H
diff --git a/libc/src/__support/time/linux/monotonicity.h b/libc/src/__support/time/linux/monotonicity.h
index e413275430dd1..5f18a419ce2b2 100644
--- a/libc/src/__support/time/linux/monotonicity.h
+++ b/libc/src/__support/time/linux/monotonicity.h
@@ -13,7 +13,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/__support/time/linux/abs_timeout.h"
 #include "src/__support/time/linux/clock_conversion.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 // This function is separated from abs_timeout.
 // This function pulls in the dependency to clock_conversion.h,
@@ -38,6 +38,6 @@ LIBC_INLINE void ensure_monotonicity(AbsTimeout &timeout) {
   }
 }
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_MONOTONICITY_H
diff --git a/libc/src/__support/time/units.h b/libc/src/__support/time/units.h
index ee74af70efdfc..d16ad2ff9d58b 100644
--- a/libc/src/__support/time/units.h
+++ b/libc/src/__support/time/units.h
@@ -12,7 +12,7 @@
 #include "hdr/types/time_t.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace time_units {
 LIBC_INLINE constexpr time_t operator""_s_ns(unsigned long long s) {
   return static_cast<time_t>(s * 1'000'000'000);
@@ -33,6 +33,6 @@ LIBC_INLINE constexpr time_t operator""_us_ns(unsigned long long us) {
   return static_cast<time_t>(us * 1'000);
 }
 } // namespace time_units
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_TIME_UNITS_H
diff --git a/libc/src/__support/wctype_utils.h b/libc/src/__support/wctype_utils.h
index aa1161c777453..496f107115193 100644
--- a/libc/src/__support/wctype_utils.h
+++ b/libc/src/__support/wctype_utils.h
@@ -16,7 +16,7 @@
 #define __need_wchar_t
 #include <stddef.h> // needed for wint_t and wchar_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // ------------------------------------------------------
@@ -44,6 +44,6 @@ LIBC_INLINE cpp::optional<wint_t> btowc(int c) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC___SUPPORT_WCTYPE_UTILS_H
diff --git a/libc/src/assert/__assert_fail.h b/libc/src/assert/__assert_fail.h
index 6b9dee2a4bf66..10b438953c9c7 100644
--- a/libc/src/assert/__assert_fail.h
+++ b/libc/src/assert/__assert_fail.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void __assert_fail(const char *assertion, const char *file,
                                 unsigned line, const char *function);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_ASSERT___ASSERT_FAIL_H
diff --git a/libc/src/assert/generic/__assert_fail.cpp b/libc/src/assert/generic/__assert_fail.cpp
index 4cf914bbe257f..42f968d78b5e7 100644
--- a/libc/src/assert/generic/__assert_fail.cpp
+++ b/libc/src/assert/generic/__assert_fail.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/stdlib/abort.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, __assert_fail,
                    (const char *assertion, const char *file, unsigned line,
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(void, __assert_fail,
   LIBC_NAMESPACE::abort();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/assert/gpu/__assert_fail.cpp b/libc/src/assert/gpu/__assert_fail.cpp
index 7621c0803a00d..ce62e1905399a 100644
--- a/libc/src/assert/gpu/__assert_fail.cpp
+++ b/libc/src/assert/gpu/__assert_fail.cpp
@@ -13,7 +13,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/stdlib/abort.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // A single-use lock to allow only a single thread to print the assertion.
 static cpp::Atomic<uint32_t> lock = 0;
@@ -37,4 +37,4 @@ LLVM_LIBC_FUNCTION(void, __assert_fail,
   LIBC_NAMESPACE::abort();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isalnum.cpp b/libc/src/ctype/isalnum.cpp
index 42ed8ea475f10..ad7c2e15f8c81 100644
--- a/libc/src/ctype/isalnum.cpp
+++ b/libc/src/ctype/isalnum.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isalnum, (int c)) {
   return static_cast<int>(internal::isalnum(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isalnum.h b/libc/src/ctype/isalnum.h
index 71830c95cb2ff..91bf774b79b9f 100644
--- a/libc/src/ctype/isalnum.h
+++ b/libc/src/ctype/isalnum.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISALNUM_H
 #define LLVM_LIBC_SRC_CTYPE_ISALNUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isalnum(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISALNUM_H
diff --git a/libc/src/ctype/isalpha.cpp b/libc/src/ctype/isalpha.cpp
index 2b1bd0efc3b3a..afb26f0ea52cc 100644
--- a/libc/src/ctype/isalpha.cpp
+++ b/libc/src/ctype/isalpha.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isalpha, (int c)) {
   return static_cast<int>(internal::isalpha(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isalpha.h b/libc/src/ctype/isalpha.h
index b5b07eecd6798..1aef47b6097eb 100644
--- a/libc/src/ctype/isalpha.h
+++ b/libc/src/ctype/isalpha.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISALPHA_H
 #define LLVM_LIBC_SRC_CTYPE_ISALPHA_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isalpha(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISALPHA_H
diff --git a/libc/src/ctype/isascii.cpp b/libc/src/ctype/isascii.cpp
index 8be3d7e205afe..9888b4c5f8808 100644
--- a/libc/src/ctype/isascii.cpp
+++ b/libc/src/ctype/isascii.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isascii, (int c)) {
   return static_cast<int>((c & (~0x7f)) == 0);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isascii.h b/libc/src/ctype/isascii.h
index 5a734a21bd1e5..bcfc65d222651 100644
--- a/libc/src/ctype/isascii.h
+++ b/libc/src/ctype/isascii.h
@@ -11,10 +11,10 @@
 
 #undef isascii
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isascii(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISASCII_H
diff --git a/libc/src/ctype/isblank.cpp b/libc/src/ctype/isblank.cpp
index 9ac9d36580c7b..240545bbf54fe 100644
--- a/libc/src/ctype/isblank.cpp
+++ b/libc/src/ctype/isblank.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(int, isblank, (int c)) {
   return static_cast<int>(c == ' ' || c == '\t');
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isblank.h b/libc/src/ctype/isblank.h
index 4cacdb3d2a8d7..fac754545f019 100644
--- a/libc/src/ctype/isblank.h
+++ b/libc/src/ctype/isblank.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISBLANK_H
 #define LLVM_LIBC_SRC_CTYPE_ISBLANK_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isblank(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISBLANK_H
diff --git a/libc/src/ctype/iscntrl.cpp b/libc/src/ctype/iscntrl.cpp
index b52b86f1df291..b520b60ddd4b2 100644
--- a/libc/src/ctype/iscntrl.cpp
+++ b/libc/src/ctype/iscntrl.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, iscntrl, (int c)) {
   return static_cast<int>(ch < 0x20 || ch == 0x7f);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/iscntrl.h b/libc/src/ctype/iscntrl.h
index e0cae0caa6b8d..00d2f4a63ca75 100644
--- a/libc/src/ctype/iscntrl.h
+++ b/libc/src/ctype/iscntrl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISCNTRL_H
 #define LLVM_LIBC_SRC_CTYPE_ISCNTRL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int iscntrl(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISCNTRL_H
diff --git a/libc/src/ctype/isdigit.cpp b/libc/src/ctype/isdigit.cpp
index d4d5d1f20f3fb..6f9ad8c97d90c 100644
--- a/libc/src/ctype/isdigit.cpp
+++ b/libc/src/ctype/isdigit.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(int, isdigit, (int c)) {
   return static_cast<int>(internal::isdigit(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isdigit.h b/libc/src/ctype/isdigit.h
index a024cf464b52a..3eac175f29efa 100644
--- a/libc/src/ctype/isdigit.h
+++ b/libc/src/ctype/isdigit.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISDIGIT_H
 #define LLVM_LIBC_SRC_CTYPE_ISDIGIT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isdigit(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISDIGIT_H
diff --git a/libc/src/ctype/isgraph.cpp b/libc/src/ctype/isgraph.cpp
index e195f9fcbf48c..a53a6bf2fcb79 100644
--- a/libc/src/ctype/isgraph.cpp
+++ b/libc/src/ctype/isgraph.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isgraph, (int c)) {
   return static_cast<int>(internal::isgraph(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isgraph.h b/libc/src/ctype/isgraph.h
index 486c32d10a11a..7a60338e9d9b7 100644
--- a/libc/src/ctype/isgraph.h
+++ b/libc/src/ctype/isgraph.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISGRAPH_H
 #define LLVM_LIBC_SRC_CTYPE_ISGRAPH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isgraph(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISGRAPH_H
diff --git a/libc/src/ctype/islower.cpp b/libc/src/ctype/islower.cpp
index bd252e5e6efd1..7a08d2dc9de50 100644
--- a/libc/src/ctype/islower.cpp
+++ b/libc/src/ctype/islower.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, islower, (int c)) {
   return static_cast<int>(internal::islower(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/islower.h b/libc/src/ctype/islower.h
index dc59ce9cea438..96d4985bd951f 100644
--- a/libc/src/ctype/islower.h
+++ b/libc/src/ctype/islower.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISLOWER_H
 #define LLVM_LIBC_SRC_CTYPE_ISLOWER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int islower(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISLOWER_H
diff --git a/libc/src/ctype/isprint.cpp b/libc/src/ctype/isprint.cpp
index bdf9d083b621b..4e12c2801eb23 100644
--- a/libc/src/ctype/isprint.cpp
+++ b/libc/src/ctype/isprint.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isprint, (int c)) {
   return static_cast<int>((ch - ' ') < 95);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isprint.h b/libc/src/ctype/isprint.h
index 22c835b7987c0..116cac77dfb37 100644
--- a/libc/src/ctype/isprint.h
+++ b/libc/src/ctype/isprint.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISPRINT_H
 #define LLVM_LIBC_SRC_CTYPE_ISPRINT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isprint(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISPRINT_H
diff --git a/libc/src/ctype/ispunct.cpp b/libc/src/ctype/ispunct.cpp
index d355c19c426c6..c415606d09a53 100644
--- a/libc/src/ctype/ispunct.cpp
+++ b/libc/src/ctype/ispunct.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, ispunct, (int c)) {
   return static_cast<int>(!internal::isalnum(ch) && internal::isgraph(ch));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/ispunct.h b/libc/src/ctype/ispunct.h
index 7eaa83ac8ae5e..02bdf11554c73 100644
--- a/libc/src/ctype/ispunct.h
+++ b/libc/src/ctype/ispunct.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISPUNCT_H
 #define LLVM_LIBC_SRC_CTYPE_ISPUNCT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ispunct(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISPUNCT_H
diff --git a/libc/src/ctype/isspace.cpp b/libc/src/ctype/isspace.cpp
index 8c09eda00bc43..36aa2ce4f4c40 100644
--- a/libc/src/ctype/isspace.cpp
+++ b/libc/src/ctype/isspace.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isspace, (int c)) {
   return static_cast<int>(internal::isspace(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isspace.h b/libc/src/ctype/isspace.h
index 56b70579fad94..ee62f203a7875 100644
--- a/libc/src/ctype/isspace.h
+++ b/libc/src/ctype/isspace.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISSPACE_H
 #define LLVM_LIBC_SRC_CTYPE_ISSPACE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isspace(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISSPACE_H
diff --git a/libc/src/ctype/isupper.cpp b/libc/src/ctype/isupper.cpp
index b527e3ee53279..9a6a81db7a92d 100644
--- a/libc/src/ctype/isupper.cpp
+++ b/libc/src/ctype/isupper.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, isupper, (int c)) {
   return static_cast<int>(internal::isupper(static_cast<unsigned>(c)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isupper.h b/libc/src/ctype/isupper.h
index 8f5ce849f7961..1761cfb42acb3 100644
--- a/libc/src/ctype/isupper.h
+++ b/libc/src/ctype/isupper.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISUPPER_H
 #define LLVM_LIBC_SRC_CTYPE_ISUPPER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isupper(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISUPPER_H
diff --git a/libc/src/ctype/isxdigit.cpp b/libc/src/ctype/isxdigit.cpp
index 79152c95986c3..1726eee07d620 100644
--- a/libc/src/ctype/isxdigit.cpp
+++ b/libc/src/ctype/isxdigit.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, isxdigit, (int c)) {
   return static_cast<int>(internal::isdigit(ch) || (ch | 32) - 'a' < 6);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/isxdigit.h b/libc/src/ctype/isxdigit.h
index 4966c320341e0..632108b234f2f 100644
--- a/libc/src/ctype/isxdigit.h
+++ b/libc/src/ctype/isxdigit.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISXDIGIT_H
 #define LLVM_LIBC_SRC_CTYPE_ISXDIGIT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isxdigit(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_ISXDIGIT_H
diff --git a/libc/src/ctype/toascii.cpp b/libc/src/ctype/toascii.cpp
index 06bf91b171906..1f59a356f29d9 100644
--- a/libc/src/ctype/toascii.cpp
+++ b/libc/src/ctype/toascii.cpp
@@ -10,8 +10,8 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, toascii, (int c)) { return (c & 0x7f); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/toascii.h b/libc/src/ctype/toascii.h
index 246580e23d5f6..52fce8b4cf1b5 100644
--- a/libc/src/ctype/toascii.h
+++ b/libc/src/ctype/toascii.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOASCII_H
 #define LLVM_LIBC_SRC_CTYPE_TOASCII_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int toascii(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_TOASCII_H
diff --git a/libc/src/ctype/tolower.cpp b/libc/src/ctype/tolower.cpp
index 4e8b96dca078f..a952493530fd5 100644
--- a/libc/src/ctype/tolower.cpp
+++ b/libc/src/ctype/tolower.cpp
@@ -11,10 +11,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
 LLVM_LIBC_FUNCTION(int, tolower, (int c)) { return internal::tolower(c); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/tolower.h b/libc/src/ctype/tolower.h
index 8213da9319af1..4035779cd0fc9 100644
--- a/libc/src/ctype/tolower.h
+++ b/libc/src/ctype/tolower.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOLOWER_H
 #define LLVM_LIBC_SRC_CTYPE_TOLOWER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tolower(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_TOLOWER_H
diff --git a/libc/src/ctype/toupper.cpp b/libc/src/ctype/toupper.cpp
index 7b0db35441035..183470587033b 100644
--- a/libc/src/ctype/toupper.cpp
+++ b/libc/src/ctype/toupper.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, toupper, (int c)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/ctype/toupper.h b/libc/src/ctype/toupper.h
index b5d8890b2090d..b005cc8b234d5 100644
--- a/libc/src/ctype/toupper.h
+++ b/libc/src/ctype/toupper.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOUPPER_H
 #define LLVM_LIBC_SRC_CTYPE_TOUPPER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int toupper(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_CTYPE_TOUPPER_H
diff --git a/libc/src/dirent/closedir.cpp b/libc/src/dirent/closedir.cpp
index 22c27c4c0f061..eee322e4cc844 100644
--- a/libc/src/dirent/closedir.cpp
+++ b/libc/src/dirent/closedir.cpp
@@ -14,7 +14,7 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, closedir, (::DIR * dir)) {
   auto *d = reinterpret_cast<LIBC_NAMESPACE::Dir *>(dir);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, closedir, (::DIR * dir)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dirent/closedir.h b/libc/src/dirent/closedir.h
index 6d6b898cfe1a9..c20b7504ae53d 100644
--- a/libc/src/dirent/closedir.h
+++ b/libc/src/dirent/closedir.h
@@ -11,10 +11,10 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int closedir(::DIR *dir);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DIRENT_CLOSEDIR_H
diff --git a/libc/src/dirent/dirfd.cpp b/libc/src/dirent/dirfd.cpp
index 27995f6ef3c64..993eadecdb47e 100644
--- a/libc/src/dirent/dirfd.cpp
+++ b/libc/src/dirent/dirfd.cpp
@@ -13,11 +13,11 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, dirfd, (::DIR * dir)) {
   auto *d = reinterpret_cast<LIBC_NAMESPACE::Dir *>(dir);
   return d->getfd();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dirent/dirfd.h b/libc/src/dirent/dirfd.h
index 34acb01dd6118..a21e5d6bdbe75 100644
--- a/libc/src/dirent/dirfd.h
+++ b/libc/src/dirent/dirfd.h
@@ -11,10 +11,10 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int dirfd(::DIR *dir);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DIRENT_DIRFD_H
diff --git a/libc/src/dirent/opendir.cpp b/libc/src/dirent/opendir.cpp
index 56f7bc8b574f0..6af53539c4177 100644
--- a/libc/src/dirent/opendir.cpp
+++ b/libc/src/dirent/opendir.cpp
@@ -14,7 +14,7 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(::DIR *, opendir, (const char *name)) {
   auto dir = Dir::open(name);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(::DIR *, opendir, (const char *name)) {
   return reinterpret_cast<DIR *>(dir.value());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dirent/opendir.h b/libc/src/dirent/opendir.h
index 635cb9083d068..72274a9f27577 100644
--- a/libc/src/dirent/opendir.h
+++ b/libc/src/dirent/opendir.h
@@ -11,10 +11,10 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ::DIR *opendir(const char *name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DIRENT_OPENDIR_H
diff --git a/libc/src/dirent/readdir.cpp b/libc/src/dirent/readdir.cpp
index 448935e3a4ab2..3ac66e294b92f 100644
--- a/libc/src/dirent/readdir.cpp
+++ b/libc/src/dirent/readdir.cpp
@@ -14,7 +14,7 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(struct ::dirent *, readdir, (::DIR * dir)) {
   auto *d = reinterpret_cast<LIBC_NAMESPACE::Dir *>(dir);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(struct ::dirent *, readdir, (::DIR * dir)) {
   return dirent_val.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dirent/readdir.h b/libc/src/dirent/readdir.h
index 83c8c56e3f53b..f0896d67e48a4 100644
--- a/libc/src/dirent/readdir.h
+++ b/libc/src/dirent/readdir.h
@@ -11,10 +11,10 @@
 
 #include <dirent.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct ::dirent *readdir(DIR *dir);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DIRENT_READDIR_H
diff --git a/libc/src/dlfcn/dlclose.cpp b/libc/src/dlfcn/dlclose.cpp
index 1f1bfabd79801..e212ef042ae90 100644
--- a/libc/src/dlfcn/dlclose.cpp
+++ b/libc/src/dlfcn/dlclose.cpp
@@ -10,9 +10,9 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(@izaakschroeder): https://github.com/llvm/llvm-project/issues/97917
 LLVM_LIBC_FUNCTION(int, dlclose, (void *)) { return -1; }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dlfcn/dlclose.h b/libc/src/dlfcn/dlclose.h
index 27c0207d726e4..883db12a251ad 100644
--- a/libc/src/dlfcn/dlclose.h
+++ b/libc/src/dlfcn/dlclose.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLCLOSE_H
 #define LLVM_LIBC_SRC_DLFCN_DLCLOSE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int dlclose(void *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DLFCN_DLCLOSE_H
diff --git a/libc/src/dlfcn/dlerror.cpp b/libc/src/dlfcn/dlerror.cpp
index 711b5a39420b6..bf8b5646f6785 100644
--- a/libc/src/dlfcn/dlerror.cpp
+++ b/libc/src/dlfcn/dlerror.cpp
@@ -10,11 +10,11 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(@izaakschroeder): https://github.com/llvm/llvm-project/issues/97918
 LLVM_LIBC_FUNCTION(char *, dlerror, ()) {
   return const_cast<char *>("unsupported");
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dlfcn/dlerror.h b/libc/src/dlfcn/dlerror.h
index 966496016d3eb..13dfc9e11bca4 100644
--- a/libc/src/dlfcn/dlerror.h
+++ b/libc/src/dlfcn/dlerror.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLERROR_H
 #define LLVM_LIBC_SRC_DLFCN_DLERROR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *dlerror();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DLFCN_DLERROR_H
diff --git a/libc/src/dlfcn/dlopen.cpp b/libc/src/dlfcn/dlopen.cpp
index 9fa4d061c9c82..16a283c7cb796 100644
--- a/libc/src/dlfcn/dlopen.cpp
+++ b/libc/src/dlfcn/dlopen.cpp
@@ -10,9 +10,9 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(@izaakschroeder): https://github.com/llvm/llvm-project/issues/97919
 LLVM_LIBC_FUNCTION(void *, dlopen, (const char *, int)) { return nullptr; }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dlfcn/dlopen.h b/libc/src/dlfcn/dlopen.h
index 4565953efd494..dfcb481e6fb80 100644
--- a/libc/src/dlfcn/dlopen.h
+++ b/libc/src/dlfcn/dlopen.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLOPEN_H
 #define LLVM_LIBC_SRC_DLFCN_DLOPEN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *dlopen(const char *, int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DLFCN_DLOPEN_H
diff --git a/libc/src/dlfcn/dlsym.cpp b/libc/src/dlfcn/dlsym.cpp
index 4c8dac698f61d..bd278500bd1c7 100644
--- a/libc/src/dlfcn/dlsym.cpp
+++ b/libc/src/dlfcn/dlsym.cpp
@@ -10,9 +10,9 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(@izaakschroeder): https://github.com/llvm/llvm-project/issues/97920
 LLVM_LIBC_FUNCTION(void *, dlsym, (void *, const char *)) { return nullptr; }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/dlfcn/dlsym.h b/libc/src/dlfcn/dlsym.h
index 8157ac3e3fd4c..22522b2ad85a2 100644
--- a/libc/src/dlfcn/dlsym.h
+++ b/libc/src/dlfcn/dlsym.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLSYM_H
 #define LLVM_LIBC_SRC_DLFCN_DLSYM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *dlsym(void *, const char *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_DLFCN_DLSYM_H
diff --git a/libc/src/errno/libc_errno.cpp b/libc/src/errno/libc_errno.cpp
index bd1438c226143..43aeafc884fcf 100644
--- a/libc/src/errno/libc_errno.cpp
+++ b/libc/src/errno/libc_errno.cpp
@@ -46,7 +46,7 @@ LIBC_NAMESPACE::Errno::operator int() { return errno; }
 
 #endif // LIBC_FULL_BUILD
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 // Define the global `libc_errno` instance.
 Errno libc_errno;
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/errno/libc_errno.h b/libc/src/errno/libc_errno.h
index df67ea3b42faa..566f899f0a0a7 100644
--- a/libc/src/errno/libc_errno.h
+++ b/libc/src/errno/libc_errno.h
@@ -30,7 +30,7 @@
 // - Use regular `errno` in the code
 // - Still depend on libc.src.errno.errno
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 struct Errno {
   void operator=(int);
   operator int();
@@ -38,6 +38,6 @@ struct Errno {
 
 extern Errno libc_errno;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_ERRNO_LIBC_ERRNO_H
diff --git a/libc/src/fcntl/creat.h b/libc/src/fcntl/creat.h
index fc91a3cc8f677..2dcd363f08603 100644
--- a/libc/src/fcntl/creat.h
+++ b/libc/src/fcntl/creat.h
@@ -11,10 +11,10 @@
 
 #include <fcntl.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int creat(const char *path, int mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FCNTL_CREAT_H
diff --git a/libc/src/fcntl/fcntl.h b/libc/src/fcntl/fcntl.h
index 8fe3fb3146b91..330a829d0d825 100644
--- a/libc/src/fcntl/fcntl.h
+++ b/libc/src/fcntl/fcntl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FCNTL_FCNTL_H
 #define LLVM_LIBC_SRC_FCNTL_FCNTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fcntl(int fd, int cmd, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FCNTL_FCNTL_H
diff --git a/libc/src/fcntl/linux/creat.cpp b/libc/src/fcntl/linux/creat.cpp
index 0710fab23fe1b..cdddaf35528b5 100644
--- a/libc/src/fcntl/linux/creat.cpp
+++ b/libc/src/fcntl/linux/creat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, creat, (const char *path, int mode_flags)) {
 #ifdef SYS_open
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, creat, (const char *path, int mode_flags)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fcntl/linux/fcntl.cpp b/libc/src/fcntl/linux/fcntl.cpp
index 3875889d9d0b9..a59f6d3dd2d93 100644
--- a/libc/src/fcntl/linux/fcntl.cpp
+++ b/libc/src/fcntl/linux/fcntl.cpp
@@ -13,7 +13,7 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fcntl, (int fd, int cmd, ...)) {
   void *arg;
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, fcntl, (int fd, int cmd, ...)) {
   return LIBC_NAMESPACE::internal::fcntl(fd, cmd, arg);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fcntl/linux/open.cpp b/libc/src/fcntl/linux/open.cpp
index 7394069a7e736..4eb769dc3c90f 100644
--- a/libc/src/fcntl/linux/open.cpp
+++ b/libc/src/fcntl/linux/open.cpp
@@ -16,7 +16,7 @@
 #include <stdarg.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, open, (const char *path, int flags, ...)) {
   mode_t mode_flags = 0;
@@ -42,4 +42,4 @@ LLVM_LIBC_FUNCTION(int, open, (const char *path, int flags, ...)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fcntl/linux/openat.cpp b/libc/src/fcntl/linux/openat.cpp
index a2f7413ff87bf..027e0e492d554 100644
--- a/libc/src/fcntl/linux/openat.cpp
+++ b/libc/src/fcntl/linux/openat.cpp
@@ -16,7 +16,7 @@
 #include <stdarg.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, openat, (int dfd, const char *path, int flags, ...)) {
   mode_t mode_flags = 0;
@@ -38,4 +38,4 @@ LLVM_LIBC_FUNCTION(int, openat, (int dfd, const char *path, int flags, ...)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fcntl/open.h b/libc/src/fcntl/open.h
index 30950dd828ae3..02b681d1572ac 100644
--- a/libc/src/fcntl/open.h
+++ b/libc/src/fcntl/open.h
@@ -11,10 +11,10 @@
 
 #include <fcntl.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int open(const char *path, int flags, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FCNTL_OPEN_H
diff --git a/libc/src/fcntl/openat.h b/libc/src/fcntl/openat.h
index 5ea5d7f0b65ac..9bffcd3cf7154 100644
--- a/libc/src/fcntl/openat.h
+++ b/libc/src/fcntl/openat.h
@@ -11,10 +11,10 @@
 
 #include <fcntl.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int openat(int dfd, const char *path, int flags, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FCNTL_OPENAT_H
diff --git a/libc/src/fenv/feclearexcept.cpp b/libc/src/fenv/feclearexcept.cpp
index 5eb1b0438b9af..3ac659f1a1cf0 100644
--- a/libc/src/fenv/feclearexcept.cpp
+++ b/libc/src/fenv/feclearexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feclearexcept, (int e)) {
   return fputil::clear_except(e);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/feclearexcept.h b/libc/src/fenv/feclearexcept.h
index e7df86d0e20d8..a4041d12e6c7c 100644
--- a/libc/src/fenv/feclearexcept.h
+++ b/libc/src/fenv/feclearexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FECLEAREXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FECLEAREXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feclearexcept(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FECLEAREXCEPT_H
diff --git a/libc/src/fenv/fedisableexcept.cpp b/libc/src/fenv/fedisableexcept.cpp
index c715627c395b9..470149f2f8161 100644
--- a/libc/src/fenv/fedisableexcept.cpp
+++ b/libc/src/fenv/fedisableexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fedisableexcept, (int e)) {
   return fputil::disable_except(e);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fedisableexcept.h b/libc/src/fenv/fedisableexcept.h
index 977fd83262c1e..1f52dbf0677e2 100644
--- a/libc/src/fenv/fedisableexcept.h
+++ b/libc/src/fenv/fedisableexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEDISABLEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEDISABLEEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fedisableexcept(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEDISABLEEXCEPT_H
diff --git a/libc/src/fenv/feenableexcept.cpp b/libc/src/fenv/feenableexcept.cpp
index cf45b7f1b5f73..087e85c5be46e 100644
--- a/libc/src/fenv/feenableexcept.cpp
+++ b/libc/src/fenv/feenableexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feenableexcept, (int e)) {
   return fputil::enable_except(e);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/feenableexcept.h b/libc/src/fenv/feenableexcept.h
index a077162479952..c42384f6812f1 100644
--- a/libc/src/fenv/feenableexcept.h
+++ b/libc/src/fenv/feenableexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEENABLEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEENABLEEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feenableexcept(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEENABLEEXCEPT_H
diff --git a/libc/src/fenv/fegetenv.cpp b/libc/src/fenv/fegetenv.cpp
index fbdb7d577b5a5..ed9bd96e05315 100644
--- a/libc/src/fenv/fegetenv.cpp
+++ b/libc/src/fenv/fegetenv.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fegetenv, (fenv_t * envp)) {
   return fputil::get_env(envp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fegetenv.h b/libc/src/fenv/fegetenv.h
index 8d33029647402..b0baf458bb738 100644
--- a/libc/src/fenv/fegetenv.h
+++ b/libc/src/fenv/fegetenv.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fenv_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fegetenv(fenv_t *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEGETENV_H
diff --git a/libc/src/fenv/fegetexcept.cpp b/libc/src/fenv/fegetexcept.cpp
index edc4faff05282..bf7b6c926ba5f 100644
--- a/libc/src/fenv/fegetexcept.cpp
+++ b/libc/src/fenv/fegetexcept.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fegetexcept, ()) { return fputil::get_except(); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fegetexcept.h b/libc/src/fenv/fegetexcept.h
index 53ce64872eaf0..d8e0de43e8dbf 100644
--- a/libc/src/fenv/fegetexcept.h
+++ b/libc/src/fenv/fegetexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEGETEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEGETEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fegetexcept();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEGETEXCEPT_H
diff --git a/libc/src/fenv/fegetexceptflag.cpp b/libc/src/fenv/fegetexceptflag.cpp
index 72f31bf7abd52..6895268b58ce5 100644
--- a/libc/src/fenv/fegetexceptflag.cpp
+++ b/libc/src/fenv/fegetexceptflag.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fegetexceptflag, (fexcept_t * flagp, int excepts)) {
   static_assert(sizeof(int) >= sizeof(fexcept_t),
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, fegetexceptflag, (fexcept_t * flagp, int excepts)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fegetexceptflag.h b/libc/src/fenv/fegetexceptflag.h
index fcb9598658d43..d3c1ee3255124 100644
--- a/libc/src/fenv/fegetexceptflag.h
+++ b/libc/src/fenv/fegetexceptflag.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fexcept_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fegetexceptflag(fexcept_t *, int excepts);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEGETEXCEPTFLAG_H
diff --git a/libc/src/fenv/fegetround.cpp b/libc/src/fenv/fegetround.cpp
index edf6eac0a5b03..368fa56e43741 100644
--- a/libc/src/fenv/fegetround.cpp
+++ b/libc/src/fenv/fegetround.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fegetround, ()) { return fputil::get_round(); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fegetround.h b/libc/src/fenv/fegetround.h
index 40be879a66d05..cccfdbfdd5478 100644
--- a/libc/src/fenv/fegetround.h
+++ b/libc/src/fenv/fegetround.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEGETROUND_H
 #define LLVM_LIBC_SRC_FENV_FEGETROUND_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fegetround();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEGETROUND_H
diff --git a/libc/src/fenv/feholdexcept.cpp b/libc/src/fenv/feholdexcept.cpp
index e5ca257e2be5d..12435a66df00a 100644
--- a/libc/src/fenv/feholdexcept.cpp
+++ b/libc/src/fenv/feholdexcept.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feholdexcept, (fenv_t * envp)) {
   if (fputil::get_env(envp) != 0)
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, feholdexcept, (fenv_t * envp)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/feholdexcept.h b/libc/src/fenv/feholdexcept.h
index e53619e12feaf..5c1dccf7d526a 100644
--- a/libc/src/fenv/feholdexcept.h
+++ b/libc/src/fenv/feholdexcept.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fenv_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feholdexcept(fenv_t *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEHOLDEXCEPT_H
diff --git a/libc/src/fenv/feraiseexcept.cpp b/libc/src/fenv/feraiseexcept.cpp
index 0bee7f5f5b923..266a2d014eefe 100644
--- a/libc/src/fenv/feraiseexcept.cpp
+++ b/libc/src/fenv/feraiseexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feraiseexcept, (int e)) {
   return fputil::raise_except(e);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/feraiseexcept.h b/libc/src/fenv/feraiseexcept.h
index a5ab3b93720ef..21b06579878a9 100644
--- a/libc/src/fenv/feraiseexcept.h
+++ b/libc/src/fenv/feraiseexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FERAISEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FERAISEEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feraiseexcept(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FERAISEEXCEPT_H
diff --git a/libc/src/fenv/fesetenv.cpp b/libc/src/fenv/fesetenv.cpp
index 25ac78958cf93..b2ce0cacaab0c 100644
--- a/libc/src/fenv/fesetenv.cpp
+++ b/libc/src/fenv/fesetenv.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fesetenv, (const fenv_t *envp)) {
   return fputil::set_env(envp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fesetenv.h b/libc/src/fenv/fesetenv.h
index 8636711cb1fee..c49922a2b6284 100644
--- a/libc/src/fenv/fesetenv.h
+++ b/libc/src/fenv/fesetenv.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fenv_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fesetenv(const fenv_t *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FESETENV_H
diff --git a/libc/src/fenv/fesetexcept.cpp b/libc/src/fenv/fesetexcept.cpp
index 9afa7b73b4fb5..5d2ae0623c933 100644
--- a/libc/src/fenv/fesetexcept.cpp
+++ b/libc/src/fenv/fesetexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fesetexcept, (int excepts)) {
   return fputil::set_except(excepts);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fesetexcept.h b/libc/src/fenv/fesetexcept.h
index 40a7303efcb0a..4b7b4710dc7b9 100644
--- a/libc/src/fenv/fesetexcept.h
+++ b/libc/src/fenv/fesetexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FESETEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FESETEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fesetexcept(int excepts);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FESETEXCEPT_H
diff --git a/libc/src/fenv/fesetexceptflag.cpp b/libc/src/fenv/fesetexceptflag.cpp
index 628f33dcb9c4b..5ac987aa382f6 100644
--- a/libc/src/fenv/fesetexceptflag.cpp
+++ b/libc/src/fenv/fesetexceptflag.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fesetexceptflag,
                    (const fexcept_t *flagp, int excepts)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, fesetexceptflag,
   return fputil::set_except(excepts_to_set);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fesetexceptflag.h b/libc/src/fenv/fesetexceptflag.h
index a018358dc9dfc..3a109db0532ce 100644
--- a/libc/src/fenv/fesetexceptflag.h
+++ b/libc/src/fenv/fesetexceptflag.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fexcept_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fesetexceptflag(const fexcept_t *, int excepts);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FESETEXCEPTFLAG_H
diff --git a/libc/src/fenv/fesetround.cpp b/libc/src/fenv/fesetround.cpp
index 22f2b9d1e087e..7b0f1f4836fed 100644
--- a/libc/src/fenv/fesetround.cpp
+++ b/libc/src/fenv/fesetround.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fesetround, (int m)) { return fputil::set_round(m); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fesetround.h b/libc/src/fenv/fesetround.h
index 75023bdb691c4..d1a5e29da75fa 100644
--- a/libc/src/fenv/fesetround.h
+++ b/libc/src/fenv/fesetround.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FESETROUND_H
 #define LLVM_LIBC_SRC_FENV_FESETROUND_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fesetround(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FESETROUND_H
diff --git a/libc/src/fenv/fetestexcept.cpp b/libc/src/fenv/fetestexcept.cpp
index c284a2c2a9528..02d5c4919be83 100644
--- a/libc/src/fenv/fetestexcept.cpp
+++ b/libc/src/fenv/fetestexcept.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fetestexcept, (int e)) {
   return fputil::test_except(e);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fetestexcept.h b/libc/src/fenv/fetestexcept.h
index dec1ac20cc08b..1ffbe20e2c241 100644
--- a/libc/src/fenv/fetestexcept.h
+++ b/libc/src/fenv/fetestexcept.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_FENV_FETESTEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FETESTEXCEPT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fetestexcept(int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FETESTEXCEPT_H
diff --git a/libc/src/fenv/fetestexceptflag.cpp b/libc/src/fenv/fetestexceptflag.cpp
index 63453350a199f..0fd5a374d31a6 100644
--- a/libc/src/fenv/fetestexceptflag.cpp
+++ b/libc/src/fenv/fetestexceptflag.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fetestexceptflag,
                    (const fexcept_t *flagp, int excepts)) {
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, fetestexceptflag,
   return *flagp | fputil::test_except(excepts);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/fetestexceptflag.h b/libc/src/fenv/fetestexceptflag.h
index 1c8b0b843f547..3bda5c93b294c 100644
--- a/libc/src/fenv/fetestexceptflag.h
+++ b/libc/src/fenv/fetestexceptflag.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fexcept_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fetestexceptflag(const fexcept_t *, int excepts);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FETESTEXCEPTFLAG_H
diff --git a/libc/src/fenv/feupdateenv.cpp b/libc/src/fenv/feupdateenv.cpp
index 0664863538155..9925a750c6c6b 100644
--- a/libc/src/fenv/feupdateenv.cpp
+++ b/libc/src/fenv/feupdateenv.cpp
@@ -12,7 +12,7 @@
 
 #include "hdr/types/fenv_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feupdateenv, (const fenv_t *envp)) {
   int current_excepts = fputil::test_except(FE_ALL_EXCEPT);
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, feupdateenv, (const fenv_t *envp)) {
   return fputil::raise_except(current_excepts);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/fenv/feupdateenv.h b/libc/src/fenv/feupdateenv.h
index 3c9c88b36e728..aa0789eb2171e 100644
--- a/libc/src/fenv/feupdateenv.h
+++ b/libc/src/fenv/feupdateenv.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/fenv_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feupdateenv(const fenv_t *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_FENV_FEUPDATEENV_H
diff --git a/libc/src/gpu/rpc_fprintf.cpp b/libc/src/gpu/rpc_fprintf.cpp
index 7b0e60b59baf3..4f8013c22c835 100644
--- a/libc/src/gpu/rpc_fprintf.cpp
+++ b/libc/src/gpu/rpc_fprintf.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/common.h"
 #include "src/stdio/gpu/file.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <uint16_t opcode>
 int fprintf_impl(::FILE *__restrict file, const char *__restrict format,
@@ -68,4 +68,4 @@ LLVM_LIBC_FUNCTION(int, rpc_fprintf,
                                               args, size);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/gpu/rpc_fprintf.h b/libc/src/gpu/rpc_fprintf.h
index 053f7b4f818ae..193e98a78424f 100644
--- a/libc/src/gpu/rpc_fprintf.h
+++ b/libc/src/gpu/rpc_fprintf.h
@@ -12,11 +12,11 @@
 #include <stddef.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int rpc_fprintf(::FILE *__restrict stream, const char *__restrict format,
                 void *argc, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
diff --git a/libc/src/gpu/rpc_host_call.cpp b/libc/src/gpu/rpc_host_call.cpp
index 7b9b9f2adfd53..0f35ff4b9fceb 100644
--- a/libc/src/gpu/rpc_host_call.cpp
+++ b/libc/src/gpu/rpc_host_call.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/RPC/rpc_client.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This calls the associated function pointer on the RPC server with the given
 // arguments. We expect that the pointer here is a valid pointer on the server.
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(void, rpc_host_call, (void *fn, void *data, size_t size)) {
   port.close();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/gpu/rpc_host_call.h b/libc/src/gpu/rpc_host_call.h
index 473d90ba48fd0..7689e162edfde 100644
--- a/libc/src/gpu/rpc_host_call.h
+++ b/libc/src/gpu/rpc_host_call.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void rpc_host_call(void *fn, void *buffer, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
diff --git a/libc/src/inttypes/imaxabs.cpp b/libc/src/inttypes/imaxabs.cpp
index b390676f9dde2..05ab5c92ce185 100644
--- a/libc/src/inttypes/imaxabs.cpp
+++ b/libc/src/inttypes/imaxabs.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(intmax_t, imaxabs, (intmax_t j)) { return integer_abs(j); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/inttypes/imaxabs.h b/libc/src/inttypes/imaxabs.h
index cd30011b9e57a..136947ee211d5 100644
--- a/libc/src/inttypes/imaxabs.h
+++ b/libc/src/inttypes/imaxabs.h
@@ -11,10 +11,10 @@
 
 #include <inttypes.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 intmax_t imaxabs(intmax_t j);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_INTTYPES_IMAXABS_H
diff --git a/libc/src/inttypes/imaxdiv.cpp b/libc/src/inttypes/imaxdiv.cpp
index 77f0cc58a897c..31d634f27f871 100644
--- a/libc/src/inttypes/imaxdiv.cpp
+++ b/libc/src/inttypes/imaxdiv.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(imaxdiv_t, imaxdiv, (intmax_t x, intmax_t y)) {
   imaxdiv_t res;
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(imaxdiv_t, imaxdiv, (intmax_t x, intmax_t y)) {
   return res;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/inttypes/imaxdiv.h b/libc/src/inttypes/imaxdiv.h
index 749122782347c..be5d2527f7fae 100644
--- a/libc/src/inttypes/imaxdiv.h
+++ b/libc/src/inttypes/imaxdiv.h
@@ -11,10 +11,10 @@
 
 #include <inttypes.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 imaxdiv_t imaxdiv(intmax_t x, intmax_t y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_INTTYPES_IMAXDIV_H
diff --git a/libc/src/inttypes/strtoimax.cpp b/libc/src/inttypes/strtoimax.cpp
index 459877eeff472..2c31a6d8d2245 100644
--- a/libc/src/inttypes/strtoimax.cpp
+++ b/libc/src/inttypes/strtoimax.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(intmax_t, strtoimax,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(intmax_t, strtoimax,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/inttypes/strtoimax.h b/libc/src/inttypes/strtoimax.h
index b72547f3d22f6..f6e8cd8a42bfb 100644
--- a/libc/src/inttypes/strtoimax.h
+++ b/libc/src/inttypes/strtoimax.h
@@ -11,11 +11,11 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 intmax_t strtoimax(const char *__restrict str, char **__restrict str_end,
                    int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_INTTYPES_STRTOIMAX_H
diff --git a/libc/src/inttypes/strtoumax.cpp b/libc/src/inttypes/strtoumax.cpp
index 4011a177b81fe..59809e2957bf8 100644
--- a/libc/src/inttypes/strtoumax.cpp
+++ b/libc/src/inttypes/strtoumax.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uintmax_t, strtoumax,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(uintmax_t, strtoumax,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/inttypes/strtoumax.h b/libc/src/inttypes/strtoumax.h
index d59e9932da519..f6dbde2f02590 100644
--- a/libc/src/inttypes/strtoumax.h
+++ b/libc/src/inttypes/strtoumax.h
@@ -11,11 +11,11 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uintmax_t strtoumax(const char *__restrict str, char **__restrict str_end,
                     int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_INTTYPES_STRTOUMAX_H
diff --git a/libc/src/math/aarch64/ceil.cpp b/libc/src/math/aarch64/ceil.cpp
index 81cd95078efee..40a6f3a30ad40 100644
--- a/libc/src/math/aarch64/ceil.cpp
+++ b/libc/src/math/aarch64/ceil.cpp
@@ -9,7 +9,7 @@
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ceil, (double x)) {
   double y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(double, ceil, (double x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/ceilf.cpp b/libc/src/math/aarch64/ceilf.cpp
index 3cbcc1f0e90d8..cc16ea62bd026 100644
--- a/libc/src/math/aarch64/ceilf.cpp
+++ b/libc/src/math/aarch64/ceilf.cpp
@@ -9,7 +9,7 @@
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ceilf, (float x)) {
   float y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(float, ceilf, (float x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/floor.cpp b/libc/src/math/aarch64/floor.cpp
index 0e3d13a13a95c..85098089bac23 100644
--- a/libc/src/math/aarch64/floor.cpp
+++ b/libc/src/math/aarch64/floor.cpp
@@ -9,7 +9,7 @@
 #include "src/math/floor.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, floor, (double x)) {
   double y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(double, floor, (double x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/floorf.cpp b/libc/src/math/aarch64/floorf.cpp
index 8942a9e7c576e..5d7d26034bc16 100644
--- a/libc/src/math/aarch64/floorf.cpp
+++ b/libc/src/math/aarch64/floorf.cpp
@@ -9,7 +9,7 @@
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, floorf, (float x)) {
   float y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(float, floorf, (float x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/round.cpp b/libc/src/math/aarch64/round.cpp
index 8972c16c57167..d41784f18f954 100644
--- a/libc/src/math/aarch64/round.cpp
+++ b/libc/src/math/aarch64/round.cpp
@@ -9,7 +9,7 @@
 #include "src/math/round.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, round, (double x)) {
   double y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(double, round, (double x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/roundf.cpp b/libc/src/math/aarch64/roundf.cpp
index 8b3a9cf50e601..10167368dc219 100644
--- a/libc/src/math/aarch64/roundf.cpp
+++ b/libc/src/math/aarch64/roundf.cpp
@@ -9,7 +9,7 @@
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, roundf, (float x)) {
   float y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(float, roundf, (float x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/trunc.cpp b/libc/src/math/aarch64/trunc.cpp
index 34ffd1702f5a6..af53630c7ea07 100644
--- a/libc/src/math/aarch64/trunc.cpp
+++ b/libc/src/math/aarch64/trunc.cpp
@@ -9,7 +9,7 @@
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, trunc, (double x)) {
   double y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(double, trunc, (double x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/aarch64/truncf.cpp b/libc/src/math/aarch64/truncf.cpp
index fc2426f26df24..3c07fadf3abdc 100644
--- a/libc/src/math/aarch64/truncf.cpp
+++ b/libc/src/math/aarch64/truncf.cpp
@@ -9,7 +9,7 @@
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, truncf, (float x)) {
   float y;
@@ -17,4 +17,4 @@ LLVM_LIBC_FUNCTION(float, truncf, (float x)) {
   return y;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/acos.h b/libc/src/math/acos.h
index da89a9dd3d9d4..de0f395cbaaa0 100644
--- a/libc/src/math/acos.h
+++ b/libc/src/math/acos.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOS_H
 #define LLVM_LIBC_SRC_MATH_ACOS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double acos(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ACOS_H
diff --git a/libc/src/math/acosf.h b/libc/src/math/acosf.h
index 3221efa340a9d..d768808950d56 100644
--- a/libc/src/math/acosf.h
+++ b/libc/src/math/acosf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSF_H
 #define LLVM_LIBC_SRC_MATH_ACOSF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float acosf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ACOSF_H
diff --git a/libc/src/math/acosh.h b/libc/src/math/acosh.h
index a5bbd82c120b8..e2e76204d8b17 100644
--- a/libc/src/math/acosh.h
+++ b/libc/src/math/acosh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSH_H
 #define LLVM_LIBC_SRC_MATH_ACOSH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double acosh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ACOSH_H
diff --git a/libc/src/math/acoshf.h b/libc/src/math/acoshf.h
index aac43b4ccca8d..c46245ba98d73 100644
--- a/libc/src/math/acoshf.h
+++ b/libc/src/math/acoshf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSHF_H
 #define LLVM_LIBC_SRC_MATH_ACOSHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float acoshf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ACOSHF_H
diff --git a/libc/src/math/amdgpu/acos.cpp b/libc/src/math/amdgpu/acos.cpp
index b1e30fef82ded..caac8e2b43f0a 100644
--- a/libc/src/math/amdgpu/acos.cpp
+++ b/libc/src/math/amdgpu/acos.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, acos, (double x)) { return __ocml_acos_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/acosf.cpp b/libc/src/math/amdgpu/acosf.cpp
index 4c2dd4bcf4353..1c7639defb3c3 100644
--- a/libc/src/math/amdgpu/acosf.cpp
+++ b/libc/src/math/amdgpu/acosf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, acosf, (float x)) { return __ocml_acos_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/acosh.cpp b/libc/src/math/amdgpu/acosh.cpp
index dcdeeab29454e..d11fce170a3a4 100644
--- a/libc/src/math/amdgpu/acosh.cpp
+++ b/libc/src/math/amdgpu/acosh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, acosh, (double x)) { return __ocml_acosh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/acoshf.cpp b/libc/src/math/amdgpu/acoshf.cpp
index 52baa2eaecc79..c0a70b3431ab2 100644
--- a/libc/src/math/amdgpu/acoshf.cpp
+++ b/libc/src/math/amdgpu/acoshf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, acoshf, (float x)) { return __ocml_acosh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/asin.cpp b/libc/src/math/amdgpu/asin.cpp
index 835c317112e2e..b8a95cb8e5339 100644
--- a/libc/src/math/amdgpu/asin.cpp
+++ b/libc/src/math/amdgpu/asin.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, asin, (double x)) { return __ocml_asin_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/asinf.cpp b/libc/src/math/amdgpu/asinf.cpp
index 72c45d5cf1723..92b816af70453 100644
--- a/libc/src/math/amdgpu/asinf.cpp
+++ b/libc/src/math/amdgpu/asinf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, asinf, (float x)) { return __ocml_asin_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/asinh.cpp b/libc/src/math/amdgpu/asinh.cpp
index 7a9f7ea4e9887..7d94bea66ddb5 100644
--- a/libc/src/math/amdgpu/asinh.cpp
+++ b/libc/src/math/amdgpu/asinh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, asinh, (double x)) { return __ocml_asinh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/asinhf.cpp b/libc/src/math/amdgpu/asinhf.cpp
index 28d6bde5c9184..2f583da45a2d1 100644
--- a/libc/src/math/amdgpu/asinhf.cpp
+++ b/libc/src/math/amdgpu/asinhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, asinhf, (float x)) { return __ocml_asinh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atan.cpp b/libc/src/math/amdgpu/atan.cpp
index a1fa38ba451de..99134f200b525 100644
--- a/libc/src/math/amdgpu/atan.cpp
+++ b/libc/src/math/amdgpu/atan.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atan, (double x)) { return __ocml_atan_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atan2.cpp b/libc/src/math/amdgpu/atan2.cpp
index 9cfdba75eb8d6..3ddc21ccef3cf 100644
--- a/libc/src/math/amdgpu/atan2.cpp
+++ b/libc/src/math/amdgpu/atan2.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atan2, (double x, double y)) {
   return __ocml_atan2_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atan2f.cpp b/libc/src/math/amdgpu/atan2f.cpp
index ef56293b4caf5..b78a8fc430894 100644
--- a/libc/src/math/amdgpu/atan2f.cpp
+++ b/libc/src/math/amdgpu/atan2f.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atan2f, (float x, float y)) {
   return __ocml_atan2_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atanf.cpp b/libc/src/math/amdgpu/atanf.cpp
index bbcceca3ed092..765d39b20e879 100644
--- a/libc/src/math/amdgpu/atanf.cpp
+++ b/libc/src/math/amdgpu/atanf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanf, (float x)) { return __ocml_atan_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atanh.cpp b/libc/src/math/amdgpu/atanh.cpp
index ec462586450bf..6f4edfcae8d0d 100644
--- a/libc/src/math/amdgpu/atanh.cpp
+++ b/libc/src/math/amdgpu/atanh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atanh, (double x)) { return __ocml_atanh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/atanhf.cpp b/libc/src/math/amdgpu/atanhf.cpp
index 227269369ab6b..2d6a07ab53ab6 100644
--- a/libc/src/math/amdgpu/atanhf.cpp
+++ b/libc/src/math/amdgpu/atanhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanhf, (float x)) { return __ocml_atanh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ceil.cpp b/libc/src/math/amdgpu/ceil.cpp
index ad1407d61f620..53723a69d9f42 100644
--- a/libc/src/math/amdgpu/ceil.cpp
+++ b/libc/src/math/amdgpu/ceil.cpp
@@ -9,8 +9,8 @@
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ceil, (double x)) { return __builtin_ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ceilf.cpp b/libc/src/math/amdgpu/ceilf.cpp
index c4fc58d936038..71605c3292b14 100644
--- a/libc/src/math/amdgpu/ceilf.cpp
+++ b/libc/src/math/amdgpu/ceilf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ceilf, (float x)) { return __builtin_ceilf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/copysign.cpp b/libc/src/math/amdgpu/copysign.cpp
index 6f804bdb90a1f..e135deb9ea73d 100644
--- a/libc/src/math/amdgpu/copysign.cpp
+++ b/libc/src/math/amdgpu/copysign.cpp
@@ -9,10 +9,10 @@
 #include "src/math/copysign.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, copysign, (double x, double y)) {
   return __builtin_copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/copysignf.cpp b/libc/src/math/amdgpu/copysignf.cpp
index 4d7e132462ac9..f11c20d2ff515 100644
--- a/libc/src/math/amdgpu/copysignf.cpp
+++ b/libc/src/math/amdgpu/copysignf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/copysignf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, copysignf, (float x, float y)) {
   return __builtin_copysignf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/cos.cpp b/libc/src/math/amdgpu/cos.cpp
index 68239d9337801..34561c6a3e826 100644
--- a/libc/src/math/amdgpu/cos.cpp
+++ b/libc/src/math/amdgpu/cos.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, cos, (double x)) { return __ocml_cos_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/cosf.cpp b/libc/src/math/amdgpu/cosf.cpp
index a60e9ea28907c..d50f2c873fd57 100644
--- a/libc/src/math/amdgpu/cosf.cpp
+++ b/libc/src/math/amdgpu/cosf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, cosf, (float x)) { return __ocml_cos_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/cosh.cpp b/libc/src/math/amdgpu/cosh.cpp
index b71df0c0170c3..cf1d71e49d64c 100644
--- a/libc/src/math/amdgpu/cosh.cpp
+++ b/libc/src/math/amdgpu/cosh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, cosh, (double x)) { return __ocml_cosh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/coshf.cpp b/libc/src/math/amdgpu/coshf.cpp
index 699fb0478aee8..ca5156e63729f 100644
--- a/libc/src/math/amdgpu/coshf.cpp
+++ b/libc/src/math/amdgpu/coshf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, coshf, (float x)) { return __ocml_cosh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/declarations.h b/libc/src/math/amdgpu/declarations.h
index 81d788d943f22..ea69eea014fce 100644
--- a/libc/src/math/amdgpu/declarations.h
+++ b/libc/src/math/amdgpu/declarations.h
@@ -13,7 +13,7 @@
 
 #include "src/__support/GPU/utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 float __ocml_acos_f32(float);
@@ -83,6 +83,6 @@ double __ocml_tgamma_f64(double);
 float __ocml_tgamma_f32(float);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_AMDGPU_DECLARATIONS_H
diff --git a/libc/src/math/amdgpu/erf.cpp b/libc/src/math/amdgpu/erf.cpp
index 7a464550c7e06..94b17484e44f2 100644
--- a/libc/src/math/amdgpu/erf.cpp
+++ b/libc/src/math/amdgpu/erf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, erf, (double x)) { return __ocml_erf_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/erff.cpp b/libc/src/math/amdgpu/erff.cpp
index 1f77d08585a3d..2b3835ec9b711 100644
--- a/libc/src/math/amdgpu/erff.cpp
+++ b/libc/src/math/amdgpu/erff.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, erff, (float x)) { return __ocml_erf_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/exp.cpp b/libc/src/math/amdgpu/exp.cpp
index d19c73dd02426..2048e091fdc44 100644
--- a/libc/src/math/amdgpu/exp.cpp
+++ b/libc/src/math/amdgpu/exp.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp, (double x)) { return __ocml_exp_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/exp10.cpp b/libc/src/math/amdgpu/exp10.cpp
index 17d8f3350ac24..6da498424ce15 100644
--- a/libc/src/math/amdgpu/exp10.cpp
+++ b/libc/src/math/amdgpu/exp10.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp10, (double x)) { return __ocml_exp10_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/exp10f.cpp b/libc/src/math/amdgpu/exp10f.cpp
index ddab555a8fbd3..9ef9534f0f904 100644
--- a/libc/src/math/amdgpu/exp10f.cpp
+++ b/libc/src/math/amdgpu/exp10f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp10f, (float x)) { return __ocml_exp10_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/exp2.cpp b/libc/src/math/amdgpu/exp2.cpp
index dfbb1f80d1294..7495ce3106cb1 100644
--- a/libc/src/math/amdgpu/exp2.cpp
+++ b/libc/src/math/amdgpu/exp2.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp2, (double x)) { return __ocml_exp2_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/exp2f.cpp b/libc/src/math/amdgpu/exp2f.cpp
index 016dfe3a62223..23fd2d0e7600b 100644
--- a/libc/src/math/amdgpu/exp2f.cpp
+++ b/libc/src/math/amdgpu/exp2f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp2f, (float x)) { return __ocml_exp2_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/expf.cpp b/libc/src/math/amdgpu/expf.cpp
index 33393078cfa3a..e2e1929e8b2d1 100644
--- a/libc/src/math/amdgpu/expf.cpp
+++ b/libc/src/math/amdgpu/expf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expf, (float x)) { return __ocml_exp_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/expm1.cpp b/libc/src/math/amdgpu/expm1.cpp
index d2ac28ae6a3e2..8f6853a788d1b 100644
--- a/libc/src/math/amdgpu/expm1.cpp
+++ b/libc/src/math/amdgpu/expm1.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, expm1, (double x)) { return __ocml_expm1_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/expm1f.cpp b/libc/src/math/amdgpu/expm1f.cpp
index 0ffe1a362af12..098907fcf9ee8 100644
--- a/libc/src/math/amdgpu/expm1f.cpp
+++ b/libc/src/math/amdgpu/expm1f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expm1f, (float x)) { return __ocml_expm1_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fabs.cpp b/libc/src/math/amdgpu/fabs.cpp
index c0d063d50ae53..441952e907030 100644
--- a/libc/src/math/amdgpu/fabs.cpp
+++ b/libc/src/math/amdgpu/fabs.cpp
@@ -9,8 +9,8 @@
 #include "src/math/fabs.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fabs, (double x)) { return __builtin_fabs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fabsf.cpp b/libc/src/math/amdgpu/fabsf.cpp
index 398ffd0c74c07..363a9a856d260 100644
--- a/libc/src/math/amdgpu/fabsf.cpp
+++ b/libc/src/math/amdgpu/fabsf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/fabsf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fabsf, (float x)) { return __builtin_fabsf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fdim.cpp b/libc/src/math/amdgpu/fdim.cpp
index f16942dc61934..4cbea93ca3743 100644
--- a/libc/src/math/amdgpu/fdim.cpp
+++ b/libc/src/math/amdgpu/fdim.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fdim, (double x, double y)) {
   return __ocml_fdim_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fdimf.cpp b/libc/src/math/amdgpu/fdimf.cpp
index eccb441f14556..7cb1e881a2df6 100644
--- a/libc/src/math/amdgpu/fdimf.cpp
+++ b/libc/src/math/amdgpu/fdimf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fdimf, (float x, float y)) {
   return __ocml_fdim_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/floor.cpp b/libc/src/math/amdgpu/floor.cpp
index eada89c178d75..a8baed4dcc1a2 100644
--- a/libc/src/math/amdgpu/floor.cpp
+++ b/libc/src/math/amdgpu/floor.cpp
@@ -9,8 +9,8 @@
 #include "src/math/floor.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, floor, (double x)) { return __builtin_floor(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/floorf.cpp b/libc/src/math/amdgpu/floorf.cpp
index a5611c515a88d..9b4ebe5d3b971 100644
--- a/libc/src/math/amdgpu/floorf.cpp
+++ b/libc/src/math/amdgpu/floorf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, floorf, (float x)) { return __builtin_floorf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fma.cpp b/libc/src/math/amdgpu/fma.cpp
index 41a6ddf60dbc3..11dedbbd7ce8d 100644
--- a/libc/src/math/amdgpu/fma.cpp
+++ b/libc/src/math/amdgpu/fma.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fma.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fma, (double x, double y, double z)) {
   return __builtin_fma(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmaf.cpp b/libc/src/math/amdgpu/fmaf.cpp
index c948e32f77eb9..2a1f454fd6c70 100644
--- a/libc/src/math/amdgpu/fmaf.cpp
+++ b/libc/src/math/amdgpu/fmaf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmaf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaf, (float x, float y, float z)) {
   return __builtin_fmaf(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmax.cpp b/libc/src/math/amdgpu/fmax.cpp
index 09f0f942a042a..f6239667e9b2b 100644
--- a/libc/src/math/amdgpu/fmax.cpp
+++ b/libc/src/math/amdgpu/fmax.cpp
@@ -12,10 +12,10 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/optimization.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmax, (double x, double y)) {
   return __builtin_fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmaxf.cpp b/libc/src/math/amdgpu/fmaxf.cpp
index 5913a85df6370..08877a5124cb6 100644
--- a/libc/src/math/amdgpu/fmaxf.cpp
+++ b/libc/src/math/amdgpu/fmaxf.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaxf, (float x, float y)) {
   return __builtin_fmaxf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmin.cpp b/libc/src/math/amdgpu/fmin.cpp
index 0d6f3521dcb70..94a0a3e9a720c 100644
--- a/libc/src/math/amdgpu/fmin.cpp
+++ b/libc/src/math/amdgpu/fmin.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmin, (double x, double y)) {
   return __builtin_fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fminf.cpp b/libc/src/math/amdgpu/fminf.cpp
index 42744abfb3b02..8317944f96eed 100644
--- a/libc/src/math/amdgpu/fminf.cpp
+++ b/libc/src/math/amdgpu/fminf.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminf, (float x, float y)) {
   return __builtin_fminf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmod.cpp b/libc/src/math/amdgpu/fmod.cpp
index 0654cdd2abe08..7edc9fdc9a62d 100644
--- a/libc/src/math/amdgpu/fmod.cpp
+++ b/libc/src/math/amdgpu/fmod.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmod, (double x, double y)) {
   return __builtin_fmod(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/fmodf.cpp b/libc/src/math/amdgpu/fmodf.cpp
index b689046468fbe..0eeb34e0c97cc 100644
--- a/libc/src/math/amdgpu/fmodf.cpp
+++ b/libc/src/math/amdgpu/fmodf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmodf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmodf, (float x, float y)) {
   return __builtin_fmodf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/frexp.cpp b/libc/src/math/amdgpu/frexp.cpp
index 0acf97342fa08..c5ba7e2558714 100644
--- a/libc/src/math/amdgpu/frexp.cpp
+++ b/libc/src/math/amdgpu/frexp.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, frexp, (double x, int *p)) {
   return __builtin_frexp(x, p);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/frexpf.cpp b/libc/src/math/amdgpu/frexpf.cpp
index d870bf3095b25..534aa2d597c72 100644
--- a/libc/src/math/amdgpu/frexpf.cpp
+++ b/libc/src/math/amdgpu/frexpf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, frexpf, (float x, int *p)) {
   return __builtin_frexpf(x, p);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/hypot.cpp b/libc/src/math/amdgpu/hypot.cpp
index ffc13504c8f41..e4aa71de5f85e 100644
--- a/libc/src/math/amdgpu/hypot.cpp
+++ b/libc/src/math/amdgpu/hypot.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, hypot, (double x, double y)) {
   return __ocml_hypot_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/hypotf.cpp b/libc/src/math/amdgpu/hypotf.cpp
index 811fc540488d3..711d978e60c46 100644
--- a/libc/src/math/amdgpu/hypotf.cpp
+++ b/libc/src/math/amdgpu/hypotf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, hypotf, (float x, float y)) {
   return __ocml_hypot_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ilogb.cpp b/libc/src/math/amdgpu/ilogb.cpp
index 4479908d38564..bf5418ddb7218 100644
--- a/libc/src/math/amdgpu/ilogb.cpp
+++ b/libc/src/math/amdgpu/ilogb.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogb, (double x)) { return __ocml_ilogb_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ilogbf.cpp b/libc/src/math/amdgpu/ilogbf.cpp
index cded285c72f38..78f0d546bca29 100644
--- a/libc/src/math/amdgpu/ilogbf.cpp
+++ b/libc/src/math/amdgpu/ilogbf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbf, (float x)) { return __ocml_ilogb_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ldexp.cpp b/libc/src/math/amdgpu/ldexp.cpp
index 70c5b0d6e555f..cb79caa0931ca 100644
--- a/libc/src/math/amdgpu/ldexp.cpp
+++ b/libc/src/math/amdgpu/ldexp.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ldexp, (double x, int y)) {
   return __builtin_ldexp(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/ldexpf.cpp b/libc/src/math/amdgpu/ldexpf.cpp
index 8dc7c132ee213..98f1abc7b6382 100644
--- a/libc/src/math/amdgpu/ldexpf.cpp
+++ b/libc/src/math/amdgpu/ldexpf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ldexpf, (float x, int y)) {
   return __builtin_ldexpf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/llrint.cpp b/libc/src/math/amdgpu/llrint.cpp
index 307420a9b8b26..dc00ebe3604e2 100644
--- a/libc/src/math/amdgpu/llrint.cpp
+++ b/libc/src/math/amdgpu/llrint.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrint, (double x)) {
   return static_cast<long long>(__builtin_rint(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/llrintf.cpp b/libc/src/math/amdgpu/llrintf.cpp
index 23404990fb1bd..ed5607286c8f3 100644
--- a/libc/src/math/amdgpu/llrintf.cpp
+++ b/libc/src/math/amdgpu/llrintf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintf, (float x)) {
   return static_cast<long long>(__builtin_rintf(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log.cpp b/libc/src/math/amdgpu/log.cpp
index 3f2489580356f..913b040d70b48 100644
--- a/libc/src/math/amdgpu/log.cpp
+++ b/libc/src/math/amdgpu/log.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log, (double x)) { return __ocml_log_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log10.cpp b/libc/src/math/amdgpu/log10.cpp
index d522d5e84291d..a11952c98826f 100644
--- a/libc/src/math/amdgpu/log10.cpp
+++ b/libc/src/math/amdgpu/log10.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log10, (double x)) { return __ocml_log10_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log10f.cpp b/libc/src/math/amdgpu/log10f.cpp
index 47b9b162ad9db..549c04cbe5bb0 100644
--- a/libc/src/math/amdgpu/log10f.cpp
+++ b/libc/src/math/amdgpu/log10f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log10f, (float x)) { return __ocml_log10_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log1p.cpp b/libc/src/math/amdgpu/log1p.cpp
index fae60e4485861..d53afb002f988 100644
--- a/libc/src/math/amdgpu/log1p.cpp
+++ b/libc/src/math/amdgpu/log1p.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log1p, (double x)) { return __ocml_log1p_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log1pf.cpp b/libc/src/math/amdgpu/log1pf.cpp
index e7b1772158fcd..101c297408beb 100644
--- a/libc/src/math/amdgpu/log1pf.cpp
+++ b/libc/src/math/amdgpu/log1pf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log1pf, (float x)) { return __ocml_log1p_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log2.cpp b/libc/src/math/amdgpu/log2.cpp
index 9d84f62dff6fc..bcd64694fdaf8 100644
--- a/libc/src/math/amdgpu/log2.cpp
+++ b/libc/src/math/amdgpu/log2.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log2, (double x)) { return __ocml_log2_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/log2f.cpp b/libc/src/math/amdgpu/log2f.cpp
index 7742a6141c37d..13f15e01d9a80 100644
--- a/libc/src/math/amdgpu/log2f.cpp
+++ b/libc/src/math/amdgpu/log2f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log2f, (float x)) { return __ocml_log2_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/logb.cpp b/libc/src/math/amdgpu/logb.cpp
index 1344fbb182af6..fd8629598c1e1 100644
--- a/libc/src/math/amdgpu/logb.cpp
+++ b/libc/src/math/amdgpu/logb.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, logb, (double x)) { return __ocml_logb_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/logbf.cpp b/libc/src/math/amdgpu/logbf.cpp
index fdb493fe28daf..0e132aacfaf6d 100644
--- a/libc/src/math/amdgpu/logbf.cpp
+++ b/libc/src/math/amdgpu/logbf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logbf, (float x)) { return __ocml_logb_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/logf.cpp b/libc/src/math/amdgpu/logf.cpp
index d4d4b265ee5cd..0a700b46e8d21 100644
--- a/libc/src/math/amdgpu/logf.cpp
+++ b/libc/src/math/amdgpu/logf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logf, (float x)) { return __ocml_log_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/lrint.cpp b/libc/src/math/amdgpu/lrint.cpp
index b335b4f06393c..245b1566b0c89 100644
--- a/libc/src/math/amdgpu/lrint.cpp
+++ b/libc/src/math/amdgpu/lrint.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrint, (double x)) {
   return static_cast<long>(__builtin_rint(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/lrintf.cpp b/libc/src/math/amdgpu/lrintf.cpp
index 7959e76728a43..d08c2df50411b 100644
--- a/libc/src/math/amdgpu/lrintf.cpp
+++ b/libc/src/math/amdgpu/lrintf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintf, (float x)) {
   return static_cast<long>(__builtin_rintf(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/nearbyint.cpp b/libc/src/math/amdgpu/nearbyint.cpp
index 9c7b600df7082..dce283707f615 100644
--- a/libc/src/math/amdgpu/nearbyint.cpp
+++ b/libc/src/math/amdgpu/nearbyint.cpp
@@ -9,10 +9,10 @@
 #include "src/math/nearbyint.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nearbyint, (double x)) {
   return __builtin_nearbyint(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/nearbyintf.cpp b/libc/src/math/amdgpu/nearbyintf.cpp
index 7fbe9f4f0e0be..b94b63f2ecd3d 100644
--- a/libc/src/math/amdgpu/nearbyintf.cpp
+++ b/libc/src/math/amdgpu/nearbyintf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/nearbyintf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nearbyintf, (float x)) {
   return __builtin_nearbyintf(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/nextafter.cpp b/libc/src/math/amdgpu/nextafter.cpp
index 5c74ef165268b..020649c59d233 100644
--- a/libc/src/math/amdgpu/nextafter.cpp
+++ b/libc/src/math/amdgpu/nextafter.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nextafter, (double x, double y)) {
   return __ocml_nextafter_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/nextafterf.cpp b/libc/src/math/amdgpu/nextafterf.cpp
index a97b990a61fcd..1f93a1be0f4ad 100644
--- a/libc/src/math/amdgpu/nextafterf.cpp
+++ b/libc/src/math/amdgpu/nextafterf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nextafterf, (float x, float y)) {
   return __ocml_nextafter_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/platform.h b/libc/src/math/amdgpu/platform.h
index 29d6cac1fa492..963cba1baeb26 100644
--- a/libc/src/math/amdgpu/platform.h
+++ b/libc/src/math/amdgpu/platform.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The ROCm device library uses control globals to alter codegen for the
 // different targets. To avoid needing to link them in manually we simply
@@ -49,6 +49,6 @@ extern const LIBC_INLINE_VAR uint32_t __oclc_ISA_version = 9000;
 [[gnu::alias("__oclc_finite_only_opt")]] const uint8_t __oclc_finite_only_opt__;
 [[gnu::alias("__oclc_ISA_version")]] const uint32_t __oclc_ISA_version__;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_AMDGPU_PLATFORM_H
diff --git a/libc/src/math/amdgpu/pow.cpp b/libc/src/math/amdgpu/pow.cpp
index e5056f67292d5..4814159a806cc 100644
--- a/libc/src/math/amdgpu/pow.cpp
+++ b/libc/src/math/amdgpu/pow.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, pow, (double x, double y)) {
   return __ocml_pow_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/powf.cpp b/libc/src/math/amdgpu/powf.cpp
index 6114bcc642e11..a1becff030246 100644
--- a/libc/src/math/amdgpu/powf.cpp
+++ b/libc/src/math/amdgpu/powf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, powf, (float x, float y)) {
   return __ocml_pow_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/powi.cpp b/libc/src/math/amdgpu/powi.cpp
index b13cb52aaaf6a..441a5646f275b 100644
--- a/libc/src/math/amdgpu/powi.cpp
+++ b/libc/src/math/amdgpu/powi.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, powi, (double x, int y)) {
   return __ocml_pown_f64(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/powif.cpp b/libc/src/math/amdgpu/powif.cpp
index 7682f0e1a27a6..dd70287cd7046 100644
--- a/libc/src/math/amdgpu/powif.cpp
+++ b/libc/src/math/amdgpu/powif.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, powif, (float x, int y)) {
   return __ocml_pown_f32(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/remainder.cpp b/libc/src/math/amdgpu/remainder.cpp
index 89b235f9c22af..8bcbde32caed6 100644
--- a/libc/src/math/amdgpu/remainder.cpp
+++ b/libc/src/math/amdgpu/remainder.cpp
@@ -9,10 +9,10 @@
 #include "src/math/remainder.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remainder, (double x, double y)) {
   return __builtin_remainder(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/remainderf.cpp b/libc/src/math/amdgpu/remainderf.cpp
index 9fee6f856dc8b..4258f9c9b8b22 100644
--- a/libc/src/math/amdgpu/remainderf.cpp
+++ b/libc/src/math/amdgpu/remainderf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/remainderf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remainderf, (float x, float y)) {
   return __builtin_remainderf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/remquo.cpp b/libc/src/math/amdgpu/remquo.cpp
index d8074a9626ecb..a6287d5660125 100644
--- a/libc/src/math/amdgpu/remquo.cpp
+++ b/libc/src/math/amdgpu/remquo.cpp
@@ -11,7 +11,7 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remquo, (double x, double y, int *quo)) {
   int tmp;
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(double, remquo, (double x, double y, int *quo)) {
   return r;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/remquof.cpp b/libc/src/math/amdgpu/remquof.cpp
index b6584dfb97c3b..19232420fa78c 100644
--- a/libc/src/math/amdgpu/remquof.cpp
+++ b/libc/src/math/amdgpu/remquof.cpp
@@ -11,7 +11,7 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remquof, (float x, float y, int *quo)) {
   int tmp;
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(float, remquof, (float x, float y, int *quo)) {
   return r;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/rint.cpp b/libc/src/math/amdgpu/rint.cpp
index 44d494a8ed57a..df2c5630c46c5 100644
--- a/libc/src/math/amdgpu/rint.cpp
+++ b/libc/src/math/amdgpu/rint.cpp
@@ -9,8 +9,8 @@
 #include "src/math/rint.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, rint, (double x)) { return __builtin_rint(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/rintf.cpp b/libc/src/math/amdgpu/rintf.cpp
index daf98d9436051..164e9b30fd31e 100644
--- a/libc/src/math/amdgpu/rintf.cpp
+++ b/libc/src/math/amdgpu/rintf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/rintf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, rintf, (float x)) { return __builtin_rintf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/round.cpp b/libc/src/math/amdgpu/round.cpp
index 9d8b5582f0407..ef33298fe6b74 100644
--- a/libc/src/math/amdgpu/round.cpp
+++ b/libc/src/math/amdgpu/round.cpp
@@ -9,8 +9,8 @@
 #include "src/math/round.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, round, (double x)) { return __builtin_round(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/roundf.cpp b/libc/src/math/amdgpu/roundf.cpp
index 8743e4eb7fb8d..6cca130af56b9 100644
--- a/libc/src/math/amdgpu/roundf.cpp
+++ b/libc/src/math/amdgpu/roundf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, roundf, (float x)) { return __builtin_roundf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/scalbn.cpp b/libc/src/math/amdgpu/scalbn.cpp
index c2a43e03a7bcd..6b9d97017878e 100644
--- a/libc/src/math/amdgpu/scalbn.cpp
+++ b/libc/src/math/amdgpu/scalbn.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, scalbn, (double x, int y)) {
   return __builtin_amdgcn_ldexp(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/scalbnf.cpp b/libc/src/math/amdgpu/scalbnf.cpp
index 63de26ccbc470..3c79c097b1629 100644
--- a/libc/src/math/amdgpu/scalbnf.cpp
+++ b/libc/src/math/amdgpu/scalbnf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, scalbnf, (float x, int y)) {
   return __builtin_amdgcn_ldexpf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sin.cpp b/libc/src/math/amdgpu/sin.cpp
index dbc29a725db07..1c1150d66692a 100644
--- a/libc/src/math/amdgpu/sin.cpp
+++ b/libc/src/math/amdgpu/sin.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sin, (double x)) { return __ocml_sin_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sincos.cpp b/libc/src/math/amdgpu/sincos.cpp
index 7cdd0d1f97690..eac7d76fe87ee 100644
--- a/libc/src/math/amdgpu/sincos.cpp
+++ b/libc/src/math/amdgpu/sincos.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, sincos, (double x, double *sinptr, double *cosptr)) {
   *sinptr = __ocml_sincos_f64(x, cosptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sincosf.cpp b/libc/src/math/amdgpu/sincosf.cpp
index 37a5e2a6d11c2..7cce9b7b93aaf 100644
--- a/libc/src/math/amdgpu/sincosf.cpp
+++ b/libc/src/math/amdgpu/sincosf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, sincosf, (float x, float *sinptr, float *cosptr)) {
   *sinptr = __ocml_sincos_f32(x, cosptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sinf.cpp b/libc/src/math/amdgpu/sinf.cpp
index cda2c626f8ac6..267c30ab08c56 100644
--- a/libc/src/math/amdgpu/sinf.cpp
+++ b/libc/src/math/amdgpu/sinf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinf, (float x)) { return __ocml_sin_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sinh.cpp b/libc/src/math/amdgpu/sinh.cpp
index 66cacd19e4632..e261d65b7e4a4 100644
--- a/libc/src/math/amdgpu/sinh.cpp
+++ b/libc/src/math/amdgpu/sinh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sinh, (double x)) { return __ocml_sinh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sinhf.cpp b/libc/src/math/amdgpu/sinhf.cpp
index 5d3f5ea6b36ae..20735816f18d5 100644
--- a/libc/src/math/amdgpu/sinhf.cpp
+++ b/libc/src/math/amdgpu/sinhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinhf, (float x)) { return __ocml_sinh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sqrt.cpp b/libc/src/math/amdgpu/sqrt.cpp
index 60ca5af4987b6..f49e53a3f6cbf 100644
--- a/libc/src/math/amdgpu/sqrt.cpp
+++ b/libc/src/math/amdgpu/sqrt.cpp
@@ -9,8 +9,8 @@
 #include "src/math/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sqrt, (double x)) { return __builtin_sqrt(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/sqrtf.cpp b/libc/src/math/amdgpu/sqrtf.cpp
index e17f942a4d5fc..9ee8707ea4416 100644
--- a/libc/src/math/amdgpu/sqrtf.cpp
+++ b/libc/src/math/amdgpu/sqrtf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/sqrtf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sqrtf, (float x)) { return __builtin_sqrtf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tan.cpp b/libc/src/math/amdgpu/tan.cpp
index 6121a9319a2ab..2fcf441b65333 100644
--- a/libc/src/math/amdgpu/tan.cpp
+++ b/libc/src/math/amdgpu/tan.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tan, (double x)) { return __ocml_tan_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tanf.cpp b/libc/src/math/amdgpu/tanf.cpp
index fdd83ee7aeb94..19de8cf774d2d 100644
--- a/libc/src/math/amdgpu/tanf.cpp
+++ b/libc/src/math/amdgpu/tanf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tanf, (float x)) { return __ocml_tan_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tanh.cpp b/libc/src/math/amdgpu/tanh.cpp
index 25a9c2954bf39..4f07a2fd2e84f 100644
--- a/libc/src/math/amdgpu/tanh.cpp
+++ b/libc/src/math/amdgpu/tanh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tanh, (double x)) { return __ocml_tanh_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tanhf.cpp b/libc/src/math/amdgpu/tanhf.cpp
index a4bfd2095eb35..f1cbba1e3801a 100644
--- a/libc/src/math/amdgpu/tanhf.cpp
+++ b/libc/src/math/amdgpu/tanhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tanhf, (float x)) { return __ocml_tanh_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tgamma.cpp b/libc/src/math/amdgpu/tgamma.cpp
index 10f58d566f88a..b3ff381d50f67 100644
--- a/libc/src/math/amdgpu/tgamma.cpp
+++ b/libc/src/math/amdgpu/tgamma.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tgamma, (double x)) { return __ocml_tgamma_f64(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/tgammaf.cpp b/libc/src/math/amdgpu/tgammaf.cpp
index e7d22059a7c41..2b05202151a0a 100644
--- a/libc/src/math/amdgpu/tgammaf.cpp
+++ b/libc/src/math/amdgpu/tgammaf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tgammaf, (float x)) { return __ocml_tgamma_f32(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/trunc.cpp b/libc/src/math/amdgpu/trunc.cpp
index 773600f0f2501..821002e9aade0 100644
--- a/libc/src/math/amdgpu/trunc.cpp
+++ b/libc/src/math/amdgpu/trunc.cpp
@@ -9,8 +9,8 @@
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, trunc, (double x)) { return __builtin_trunc(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/amdgpu/truncf.cpp b/libc/src/math/amdgpu/truncf.cpp
index 534797a3e5860..eee4050fd6d5f 100644
--- a/libc/src/math/amdgpu/truncf.cpp
+++ b/libc/src/math/amdgpu/truncf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, truncf, (float x)) { return __builtin_truncf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/asin.h b/libc/src/math/asin.h
index e443776e507d9..7aca3690f1929 100644
--- a/libc/src/math/asin.h
+++ b/libc/src/math/asin.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASIN_H
 #define LLVM_LIBC_SRC_MATH_ASIN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double asin(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ASIN_H
diff --git a/libc/src/math/asinf.h b/libc/src/math/asinf.h
index 227f10b0a5072..87a106b32fda9 100644
--- a/libc/src/math/asinf.h
+++ b/libc/src/math/asinf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINF_H
 #define LLVM_LIBC_SRC_MATH_ASINF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float asinf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ASINF_H
diff --git a/libc/src/math/asinh.h b/libc/src/math/asinh.h
index 418bf96179841..aeb5e61ceff3e 100644
--- a/libc/src/math/asinh.h
+++ b/libc/src/math/asinh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINH_H
 #define LLVM_LIBC_SRC_MATH_ASINH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double asinh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ASINH_H
diff --git a/libc/src/math/asinhf.h b/libc/src/math/asinhf.h
index 32a697cbfad09..c31f195c84336 100644
--- a/libc/src/math/asinhf.h
+++ b/libc/src/math/asinhf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINHF_H
 #define LLVM_LIBC_SRC_MATH_ASINHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float asinhf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ASINHF_H
diff --git a/libc/src/math/atan.h b/libc/src/math/atan.h
index bcbc97a52ee6d..976718fa3f2a0 100644
--- a/libc/src/math/atan.h
+++ b/libc/src/math/atan.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN_H
 #define LLVM_LIBC_SRC_MATH_ATAN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double atan(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATAN_H
diff --git a/libc/src/math/atan2.h b/libc/src/math/atan2.h
index 024bbfb5fe9cb..f94d716184f16 100644
--- a/libc/src/math/atan2.h
+++ b/libc/src/math/atan2.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN2_H
 #define LLVM_LIBC_SRC_MATH_ATAN2_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double atan2(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATAN2_H
diff --git a/libc/src/math/atan2f.h b/libc/src/math/atan2f.h
index 25d2de09342fa..29daf1c8c0f60 100644
--- a/libc/src/math/atan2f.h
+++ b/libc/src/math/atan2f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN2F_H
 #define LLVM_LIBC_SRC_MATH_ATAN2F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float atan2f(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATAN2F_H
diff --git a/libc/src/math/atanf.h b/libc/src/math/atanf.h
index bb4c5a8bd963c..79b3afdfe78da 100644
--- a/libc/src/math/atanf.h
+++ b/libc/src/math/atanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANF_H
 #define LLVM_LIBC_SRC_MATH_ATANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float atanf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATANF_H
diff --git a/libc/src/math/atanh.h b/libc/src/math/atanh.h
index dc84d07c02a0a..775b4279fb09d 100644
--- a/libc/src/math/atanh.h
+++ b/libc/src/math/atanh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANH_H
 #define LLVM_LIBC_SRC_MATH_ATANH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double atanh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATANH_H
diff --git a/libc/src/math/atanhf.h b/libc/src/math/atanhf.h
index 589ffd022366a..a9c170ec912b8 100644
--- a/libc/src/math/atanhf.h
+++ b/libc/src/math/atanhf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANHF_H
 #define LLVM_LIBC_SRC_MATH_ATANHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float atanhf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ATANHF_H
diff --git a/libc/src/math/canonicalize.h b/libc/src/math/canonicalize.h
index b7b5959fb667c..ece199597f0a9 100644
--- a/libc/src/math/canonicalize.h
+++ b/libc/src/math/canonicalize.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZE_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int canonicalize(double *cx, const double *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CANONICALIZE_H
diff --git a/libc/src/math/canonicalizef.h b/libc/src/math/canonicalizef.h
index 556607f133496..a79d0845d48aa 100644
--- a/libc/src/math/canonicalizef.h
+++ b/libc/src/math/canonicalizef.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEF_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizef(float *cx, const float *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CANONICALIZEF_H
diff --git a/libc/src/math/canonicalizef128.h b/libc/src/math/canonicalizef128.h
index 6db8009475376..917a701c3ff33 100644
--- a/libc/src/math/canonicalizef128.h
+++ b/libc/src/math/canonicalizef128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizef128(float128 *cx, const float128 *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CANONICALIZEF128_H
diff --git a/libc/src/math/canonicalizef16.h b/libc/src/math/canonicalizef16.h
index 102af01c0c2ba..a0ccd6da932a6 100644
--- a/libc/src/math/canonicalizef16.h
+++ b/libc/src/math/canonicalizef16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizef16(float16 *cx, const float16 *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CANONICALIZEF16_H
diff --git a/libc/src/math/canonicalizel.h b/libc/src/math/canonicalizel.h
index 1cab29e8e8b1c..1e124235f8a56 100644
--- a/libc/src/math/canonicalizel.h
+++ b/libc/src/math/canonicalizel.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEL_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizel(long double *cx, const long double *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CANONICALIZEL_H
diff --git a/libc/src/math/cbrtf.h b/libc/src/math/cbrtf.h
index 74744594f2986..71aa11117c0ae 100644
--- a/libc/src/math/cbrtf.h
+++ b/libc/src/math/cbrtf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CBRTF_H
 #define LLVM_LIBC_SRC_MATH_CBRTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float cbrtf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CBRTF_H
diff --git a/libc/src/math/ceil.h b/libc/src/math/ceil.h
index c424deec34ca8..95cb201134f0f 100644
--- a/libc/src/math/ceil.h
+++ b/libc/src/math/ceil.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEIL_H
 #define LLVM_LIBC_SRC_MATH_CEIL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double ceil(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CEIL_H
diff --git a/libc/src/math/ceilf.h b/libc/src/math/ceilf.h
index 0fa3aa8bc048e..894b67182d64d 100644
--- a/libc/src/math/ceilf.h
+++ b/libc/src/math/ceilf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILF_H
 #define LLVM_LIBC_SRC_MATH_CEILF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float ceilf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CEILF_H
diff --git a/libc/src/math/ceilf128.h b/libc/src/math/ceilf128.h
index b0c4020718b29..f611ffce8dd8f 100644
--- a/libc/src/math/ceilf128.h
+++ b/libc/src/math/ceilf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 ceilf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CEILF128_H
diff --git a/libc/src/math/ceilf16.h b/libc/src/math/ceilf16.h
index 36a6bd219d5b5..aaf9e87b4cc62 100644
--- a/libc/src/math/ceilf16.h
+++ b/libc/src/math/ceilf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 ceilf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CEILF16_H
diff --git a/libc/src/math/ceill.h b/libc/src/math/ceill.h
index fbe6563d21923..ed3b3714e4868 100644
--- a/libc/src/math/ceill.h
+++ b/libc/src/math/ceill.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILL_H
 #define LLVM_LIBC_SRC_MATH_CEILL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double ceill(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_CEILL_H
diff --git a/libc/src/math/copysign.h b/libc/src/math/copysign.h
index 004240f412bf1..82e1a780b1de0 100644
--- a/libc/src/math/copysign.h
+++ b/libc/src/math/copysign.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGN_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double copysign(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COPYSIGN_H
diff --git a/libc/src/math/copysignf.h b/libc/src/math/copysignf.h
index 503e7cbfeda6e..7c5f1d5bfd85a 100644
--- a/libc/src/math/copysignf.h
+++ b/libc/src/math/copysignf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNF_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float copysignf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COPYSIGNF_H
diff --git a/libc/src/math/copysignf128.h b/libc/src/math/copysignf128.h
index 06c194985d720..c529b0ba98aca 100644
--- a/libc/src/math/copysignf128.h
+++ b/libc/src/math/copysignf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 copysignf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COPYSIGNF128_H
diff --git a/libc/src/math/copysignf16.h b/libc/src/math/copysignf16.h
index 3ddde9fafaa70..69f249bb9b1c8 100644
--- a/libc/src/math/copysignf16.h
+++ b/libc/src/math/copysignf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 copysignf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COPYSIGNF16_H
diff --git a/libc/src/math/copysignl.h b/libc/src/math/copysignl.h
index 8b8b37bd85d95..c29f4c6e81cdc 100644
--- a/libc/src/math/copysignl.h
+++ b/libc/src/math/copysignl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNL_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double copysignl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COPYSIGNL_H
diff --git a/libc/src/math/cos.h b/libc/src/math/cos.h
index aa97ccf66e6c7..612692b60f4de 100644
--- a/libc/src/math/cos.h
+++ b/libc/src/math/cos.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COS_H
 #define LLVM_LIBC_SRC_MATH_COS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double cos(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COS_H
diff --git a/libc/src/math/cosf.h b/libc/src/math/cosf.h
index 158f311910812..236c9bfdfe42b 100644
--- a/libc/src/math/cosf.h
+++ b/libc/src/math/cosf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSF_H
 #define LLVM_LIBC_SRC_MATH_COSF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float cosf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COSF_H
diff --git a/libc/src/math/cosh.h b/libc/src/math/cosh.h
index f0c8b6bced454..5f0e91ae9862a 100644
--- a/libc/src/math/cosh.h
+++ b/libc/src/math/cosh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSH_H
 #define LLVM_LIBC_SRC_MATH_COSH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double cosh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COSH_H
diff --git a/libc/src/math/coshf.h b/libc/src/math/coshf.h
index c470a8c943b50..478cb9c5fb15f 100644
--- a/libc/src/math/coshf.h
+++ b/libc/src/math/coshf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSHF_H
 #define LLVM_LIBC_SRC_MATH_COSHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float coshf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COSHF_H
diff --git a/libc/src/math/cospif.h b/libc/src/math/cospif.h
index 50935bc33e59d..4bafc3a148129 100644
--- a/libc/src/math/cospif.h
+++ b/libc/src/math/cospif.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSPIF_H
 #define LLVM_LIBC_SRC_MATH_COSPIF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float cospif(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_COSPIF_H
diff --git a/libc/src/math/erf.h b/libc/src/math/erf.h
index a38c92410de13..c5d3b52b49084 100644
--- a/libc/src/math/erf.h
+++ b/libc/src/math/erf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ERF_H
 #define LLVM_LIBC_SRC_MATH_ERF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double erf(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ERF_H
diff --git a/libc/src/math/erff.h b/libc/src/math/erff.h
index f6c56c7dddab6..ca2856dcbe5a4 100644
--- a/libc/src/math/erff.h
+++ b/libc/src/math/erff.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ERFF_H
 #define LLVM_LIBC_SRC_MATH_ERFF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float erff(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ERFF_H
diff --git a/libc/src/math/exp.h b/libc/src/math/exp.h
index 6d60a3bc4802f..58488add88ca3 100644
--- a/libc/src/math/exp.h
+++ b/libc/src/math/exp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP_H
 #define LLVM_LIBC_SRC_MATH_EXP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double exp(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP_H
diff --git a/libc/src/math/exp10.h b/libc/src/math/exp10.h
index 081b419275a33..1bf7c0ce8381e 100644
--- a/libc/src/math/exp10.h
+++ b/libc/src/math/exp10.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP10_H
 #define LLVM_LIBC_SRC_MATH_EXP10_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double exp10(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP10_H
diff --git a/libc/src/math/exp10f.h b/libc/src/math/exp10f.h
index 4df5c461c1f56..b2bccef13cfbc 100644
--- a/libc/src/math/exp10f.h
+++ b/libc/src/math/exp10f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP10F_H
 #define LLVM_LIBC_SRC_MATH_EXP10F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float exp10f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP10F_H
diff --git a/libc/src/math/exp2.h b/libc/src/math/exp2.h
index 2feccf6128e76..234c554404fa3 100644
--- a/libc/src/math/exp2.h
+++ b/libc/src/math/exp2.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2_H
 #define LLVM_LIBC_SRC_MATH_EXP2_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double exp2(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP2_H
diff --git a/libc/src/math/exp2f.h b/libc/src/math/exp2f.h
index 13af54c02468f..f9b9903f3eea4 100644
--- a/libc/src/math/exp2f.h
+++ b/libc/src/math/exp2f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2F_H
 #define LLVM_LIBC_SRC_MATH_EXP2F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float exp2f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP2F_H
diff --git a/libc/src/math/exp2m1f.h b/libc/src/math/exp2m1f.h
index 0eaf6b00e958c..3ee05f81178a8 100644
--- a/libc/src/math/exp2m1f.h
+++ b/libc/src/math/exp2m1f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2M1F_H
 #define LLVM_LIBC_SRC_MATH_EXP2M1F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float exp2m1f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXP2M1F_H
diff --git a/libc/src/math/expf.h b/libc/src/math/expf.h
index 38837cba41d53..4c4693978ea8c 100644
--- a/libc/src/math/expf.h
+++ b/libc/src/math/expf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPF_H
 #define LLVM_LIBC_SRC_MATH_EXPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float expf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXPF_H
diff --git a/libc/src/math/expm1.h b/libc/src/math/expm1.h
index 52409290a5ccf..963a88fc128d4 100644
--- a/libc/src/math/expm1.h
+++ b/libc/src/math/expm1.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPM1_H
 #define LLVM_LIBC_SRC_MATH_EXPM1_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double expm1(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXPM1_H
diff --git a/libc/src/math/expm1f.h b/libc/src/math/expm1f.h
index 359cbeec72f6c..8a317bd74288e 100644
--- a/libc/src/math/expm1f.h
+++ b/libc/src/math/expm1f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPM1F_H
 #define LLVM_LIBC_SRC_MATH_EXPM1F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float expm1f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_EXPM1F_H
diff --git a/libc/src/math/f16add.h b/libc/src/math/f16add.h
index 763a0787d860d..c43a94ea124c9 100644
--- a/libc/src/math/f16add.h
+++ b/libc/src/math/f16add.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16add(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16ADD_H
diff --git a/libc/src/math/f16addf.h b/libc/src/math/f16addf.h
index 31d0e786584e6..b792459f728e1 100644
--- a/libc/src/math/f16addf.h
+++ b/libc/src/math/f16addf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16addf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16ADDF_H
diff --git a/libc/src/math/f16addf128.h b/libc/src/math/f16addf128.h
index 284ce1d303775..bd33aa94f3af9 100644
--- a/libc/src/math/f16addf128.h
+++ b/libc/src/math/f16addf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16addf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16ADDF128_H
diff --git a/libc/src/math/f16addl.h b/libc/src/math/f16addl.h
index 6a7267a10d0c6..4dc24e6cf31c7 100644
--- a/libc/src/math/f16addl.h
+++ b/libc/src/math/f16addl.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16addl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16ADDL_H
diff --git a/libc/src/math/f16div.h b/libc/src/math/f16div.h
index 3807bc02276c9..f0acaefd86a88 100644
--- a/libc/src/math/f16div.h
+++ b/libc/src/math/f16div.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16div(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16DIV_H
diff --git a/libc/src/math/f16divf.h b/libc/src/math/f16divf.h
index a3359d9e47944..8553cd0e6502f 100644
--- a/libc/src/math/f16divf.h
+++ b/libc/src/math/f16divf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16divf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16DIVF_H
diff --git a/libc/src/math/f16divf128.h b/libc/src/math/f16divf128.h
index 2f63535ca27ce..1db4126e9c9bd 100644
--- a/libc/src/math/f16divf128.h
+++ b/libc/src/math/f16divf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16divf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16DIVF128_H
diff --git a/libc/src/math/f16divl.h b/libc/src/math/f16divl.h
index ad9999135b588..260abe2310157 100644
--- a/libc/src/math/f16divl.h
+++ b/libc/src/math/f16divl.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16divl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16DIVL_H
diff --git a/libc/src/math/f16fma.h b/libc/src/math/f16fma.h
index d9505f88f37af..0bbbbeee93c66 100644
--- a/libc/src/math/f16fma.h
+++ b/libc/src/math/f16fma.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16fma(double x, double y, double z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16FMA_H
diff --git a/libc/src/math/f16fmaf.h b/libc/src/math/f16fmaf.h
index d92cb43c292eb..a3450b0611376 100644
--- a/libc/src/math/f16fmaf.h
+++ b/libc/src/math/f16fmaf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16fmaf(float x, float y, float z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16FMAF_H
diff --git a/libc/src/math/f16fmaf128.h b/libc/src/math/f16fmaf128.h
index 9203b4d30d212..e5da8f8152f31 100644
--- a/libc/src/math/f16fmaf128.h
+++ b/libc/src/math/f16fmaf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16fmaf128(float128 x, float128 y, float128 z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16FMAF128_H
diff --git a/libc/src/math/f16fmal.h b/libc/src/math/f16fmal.h
index 6f5dd33aa18f6..650b2917c6ff8 100644
--- a/libc/src/math/f16fmal.h
+++ b/libc/src/math/f16fmal.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16fmal(long double x, long double y, long double z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16FMAL_H
diff --git a/libc/src/math/f16sqrt.h b/libc/src/math/f16sqrt.h
index f1134ac5ee2b9..437aff8cabdbc 100644
--- a/libc/src/math/f16sqrt.h
+++ b/libc/src/math/f16sqrt.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16sqrt(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SQRT_H
diff --git a/libc/src/math/f16sqrtf.h b/libc/src/math/f16sqrtf.h
index 197ebe6db8016..0c3f808e4c4f9 100644
--- a/libc/src/math/f16sqrtf.h
+++ b/libc/src/math/f16sqrtf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16sqrtf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SQRTF_H
diff --git a/libc/src/math/f16sqrtf128.h b/libc/src/math/f16sqrtf128.h
index 61a6ce9ea5a5d..b9b0e90e9605c 100644
--- a/libc/src/math/f16sqrtf128.h
+++ b/libc/src/math/f16sqrtf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16sqrtf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SQRTF128_H
diff --git a/libc/src/math/f16sqrtl.h b/libc/src/math/f16sqrtl.h
index fd3c55fc95f32..dc826cfa6091e 100644
--- a/libc/src/math/f16sqrtl.h
+++ b/libc/src/math/f16sqrtl.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16sqrtl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SQRTL_H
diff --git a/libc/src/math/f16sub.h b/libc/src/math/f16sub.h
index 66f82daada019..aa41b5e2285e7 100644
--- a/libc/src/math/f16sub.h
+++ b/libc/src/math/f16sub.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16sub(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SUB_H
diff --git a/libc/src/math/f16subf.h b/libc/src/math/f16subf.h
index 1d04a4c952d17..49ea887a253a2 100644
--- a/libc/src/math/f16subf.h
+++ b/libc/src/math/f16subf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16subf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SUBF_H
diff --git a/libc/src/math/f16subf128.h b/libc/src/math/f16subf128.h
index eb674297ba266..f69f143c4bb20 100644
--- a/libc/src/math/f16subf128.h
+++ b/libc/src/math/f16subf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16subf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SUBF128_H
diff --git a/libc/src/math/f16subl.h b/libc/src/math/f16subl.h
index 43b44a57a604e..f9f738c1d82dc 100644
--- a/libc/src/math/f16subl.h
+++ b/libc/src/math/f16subl.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 f16subl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_F16SUBL_H
diff --git a/libc/src/math/fabs.h b/libc/src/math/fabs.h
index 0aad5ea1f69f9..6f63b5e980b3d 100644
--- a/libc/src/math/fabs.h
+++ b/libc/src/math/fabs.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABS_H
 #define LLVM_LIBC_SRC_MATH_FABS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fabs(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FABS_H
diff --git a/libc/src/math/fabsf.h b/libc/src/math/fabsf.h
index ca2cc106a08b2..41d2b46f25d6c 100644
--- a/libc/src/math/fabsf.h
+++ b/libc/src/math/fabsf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSF_H
 #define LLVM_LIBC_SRC_MATH_FABSF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fabsf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FABSF_H
diff --git a/libc/src/math/fabsf128.h b/libc/src/math/fabsf128.h
index 0a275025a5cfe..a9c8f953d241e 100644
--- a/libc/src/math/fabsf128.h
+++ b/libc/src/math/fabsf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fabsf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FABSF128_H
diff --git a/libc/src/math/fabsf16.h b/libc/src/math/fabsf16.h
index 532662a77e9a6..9d83e987088b6 100644
--- a/libc/src/math/fabsf16.h
+++ b/libc/src/math/fabsf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fabsf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FABSF16_H
diff --git a/libc/src/math/fabsl.h b/libc/src/math/fabsl.h
index b3df8bffed105..5454303e54420 100644
--- a/libc/src/math/fabsl.h
+++ b/libc/src/math/fabsl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSL_H
 #define LLVM_LIBC_SRC_MATH_FABSL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fabsl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FABSL_H
diff --git a/libc/src/math/fdim.h b/libc/src/math/fdim.h
index 457cb470a4e2b..bba3506140cd5 100644
--- a/libc/src/math/fdim.h
+++ b/libc/src/math/fdim.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIM_H
 #define LLVM_LIBC_SRC_MATH_FDIM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fdim(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FDIM_H
diff --git a/libc/src/math/fdimf.h b/libc/src/math/fdimf.h
index 01d5a530b8cca..21a419e1de7d6 100644
--- a/libc/src/math/fdimf.h
+++ b/libc/src/math/fdimf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIMF_H
 #define LLVM_LIBC_SRC_MATH_FDIMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fdimf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FDIMF_H
diff --git a/libc/src/math/fdimf128.h b/libc/src/math/fdimf128.h
index f0485aba4822c..461c84f086a73 100644
--- a/libc/src/math/fdimf128.h
+++ b/libc/src/math/fdimf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fdimf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FDIMF128_H
diff --git a/libc/src/math/fdimf16.h b/libc/src/math/fdimf16.h
index 0aa23810c64fa..b99a5830e2957 100644
--- a/libc/src/math/fdimf16.h
+++ b/libc/src/math/fdimf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fdimf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FDIMF16_H
diff --git a/libc/src/math/fdiml.h b/libc/src/math/fdiml.h
index 4b18d9a2590a4..a0c291fa08c1b 100644
--- a/libc/src/math/fdiml.h
+++ b/libc/src/math/fdiml.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIML_H
 #define LLVM_LIBC_SRC_MATH_FDIML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fdiml(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FDIML_H
diff --git a/libc/src/math/floor.h b/libc/src/math/floor.h
index 2920c7a7ee45d..c7fa243ce264c 100644
--- a/libc/src/math/floor.h
+++ b/libc/src/math/floor.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOOR_H
 #define LLVM_LIBC_SRC_MATH_FLOOR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double floor(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FLOOR_H
diff --git a/libc/src/math/floorf.h b/libc/src/math/floorf.h
index 52d6dd701fa9b..877b1e145050e 100644
--- a/libc/src/math/floorf.h
+++ b/libc/src/math/floorf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORF_H
 #define LLVM_LIBC_SRC_MATH_FLOORF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float floorf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FLOORF_H
diff --git a/libc/src/math/floorf128.h b/libc/src/math/floorf128.h
index b97c4b6c6cece..515f6c3ddaba1 100644
--- a/libc/src/math/floorf128.h
+++ b/libc/src/math/floorf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 floorf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FLOORF128_H
diff --git a/libc/src/math/floorf16.h b/libc/src/math/floorf16.h
index 4e5e196105cf6..00be3080d0934 100644
--- a/libc/src/math/floorf16.h
+++ b/libc/src/math/floorf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 floorf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FLOORF16_H
diff --git a/libc/src/math/floorl.h b/libc/src/math/floorl.h
index ef53b29e73588..1958dfe211eb8 100644
--- a/libc/src/math/floorl.h
+++ b/libc/src/math/floorl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORL_H
 #define LLVM_LIBC_SRC_MATH_FLOORL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double floorl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FLOORL_H
diff --git a/libc/src/math/fma.h b/libc/src/math/fma.h
index 7f0608ea4aaa6..997a23ad06c93 100644
--- a/libc/src/math/fma.h
+++ b/libc/src/math/fma.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMA_H
 #define LLVM_LIBC_SRC_MATH_FMA_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fma(double x, double y, double z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMA_H
diff --git a/libc/src/math/fmaf.h b/libc/src/math/fmaf.h
index 29e5bdc3e2335..811044779d123 100644
--- a/libc/src/math/fmaf.h
+++ b/libc/src/math/fmaf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAF_H
 #define LLVM_LIBC_SRC_MATH_FMAF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaf(float x, float y, float z);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAF_H
diff --git a/libc/src/math/fmax.h b/libc/src/math/fmax.h
index 64baa4d261dba..5304d15bd82b2 100644
--- a/libc/src/math/fmax.h
+++ b/libc/src/math/fmax.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAX_H
 #define LLVM_LIBC_SRC_MATH_FMAX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmax(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAX_H
diff --git a/libc/src/math/fmaxf.h b/libc/src/math/fmaxf.h
index 1126323e2a4b2..b37466b783f26 100644
--- a/libc/src/math/fmaxf.h
+++ b/libc/src/math/fmaxf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXF_H
 #define LLVM_LIBC_SRC_MATH_FMAXF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaxf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXF_H
diff --git a/libc/src/math/fmaxf128.h b/libc/src/math/fmaxf128.h
index a4407d9655afa..0c3fbf390136e 100644
--- a/libc/src/math/fmaxf128.h
+++ b/libc/src/math/fmaxf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmaxf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXF128_H
diff --git a/libc/src/math/fmaxf16.h b/libc/src/math/fmaxf16.h
index bf608f82c420a..573afabcb3391 100644
--- a/libc/src/math/fmaxf16.h
+++ b/libc/src/math/fmaxf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmaxf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXF16_H
diff --git a/libc/src/math/fmaximum.h b/libc/src/math/fmaximum.h
index 8eac02b17b79a..8740995e044e1 100644
--- a/libc/src/math/fmaximum.h
+++ b/libc/src/math/fmaximum.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_H
diff --git a/libc/src/math/fmaximum_mag.h b/libc/src/math/fmaximum_mag.h
index 31b7c0fcf7ee3..c480f6d2853b3 100644
--- a/libc/src/math/fmaximum_mag.h
+++ b/libc/src/math/fmaximum_mag.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_mag(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_H
diff --git a/libc/src/math/fmaximum_mag_num.h b/libc/src/math/fmaximum_mag_num.h
index c4ff243846e03..39839438a14ef 100644
--- a/libc/src/math/fmaximum_mag_num.h
+++ b/libc/src/math/fmaximum_mag_num.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_mag_num(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUM_H
diff --git a/libc/src/math/fmaximum_mag_numf.h b/libc/src/math/fmaximum_mag_numf.h
index 702903ab8bcfe..8c49d97adbcf4 100644
--- a/libc/src/math/fmaximum_mag_numf.h
+++ b/libc/src/math/fmaximum_mag_numf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_mag_numf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF_H
diff --git a/libc/src/math/fmaximum_mag_numf128.h b/libc/src/math/fmaximum_mag_numf128.h
index 2afae7fc37c46..f4d8f7c39fbba 100644
--- a/libc/src/math/fmaximum_mag_numf128.h
+++ b/libc/src/math/fmaximum_mag_numf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmaximum_mag_numf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF128_H
diff --git a/libc/src/math/fmaximum_mag_numf16.h b/libc/src/math/fmaximum_mag_numf16.h
index 4c963d4dccc73..7443c66a77c24 100644
--- a/libc/src/math/fmaximum_mag_numf16.h
+++ b/libc/src/math/fmaximum_mag_numf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmaximum_mag_numf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF16_H
diff --git a/libc/src/math/fmaximum_mag_numl.h b/libc/src/math/fmaximum_mag_numl.h
index 32f9ae9708a65..3369dd2c9a315 100644
--- a/libc/src/math/fmaximum_mag_numl.h
+++ b/libc/src/math/fmaximum_mag_numl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_mag_numl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUML_H
diff --git a/libc/src/math/fmaximum_magf.h b/libc/src/math/fmaximum_magf.h
index 1bfcc795f8f81..6b4736848c0df 100644
--- a/libc/src/math/fmaximum_magf.h
+++ b/libc/src/math/fmaximum_magf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_magf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF_H
diff --git a/libc/src/math/fmaximum_magf128.h b/libc/src/math/fmaximum_magf128.h
index 23c466b74cce8..e5c69bb6217da 100644
--- a/libc/src/math/fmaximum_magf128.h
+++ b/libc/src/math/fmaximum_magf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmaximum_magf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF128_H
diff --git a/libc/src/math/fmaximum_magf16.h b/libc/src/math/fmaximum_magf16.h
index e5f57d3b7f1df..8a374e6db0953 100644
--- a/libc/src/math/fmaximum_magf16.h
+++ b/libc/src/math/fmaximum_magf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmaximum_magf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF16_H
diff --git a/libc/src/math/fmaximum_magl.h b/libc/src/math/fmaximum_magl.h
index 23b283cb5dbc2..0c025178ac962 100644
--- a/libc/src/math/fmaximum_magl.h
+++ b/libc/src/math/fmaximum_magl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGL_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_magl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGL_H
diff --git a/libc/src/math/fmaximum_num.h b/libc/src/math/fmaximum_num.h
index ce3ce12ca64b4..1ad3c627a979e 100644
--- a/libc/src/math/fmaximum_num.h
+++ b/libc/src/math/fmaximum_num.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_num(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_NUM_H
diff --git a/libc/src/math/fmaximum_numf.h b/libc/src/math/fmaximum_numf.h
index b3243ed16be9f..ac1609aa1b2dd 100644
--- a/libc/src/math/fmaximum_numf.h
+++ b/libc/src/math/fmaximum_numf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_numf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF_H
diff --git a/libc/src/math/fmaximum_numf128.h b/libc/src/math/fmaximum_numf128.h
index d55183ce88cc6..54dd09a90d7a2 100644
--- a/libc/src/math/fmaximum_numf128.h
+++ b/libc/src/math/fmaximum_numf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmaximum_numf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF128_H
diff --git a/libc/src/math/fmaximum_numf16.h b/libc/src/math/fmaximum_numf16.h
index b450a45956483..5f112da61c51f 100644
--- a/libc/src/math/fmaximum_numf16.h
+++ b/libc/src/math/fmaximum_numf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmaximum_numf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF16_H
diff --git a/libc/src/math/fmaximum_numl.h b/libc/src/math/fmaximum_numl.h
index f668cbdf73151..a121a8894827e 100644
--- a/libc/src/math/fmaximum_numl.h
+++ b/libc/src/math/fmaximum_numl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_numl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUM_NUML_H
diff --git a/libc/src/math/fmaximumf.h b/libc/src/math/fmaximumf.h
index 4eee696ce1521..081b99c954d43 100644
--- a/libc/src/math/fmaximumf.h
+++ b/libc/src/math/fmaximumf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmaximumf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUMF_H
diff --git a/libc/src/math/fmaximumf128.h b/libc/src/math/fmaximumf128.h
index 4a214ef096e10..e96889d83ade1 100644
--- a/libc/src/math/fmaximumf128.h
+++ b/libc/src/math/fmaximumf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmaximumf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUMF128_H
diff --git a/libc/src/math/fmaximumf16.h b/libc/src/math/fmaximumf16.h
index 806339fde6830..62bb05396988c 100644
--- a/libc/src/math/fmaximumf16.h
+++ b/libc/src/math/fmaximumf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmaximumf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUMF16_H
diff --git a/libc/src/math/fmaximuml.h b/libc/src/math/fmaximuml.h
index ba8a8b12110c7..90b61be216bb0 100644
--- a/libc/src/math/fmaximuml.h
+++ b/libc/src/math/fmaximuml.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximuml(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXIMUML_H
diff --git a/libc/src/math/fmaxl.h b/libc/src/math/fmaxl.h
index a0673001fe0e6..39f8a62c6d216 100644
--- a/libc/src/math/fmaxl.h
+++ b/libc/src/math/fmaxl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXL_H
 #define LLVM_LIBC_SRC_MATH_FMAXL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmaxl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMAXL_H
diff --git a/libc/src/math/fmin.h b/libc/src/math/fmin.h
index bf011bb7c313c..45bfdeca40119 100644
--- a/libc/src/math/fmin.h
+++ b/libc/src/math/fmin.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMIN_H
 #define LLVM_LIBC_SRC_MATH_FMIN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmin(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMIN_H
diff --git a/libc/src/math/fminf.h b/libc/src/math/fminf.h
index b9c159a68b88e..f29ccea789ece 100644
--- a/libc/src/math/fminf.h
+++ b/libc/src/math/fminf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINF_H
 #define LLVM_LIBC_SRC_MATH_FMINF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fminf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINF_H
diff --git a/libc/src/math/fminf128.h b/libc/src/math/fminf128.h
index d2ed593250a4a..db79268aef729 100644
--- a/libc/src/math/fminf128.h
+++ b/libc/src/math/fminf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fminf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINF128_H
diff --git a/libc/src/math/fminf16.h b/libc/src/math/fminf16.h
index 22d4e6c803948..5f738bd06e21a 100644
--- a/libc/src/math/fminf16.h
+++ b/libc/src/math/fminf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fminf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINF16_H
diff --git a/libc/src/math/fminimum.h b/libc/src/math/fminimum.h
index 9d39b1bdd3db2..4fc276bbc2b8c 100644
--- a/libc/src/math/fminimum.h
+++ b/libc/src/math/fminimum.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fminimum(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_H
diff --git a/libc/src/math/fminimum_mag.h b/libc/src/math/fminimum_mag.h
index 10b242e6026e8..ab82fd05cf41c 100644
--- a/libc/src/math/fminimum_mag.h
+++ b/libc/src/math/fminimum_mag.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_mag(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_H
diff --git a/libc/src/math/fminimum_mag_num.h b/libc/src/math/fminimum_mag_num.h
index eb1823018851c..5008729a13e7f 100644
--- a/libc/src/math/fminimum_mag_num.h
+++ b/libc/src/math/fminimum_mag_num.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_mag_num(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMH
diff --git a/libc/src/math/fminimum_mag_numf.h b/libc/src/math/fminimum_mag_numf.h
index 8091990911399..c4e4a5d9a20b9 100644
--- a/libc/src/math/fminimum_mag_numf.h
+++ b/libc/src/math/fminimum_mag_numf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_mag_numf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF_H
diff --git a/libc/src/math/fminimum_mag_numf128.h b/libc/src/math/fminimum_mag_numf128.h
index 803c5e641d170..048ad3fc7b0dd 100644
--- a/libc/src/math/fminimum_mag_numf128.h
+++ b/libc/src/math/fminimum_mag_numf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fminimum_mag_numf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF128_H
diff --git a/libc/src/math/fminimum_mag_numf16.h b/libc/src/math/fminimum_mag_numf16.h
index 0fd314b2f5a22..9ef79fb8c8a47 100644
--- a/libc/src/math/fminimum_mag_numf16.h
+++ b/libc/src/math/fminimum_mag_numf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fminimum_mag_numf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF16_H
diff --git a/libc/src/math/fminimum_mag_numl.h b/libc/src/math/fminimum_mag_numl.h
index fdbb183280692..e0ea8311cc980 100644
--- a/libc/src/math/fminimum_mag_numl.h
+++ b/libc/src/math/fminimum_mag_numl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_mag_numl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUML_H
diff --git a/libc/src/math/fminimum_magf.h b/libc/src/math/fminimum_magf.h
index 6209340074d2d..d278583777b66 100644
--- a/libc/src/math/fminimum_magf.h
+++ b/libc/src/math/fminimum_magf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_magf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF_H
diff --git a/libc/src/math/fminimum_magf128.h b/libc/src/math/fminimum_magf128.h
index 05bd163be97c8..6a02ff049a7ca 100644
--- a/libc/src/math/fminimum_magf128.h
+++ b/libc/src/math/fminimum_magf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fminimum_magf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF128_H
diff --git a/libc/src/math/fminimum_magf16.h b/libc/src/math/fminimum_magf16.h
index 27673555403c9..37b4ac2c69f38 100644
--- a/libc/src/math/fminimum_magf16.h
+++ b/libc/src/math/fminimum_magf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fminimum_magf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF16_H
diff --git a/libc/src/math/fminimum_magl.h b/libc/src/math/fminimum_magl.h
index bcda35ce3bd2a..de3f325b089b1 100644
--- a/libc/src/math/fminimum_magl.h
+++ b/libc/src/math/fminimum_magl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGL_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_magl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_MAGL_H
diff --git a/libc/src/math/fminimum_num.h b/libc/src/math/fminimum_num.h
index 4c864cba84872..f891be090f2e7 100644
--- a/libc/src/math/fminimum_num.h
+++ b/libc/src/math/fminimum_num.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUM_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_num(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_NUM_H
diff --git a/libc/src/math/fminimum_numf.h b/libc/src/math/fminimum_numf.h
index ac4b08b292be8..1a6ce80b957cd 100644
--- a/libc/src/math/fminimum_numf.h
+++ b/libc/src/math/fminimum_numf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_numf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF_H
diff --git a/libc/src/math/fminimum_numf128.h b/libc/src/math/fminimum_numf128.h
index 00f8960ff1279..6505e1c547194 100644
--- a/libc/src/math/fminimum_numf128.h
+++ b/libc/src/math/fminimum_numf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fminimum_numf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF128_H
diff --git a/libc/src/math/fminimum_numf16.h b/libc/src/math/fminimum_numf16.h
index 598ff9d3c32d2..e0b77743152e1 100644
--- a/libc/src/math/fminimum_numf16.h
+++ b/libc/src/math/fminimum_numf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fminimum_numf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF16_H
diff --git a/libc/src/math/fminimum_numl.h b/libc/src/math/fminimum_numl.h
index 0da204e72c74d..97c34f76334c2 100644
--- a/libc/src/math/fminimum_numl.h
+++ b/libc/src/math/fminimum_numl.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_numl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUM_NUML_H
diff --git a/libc/src/math/fminimumf.h b/libc/src/math/fminimumf.h
index 424309f3a5313..d5e6eb31b3915 100644
--- a/libc/src/math/fminimumf.h
+++ b/libc/src/math/fminimumf.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUMF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fminimumf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUMF_H
diff --git a/libc/src/math/fminimumf128.h b/libc/src/math/fminimumf128.h
index 7ff0190727379..1753c697a5e91 100644
--- a/libc/src/math/fminimumf128.h
+++ b/libc/src/math/fminimumf128.h
@@ -12,10 +12,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fminimumf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUMF128_H
diff --git a/libc/src/math/fminimumf16.h b/libc/src/math/fminimumf16.h
index 86dd240ae406d..b7b836647120f 100644
--- a/libc/src/math/fminimumf16.h
+++ b/libc/src/math/fminimumf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fminimumf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUMF16_H
diff --git a/libc/src/math/fminimuml.h b/libc/src/math/fminimuml.h
index b9cc321354a28..dcecbc44b9b0f 100644
--- a/libc/src/math/fminimuml.h
+++ b/libc/src/math/fminimuml.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUML_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fminimuml(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINIMUML_H
diff --git a/libc/src/math/fminl.h b/libc/src/math/fminl.h
index e111e26fc3f07..ff11c467e626c 100644
--- a/libc/src/math/fminl.h
+++ b/libc/src/math/fminl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINL_H
 #define LLVM_LIBC_SRC_MATH_FMINL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fminl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMINL_H
diff --git a/libc/src/math/fmod.h b/libc/src/math/fmod.h
index 01b9aa7d2441e..a443ae6fbd8b6 100644
--- a/libc/src/math/fmod.h
+++ b/libc/src/math/fmod.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMOD_H
 #define LLVM_LIBC_SRC_MATH_FMOD_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fmod(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMOD_H
diff --git a/libc/src/math/fmodf.h b/libc/src/math/fmodf.h
index 90d97e6cf1e05..182d6e424d2c7 100644
--- a/libc/src/math/fmodf.h
+++ b/libc/src/math/fmodf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODF_H
 #define LLVM_LIBC_SRC_MATH_FMODF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmodf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMODF_H
diff --git a/libc/src/math/fmodf128.h b/libc/src/math/fmodf128.h
index b3242705f025e..78d551d67e7c1 100644
--- a/libc/src/math/fmodf128.h
+++ b/libc/src/math/fmodf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fmodf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMODF128_H
diff --git a/libc/src/math/fmodf16.h b/libc/src/math/fmodf16.h
index ab658430275d8..3c5fd5fd51c75 100644
--- a/libc/src/math/fmodf16.h
+++ b/libc/src/math/fmodf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fmodf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMODF16_H
diff --git a/libc/src/math/fmodl.h b/libc/src/math/fmodl.h
index f259ddb238a8e..fab1c95f7cd42 100644
--- a/libc/src/math/fmodl.h
+++ b/libc/src/math/fmodl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODL_H
 #define LLVM_LIBC_SRC_MATH_FMODL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fmodl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMODL_H
diff --git a/libc/src/math/fmul.h b/libc/src/math/fmul.h
index fbc1069db733e..9c3b244086282 100644
--- a/libc/src/math/fmul.h
+++ b/libc/src/math/fmul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMUL_H
 #define LLVM_LIBC_SRC_MATH_FMUL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fmul(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FMUL_H
diff --git a/libc/src/math/frexp.h b/libc/src/math/frexp.h
index 963ea7ba5fd07..1143593cd4dcd 100644
--- a/libc/src/math/frexp.h
+++ b/libc/src/math/frexp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXP_H
 #define LLVM_LIBC_SRC_MATH_FREXP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double frexp(double x, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FREXP_H
diff --git a/libc/src/math/frexpf.h b/libc/src/math/frexpf.h
index 74eeac24bef8e..b3fa67afa7fb4 100644
--- a/libc/src/math/frexpf.h
+++ b/libc/src/math/frexpf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPF_H
 #define LLVM_LIBC_SRC_MATH_FREXPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float frexpf(float x, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FREXPF_H
diff --git a/libc/src/math/frexpf128.h b/libc/src/math/frexpf128.h
index 55c4a47cc80ca..6d9f01e9dea5d 100644
--- a/libc/src/math/frexpf128.h
+++ b/libc/src/math/frexpf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 frexpf128(float128 x, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FREXPF128_H
diff --git a/libc/src/math/frexpf16.h b/libc/src/math/frexpf16.h
index dc1898cc5f702..df1efc9f4dd89 100644
--- a/libc/src/math/frexpf16.h
+++ b/libc/src/math/frexpf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 frexpf16(float16 x, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FREXPF16_H
diff --git a/libc/src/math/frexpl.h b/libc/src/math/frexpl.h
index 818266ed9f5fa..29fef6d63df97 100644
--- a/libc/src/math/frexpl.h
+++ b/libc/src/math/frexpl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPL_H
 #define LLVM_LIBC_SRC_MATH_FREXPL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double frexpl(long double x, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FREXPL_H
diff --git a/libc/src/math/fromfp.h b/libc/src/math/fromfp.h
index d3de2dd346083..1299b0a700daa 100644
--- a/libc/src/math/fromfp.h
+++ b/libc/src/math/fromfp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFP_H
 #define LLVM_LIBC_SRC_MATH_FROMFP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fromfp(double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFP_H
diff --git a/libc/src/math/fromfpf.h b/libc/src/math/fromfpf.h
index 11d432148d018..fdae217df8f61 100644
--- a/libc/src/math/fromfpf.h
+++ b/libc/src/math/fromfpf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPF_H
 #define LLVM_LIBC_SRC_MATH_FROMFPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fromfpf(float x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPF_H
diff --git a/libc/src/math/fromfpf128.h b/libc/src/math/fromfpf128.h
index 5f85fde570a0f..c363ffa4258b3 100644
--- a/libc/src/math/fromfpf128.h
+++ b/libc/src/math/fromfpf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fromfpf128(float128 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPF128_H
diff --git a/libc/src/math/fromfpf16.h b/libc/src/math/fromfpf16.h
index 6e37c2de2e016..57594dd1d54a6 100644
--- a/libc/src/math/fromfpf16.h
+++ b/libc/src/math/fromfpf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fromfpf16(float16 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPF16_H
diff --git a/libc/src/math/fromfpl.h b/libc/src/math/fromfpl.h
index dd8e1eebdea99..8a8294c7a0e78 100644
--- a/libc/src/math/fromfpl.h
+++ b/libc/src/math/fromfpl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPL_H
 #define LLVM_LIBC_SRC_MATH_FROMFPL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fromfpl(long double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPL_H
diff --git a/libc/src/math/fromfpx.h b/libc/src/math/fromfpx.h
index 3fc96e1e648b9..2e325a3d4850b 100644
--- a/libc/src/math/fromfpx.h
+++ b/libc/src/math/fromfpx.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPX_H
 #define LLVM_LIBC_SRC_MATH_FROMFPX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double fromfpx(double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPX_H
diff --git a/libc/src/math/fromfpxf.h b/libc/src/math/fromfpxf.h
index b55bc4c751395..492e39427e9ab 100644
--- a/libc/src/math/fromfpxf.h
+++ b/libc/src/math/fromfpxf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXF_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float fromfpxf(float x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPXF_H
diff --git a/libc/src/math/fromfpxf128.h b/libc/src/math/fromfpxf128.h
index 88932646cdcc9..389e1cfb83b44 100644
--- a/libc/src/math/fromfpxf128.h
+++ b/libc/src/math/fromfpxf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 fromfpxf128(float128 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPXF128_H
diff --git a/libc/src/math/fromfpxf16.h b/libc/src/math/fromfpxf16.h
index f53afbcf3ffdf..7c90ecaff28da 100644
--- a/libc/src/math/fromfpxf16.h
+++ b/libc/src/math/fromfpxf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 fromfpxf16(float16 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPXF16_H
diff --git a/libc/src/math/fromfpxl.h b/libc/src/math/fromfpxl.h
index 545288834b8f3..e8814a16561c3 100644
--- a/libc/src/math/fromfpxl.h
+++ b/libc/src/math/fromfpxl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXL_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double fromfpxl(long double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_FROMFPXL_H
diff --git a/libc/src/math/generic/acosf.cpp b/libc/src/math/generic/acosf.cpp
index f02edec267174..1cdec04f5ded9 100644
--- a/libc/src/math/generic/acosf.cpp
+++ b/libc/src/math/generic/acosf.cpp
@@ -19,7 +19,7 @@
 
 #include "inv_trigf_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static constexpr size_t N_EXCEPTS = 4;
 
@@ -120,4 +120,4 @@ LLVM_LIBC_FUNCTION(float, acosf, (float x)) {
   return static_cast<float>(x_sign ? M_MATH_PI - r : r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/acoshf.cpp b/libc/src/math/generic/acoshf.cpp
index 9422ec63e1ce2..a5b2fffac8a42 100644
--- a/libc/src/math/generic/acoshf.cpp
+++ b/libc/src/math/generic/acoshf.cpp
@@ -16,7 +16,7 @@
 #include "src/math/generic/common_constants.h"
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, acoshf, (float x)) {
   using FPBits_t = typename fputil::FPBits<float>;
@@ -70,4 +70,4 @@ LLVM_LIBC_FUNCTION(float, acoshf, (float x)) {
       x_d + fputil::sqrt<double>(fputil::multiply_add(x_d, x_d, -1.0))));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/asinf.cpp b/libc/src/math/generic/asinf.cpp
index c4afca493a713..8fa67f92608fc 100644
--- a/libc/src/math/generic/asinf.cpp
+++ b/libc/src/math/generic/asinf.cpp
@@ -20,7 +20,7 @@
 
 #include "inv_trigf_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static constexpr size_t N_EXCEPTS = 2;
 
@@ -152,4 +152,4 @@ LLVM_LIBC_FUNCTION(float, asinf, (float x)) {
   return static_cast<float>(fputil::multiply_add(c3, r, c2));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/asinhf.cpp b/libc/src/math/generic/asinhf.cpp
index 82dc2a31ebc22..59363de5a035e 100644
--- a/libc/src/math/generic/asinhf.cpp
+++ b/libc/src/math/generic/asinhf.cpp
@@ -15,7 +15,7 @@
 #include "src/math/generic/common_constants.h"
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, asinhf, (float x)) {
   using FPBits_t = typename fputil::FPBits<float>;
@@ -102,4 +102,4 @@ LLVM_LIBC_FUNCTION(float, asinhf, (float x)) {
                    fputil::sqrt<double>(fputil::multiply_add(x_d, x_d, 1.0)))));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/atan2f.cpp b/libc/src/math/generic/atan2f.cpp
index b79410dbf66ee..dad1b6d248070 100644
--- a/libc/src/math/generic/atan2f.cpp
+++ b/libc/src/math/generic/atan2f.cpp
@@ -16,7 +16,7 @@
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -303,4 +303,4 @@ LLVM_LIBC_FUNCTION(float, atan2f, (float y, float x)) {
                               const_term);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/atanf.cpp b/libc/src/math/generic/atanf.cpp
index 9fa1a331c9c03..88dc787822ea1 100644
--- a/libc/src/math/generic/atanf.cpp
+++ b/libc/src/math/generic/atanf.cpp
@@ -16,7 +16,7 @@
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -117,4 +117,4 @@ LLVM_LIBC_FUNCTION(float, atanf, (float x)) {
   return static_cast<float>(r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/atanhf.cpp b/libc/src/math/generic/atanhf.cpp
index 97fd1b2336006..85f73d1a133bd 100644
--- a/libc/src/math/generic/atanhf.cpp
+++ b/libc/src/math/generic/atanhf.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanhf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -58,4 +58,4 @@ LLVM_LIBC_FUNCTION(float, atanhf, (float x)) {
   return static_cast<float>(0.5 * log_eval((xdbl + 1.0) / (xdbl - 1.0)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/canonicalize.cpp b/libc/src/math/generic/canonicalize.cpp
index f38ca01e157f8..58d5e8c1592c5 100644
--- a/libc/src/math/generic/canonicalize.cpp
+++ b/libc/src/math/generic/canonicalize.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, canonicalize, (double *cx, const double *x)) {
   return fputil::canonicalize(*cx, *x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/canonicalizef.cpp b/libc/src/math/generic/canonicalizef.cpp
index dce601de14914..1765948a7af1f 100644
--- a/libc/src/math/generic/canonicalizef.cpp
+++ b/libc/src/math/generic/canonicalizef.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, canonicalizef, (float *cx, const float *x)) {
   return fputil::canonicalize(*cx, *x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/canonicalizef128.cpp b/libc/src/math/generic/canonicalizef128.cpp
index 0078b478238cb..bd93657c7d824 100644
--- a/libc/src/math/generic/canonicalizef128.cpp
+++ b/libc/src/math/generic/canonicalizef128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, canonicalizef128, (float128 * cx, const float128 *x)) {
   return fputil::canonicalize(*cx, *x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/canonicalizef16.cpp b/libc/src/math/generic/canonicalizef16.cpp
index 232e84f7dd68f..5cb4544c86c28 100644
--- a/libc/src/math/generic/canonicalizef16.cpp
+++ b/libc/src/math/generic/canonicalizef16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, canonicalizef16, (float16 * cx, const float16 *x)) {
   return fputil::canonicalize(*cx, *x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/canonicalizel.cpp b/libc/src/math/generic/canonicalizel.cpp
index 5310a316acdd3..26a81b72fa730 100644
--- a/libc/src/math/generic/canonicalizel.cpp
+++ b/libc/src/math/generic/canonicalizel.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, canonicalizel,
                    (long double *cx, const long double *x)) {
   return fputil::canonicalize(*cx, *x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/cbrtf.cpp b/libc/src/math/generic/cbrtf.cpp
index a1eb58d463a06..3ee332ac859ff 100644
--- a/libc/src/math/generic/cbrtf.cpp
+++ b/libc/src/math/generic/cbrtf.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -154,4 +154,4 @@ LLVM_LIBC_FUNCTION(float, cbrtf, (float x)) {
   return static_cast<float>(DoubleBits(r_bits).get_val());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ceil.cpp b/libc/src/math/generic/ceil.cpp
index efd0f246a9b90..0aecc2ca99ddc 100644
--- a/libc/src/math/generic/ceil.cpp
+++ b/libc/src/math/generic/ceil.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ceil, (double x)) { return fputil::ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ceilf.cpp b/libc/src/math/generic/ceilf.cpp
index d49b34242da4f..1efcfa5b71e64 100644
--- a/libc/src/math/generic/ceilf.cpp
+++ b/libc/src/math/generic/ceilf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ceilf, (float x)) { return fputil::ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ceilf128.cpp b/libc/src/math/generic/ceilf128.cpp
index af980429f87d8..bd6b40b0a1ab4 100644
--- a/libc/src/math/generic/ceilf128.cpp
+++ b/libc/src/math/generic/ceilf128.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, ceilf128, (float128 x)) { return fputil::ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ceilf16.cpp b/libc/src/math/generic/ceilf16.cpp
index 205d7428f66e6..76c8865d32480 100644
--- a/libc/src/math/generic/ceilf16.cpp
+++ b/libc/src/math/generic/ceilf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, ceilf16, (float16 x)) { return fputil::ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ceill.cpp b/libc/src/math/generic/ceill.cpp
index 7c3b680ce6442..d905d1bb7ed00 100644
--- a/libc/src/math/generic/ceill.cpp
+++ b/libc/src/math/generic/ceill.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, ceill, (long double x)) {
   return fputil::ceil(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/common_constants.cpp b/libc/src/math/generic/common_constants.cpp
index 1a23d00297105..1dc4658687f93 100644
--- a/libc/src/math/generic/common_constants.cpp
+++ b/libc/src/math/generic/common_constants.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/number_pair.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Lookup table for (1/f) where f = 1 + n*2^(-7), n = 0..127.
 const double ONE_OVER_F[128] = {
@@ -805,4 +805,4 @@ const fputil::TripleDouble EXP2_MID2[64] = {
     {0x1.6ae7d36d7c1f7p-109, 0x1.e47120223467fp-54, 0x1.02be6e199c811p0},
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/common_constants.h b/libc/src/math/generic/common_constants.h
index 13fc8d757cb8c..2a1a6205b9dc2 100644
--- a/libc/src/math/generic/common_constants.h
+++ b/libc/src/math/generic/common_constants.h
@@ -12,7 +12,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/number_pair.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Lookup table for (1/f) where f = 1 + n*2^(-7), n = 0..127.
 extern const double ONE_OVER_F[128];
@@ -77,6 +77,6 @@ extern const fputil::TripleDouble EXP2_MID1[64];
 // Lookup table for 2^(k * 2^-12) with k = 0..63.
 extern const fputil::TripleDouble EXP2_MID2[64];
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_COMMON_CONSTANTS_H
diff --git a/libc/src/math/generic/copysign.cpp b/libc/src/math/generic/copysign.cpp
index c5ad414bd6482..236e212d592ce 100644
--- a/libc/src/math/generic/copysign.cpp
+++ b/libc/src/math/generic/copysign.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, copysign, (double x, double y)) {
   return fputil::copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/copysignf.cpp b/libc/src/math/generic/copysignf.cpp
index 077e1ce60ec18..39b15319f3316 100644
--- a/libc/src/math/generic/copysignf.cpp
+++ b/libc/src/math/generic/copysignf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, copysignf, (float x, float y)) {
   return fputil::copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/copysignf128.cpp b/libc/src/math/generic/copysignf128.cpp
index 2fe36d52d01dc..98051105a42ba 100644
--- a/libc/src/math/generic/copysignf128.cpp
+++ b/libc/src/math/generic/copysignf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, copysignf128, (float128 x, float128 y)) {
   return fputil::copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/copysignf16.cpp b/libc/src/math/generic/copysignf16.cpp
index 435c7e4733862..278dd633e21a8 100644
--- a/libc/src/math/generic/copysignf16.cpp
+++ b/libc/src/math/generic/copysignf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, copysignf16, (float16 x, float16 y)) {
   return fputil::copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/copysignl.cpp b/libc/src/math/generic/copysignl.cpp
index b74393cee5d6a..a65484dde8ada 100644
--- a/libc/src/math/generic/copysignl.cpp
+++ b/libc/src/math/generic/copysignl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, copysignl, (long double x, long double y)) {
   return fputil::copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/cos.cpp b/libc/src/math/generic/cos.cpp
index 0eb6d9d6a6de8..f0bcab286fe56 100644
--- a/libc/src/math/generic/cos.cpp
+++ b/libc/src/math/generic/cos.cpp
@@ -48,7 +48,7 @@ LIBC_INLINE constexpr bool NO_FMA = true;
 #define LIBC_MATH_COS_SKIP_ACCURATE_PASS
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using DoubleDouble = fputil::DoubleDouble;
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -194,4 +194,4 @@ LLVM_LIBC_FUNCTION(double, cos, (double x)) {
 #endif // !LIBC_MATH_COS_SKIP_ACCURATE_PASS
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/cosf.cpp b/libc/src/math/generic/cosf.cpp
index 180a44e947eaf..586b12ff3eafc 100644
--- a/libc/src/math/generic/cosf.cpp
+++ b/libc/src/math/generic/cosf.cpp
@@ -19,7 +19,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Exceptional cases for cosf.
 static constexpr size_t N_EXCEPTS = 6;
@@ -134,4 +134,4 @@ LLVM_LIBC_FUNCTION(float, cosf, (float x)) {
       sin_y, -sin_k, fputil::multiply_add(cosm1_y, cos_k, cos_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/coshf.cpp b/libc/src/math/generic/coshf.cpp
index a8ea324c95052..43cd384bcee13 100644
--- a/libc/src/math/generic/coshf.cpp
+++ b/libc/src/math/generic/coshf.cpp
@@ -13,7 +13,7 @@
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, coshf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -52,4 +52,4 @@ LLVM_LIBC_FUNCTION(float, coshf, (float x)) {
   return static_cast<float>(exp_pm_eval</*is_sinh*/ false>(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/cospif.cpp b/libc/src/math/generic/cospif.cpp
index d36468101c077..17b00789f4903 100644
--- a/libc/src/math/generic/cospif.cpp
+++ b/libc/src/math/generic/cospif.cpp
@@ -15,7 +15,7 @@
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, cospif, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -92,4 +92,4 @@ LLVM_LIBC_FUNCTION(float, cospif, (float x)) {
       sin_y, -sin_k, fputil::multiply_add(cosm1_y, cos_k, cos_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/erff.cpp b/libc/src/math/generic/erff.cpp
index aa7baffc7815e..ab9aeced19c92 100644
--- a/libc/src/math/generic/erff.cpp
+++ b/libc/src/math/generic/erff.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Polynomials approximating erf(x)/x on ( k/8, (k + 1)/8 ) generated by Sollya
 // with:
@@ -176,4 +176,4 @@ LLVM_LIBC_FUNCTION(float, erff, (float x)) {
   return static_cast<float>(xd * fputil::multiply_add(x8, p1, p0));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp.cpp b/libc/src/math/generic/exp.cpp
index 3d060bcbd3be3..51048ab325352 100644
--- a/libc/src/math/generic/exp.cpp
+++ b/libc/src/math/generic/exp.cpp
@@ -26,7 +26,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using fputil::DoubleDouble;
 using fputil::TripleDouble;
@@ -416,4 +416,4 @@ LLVM_LIBC_FUNCTION(double, exp, (double x)) {
   return static_cast<double>(r_f128);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp10.cpp b/libc/src/math/generic/exp10.cpp
index a4ae41407112b..971f6b404c392 100644
--- a/libc/src/math/generic/exp10.cpp
+++ b/libc/src/math/generic/exp10.cpp
@@ -26,7 +26,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using fputil::DoubleDouble;
 using fputil::TripleDouble;
@@ -476,4 +476,4 @@ LLVM_LIBC_FUNCTION(double, exp10, (double x)) {
   return static_cast<double>(r_f128);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp10f.cpp b/libc/src/math/generic/exp10f.cpp
index 273b583df8e50..7fd7ff582b05d 100644
--- a/libc/src/math/generic/exp10f.cpp
+++ b/libc/src/math/generic/exp10f.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/math/generic/exp10f_impl.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp10f, (float x)) { return generic::exp10f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp10f_impl.h b/libc/src/math/generic/exp10f_impl.h
index ff4c1c3aec67c..36b486941b933 100644
--- a/libc/src/math/generic/exp10f_impl.h
+++ b/libc/src/math/generic/exp10f_impl.h
@@ -22,7 +22,8 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 LIBC_INLINE float exp10f(float x) {
   using FPBits = typename fputil::FPBits<float>;
@@ -135,6 +136,7 @@ LIBC_INLINE float exp10f(float x) {
   return static_cast<float>(multiply_add(p, lo2 * rr.mh, c0 * rr.mh));
 }
 
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_EXP10F_IMPL_H
diff --git a/libc/src/math/generic/exp2.cpp b/libc/src/math/generic/exp2.cpp
index 1a2fa3feb83e5..87ba550351407 100644
--- a/libc/src/math/generic/exp2.cpp
+++ b/libc/src/math/generic/exp2.cpp
@@ -26,7 +26,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using fputil::DoubleDouble;
 using fputil::TripleDouble;
@@ -390,4 +390,4 @@ LLVM_LIBC_FUNCTION(double, exp2, (double x)) {
   return static_cast<double>(r_f128);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp2f.cpp b/libc/src/math/generic/exp2f.cpp
index e6cb9383dfa2e..f13e48fe8044e 100644
--- a/libc/src/math/generic/exp2f.cpp
+++ b/libc/src/math/generic/exp2f.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h" // for LLVM_LIBC_FUNCTION
 #include "src/math/generic/exp2f_impl.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp2f, (float x)) { return generic::exp2f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp2f_impl.h b/libc/src/math/generic/exp2f_impl.h
index d2342e289fcba..31b389020d045 100644
--- a/libc/src/math/generic/exp2f_impl.h
+++ b/libc/src/math/generic/exp2f_impl.h
@@ -24,7 +24,8 @@
 
 #include "explogxf.h"
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 LIBC_INLINE float exp2f(float x) {
   constexpr uint32_t EXVAL1 = 0x3b42'9d37U;
@@ -160,6 +161,7 @@ LIBC_INLINE float exp2f(float x) {
   return static_cast<float>(fputil::multiply_add(p, dx_sq * mh, c1 * mh));
 }
 
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_EXP2F_IMPL_H
diff --git a/libc/src/math/generic/exp2m1f.cpp b/libc/src/math/generic/exp2m1f.cpp
index c60930dd782e8..82caae094c79b 100644
--- a/libc/src/math/generic/exp2m1f.cpp
+++ b/libc/src/math/generic/exp2m1f.cpp
@@ -20,7 +20,7 @@
 
 #include "explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static constexpr size_t N_EXCEPTS_LO = 8;
 
@@ -180,4 +180,4 @@ LLVM_LIBC_FUNCTION(float, exp2m1f, (float x)) {
   return static_cast<float>(fputil::multiply_add(exp2_lo, mh, -1.0));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp_utils.cpp b/libc/src/math/generic/exp_utils.cpp
index ad13919578ec1..b1d12b77e8711 100644
--- a/libc/src/math/generic/exp_utils.cpp
+++ b/libc/src/math/generic/exp_utils.cpp
@@ -8,7 +8,7 @@
 
 #include "exp_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 const Exp2fDataTable exp2f_data = {
     // :tab[i] = uint(2^(i/N)) - (i << 52-BITS)
@@ -124,4 +124,4 @@ const Exp2fDataTable exp2f_data = {
     },
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/exp_utils.h b/libc/src/math/generic/exp_utils.h
index 405678c356f36..908826626916e 100644
--- a/libc/src/math/generic/exp_utils.h
+++ b/libc/src/math/generic/exp_utils.h
@@ -15,7 +15,7 @@
 #define EXP2F_POLY_ORDER 3
 #define N (1 << EXP2F_TABLE_BITS)
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct Exp2fDataTable {
   uint64_t tab[1 << EXP2F_TABLE_BITS];
@@ -28,6 +28,6 @@ struct Exp2fDataTable {
 
 extern const Exp2fDataTable exp2f_data;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_EXP_UTILS_H
diff --git a/libc/src/math/generic/expf.cpp b/libc/src/math/generic/expf.cpp
index c7ab974850a82..832d8152310fa 100644
--- a/libc/src/math/generic/expf.cpp
+++ b/libc/src/math/generic/expf.cpp
@@ -20,7 +20,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -105,4 +105,4 @@ LLVM_LIBC_FUNCTION(float, expf, (float x)) {
   return static_cast<float>(exp_hi * exp_mid * exp_lo);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/explogxf.cpp b/libc/src/math/generic/explogxf.cpp
index 87ee57850c473..b64498824ce04 100644
--- a/libc/src/math/generic/explogxf.cpp
+++ b/libc/src/math/generic/explogxf.cpp
@@ -8,7 +8,7 @@
 
 #include "explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // N[Table[Log[2, 1 + x], {x, 0/64, 63/64, 1/64}], 40]
 alignas(64) const double LOG_P1_LOG2[LOG_P1_SIZE] = {
@@ -71,4 +71,4 @@ alignas(64) const
     double K_LOG2_EVEN[4] = {-0x1.71547652b82fep-1, -0x1.71547652b82fep-2,
                              -0x1.ec709dc3a03fdp-3, -0x1.2776c50ef9bfep-3};
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/explogxf.h b/libc/src/math/generic/explogxf.h
index f7d04f517ce57..b73668dfd760b 100644
--- a/libc/src/math/generic/explogxf.h
+++ b/libc/src/math/generic/explogxf.h
@@ -21,7 +21,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct ExpBase {
   // Base = e
@@ -379,6 +379,6 @@ LIBC_INLINE cpp::optional<double> ziv_test_denorm(int hi, double mid, double lo,
   return cpp::nullopt;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_EXPLOGXF_H
diff --git a/libc/src/math/generic/expm1.cpp b/libc/src/math/generic/expm1.cpp
index 150c0bbcf60da..6e5e82c2b1481 100644
--- a/libc/src/math/generic/expm1.cpp
+++ b/libc/src/math/generic/expm1.cpp
@@ -36,7 +36,7 @@
 #include <iostream>
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using fputil::DoubleDouble;
 using fputil::TripleDouble;
@@ -507,4 +507,4 @@ LLVM_LIBC_FUNCTION(double, expm1, (double x)) {
 #endif // LIBC_MATH_EXPM1_SKIP_ACCURATE_PASS
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/expm1f.cpp b/libc/src/math/generic/expm1f.cpp
index 6b9f07476a650..81e125f191282 100644
--- a/libc/src/math/generic/expm1f.cpp
+++ b/libc/src/math/generic/expm1f.cpp
@@ -22,7 +22,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expm1f, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -170,4 +170,4 @@ LLVM_LIBC_FUNCTION(float, expm1f, (float x)) {
   return static_cast<float>(fputil::multiply_add(exp_hi_mid, exp_lo, -1.0));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16add.cpp b/libc/src/math/generic/f16add.cpp
index ef9b43e9f46aa..90a3815564848 100644
--- a/libc/src/math/generic/f16add.cpp
+++ b/libc/src/math/generic/f16add.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16add, (double x, double y)) {
   return fputil::generic::add<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16addf.cpp b/libc/src/math/generic/f16addf.cpp
index f1761a193985d..8ab7748ff3c93 100644
--- a/libc/src/math/generic/f16addf.cpp
+++ b/libc/src/math/generic/f16addf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16addf, (float x, float y)) {
   return fputil::generic::add<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16addf128.cpp b/libc/src/math/generic/f16addf128.cpp
index 61c458f7d5de1..999d8116c50e6 100644
--- a/libc/src/math/generic/f16addf128.cpp
+++ b/libc/src/math/generic/f16addf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16addf128, (float128 x, float128 y)) {
   return fputil::generic::add<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16addl.cpp b/libc/src/math/generic/f16addl.cpp
index d32d09d0dbb83..b9c5a41990561 100644
--- a/libc/src/math/generic/f16addl.cpp
+++ b/libc/src/math/generic/f16addl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16addl, (long double x, long double y)) {
   return fputil::generic::add<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16div.cpp b/libc/src/math/generic/f16div.cpp
index 2ff0ff7865539..b2bbba417ed5b 100644
--- a/libc/src/math/generic/f16div.cpp
+++ b/libc/src/math/generic/f16div.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16div, (double x, double y)) {
   return fputil::generic::div<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16divf.cpp b/libc/src/math/generic/f16divf.cpp
index 45874fbac2055..15b93b98b682f 100644
--- a/libc/src/math/generic/f16divf.cpp
+++ b/libc/src/math/generic/f16divf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16divf, (float x, float y)) {
   return fputil::generic::div<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16divf128.cpp b/libc/src/math/generic/f16divf128.cpp
index 1d37ad8aa2366..8fc0b2f1a66bb 100644
--- a/libc/src/math/generic/f16divf128.cpp
+++ b/libc/src/math/generic/f16divf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16divf128, (float128 x, float128 y)) {
   return fputil::generic::div<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16divl.cpp b/libc/src/math/generic/f16divl.cpp
index 3fb9c7891f5d1..4c6a39477b9f6 100644
--- a/libc/src/math/generic/f16divl.cpp
+++ b/libc/src/math/generic/f16divl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16divl, (long double x, long double y)) {
   return fputil::generic::div<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16fma.cpp b/libc/src/math/generic/f16fma.cpp
index 10ee028c06930..0e50eea7291d9 100644
--- a/libc/src/math/generic/f16fma.cpp
+++ b/libc/src/math/generic/f16fma.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16fma, (double x, double y, double z)) {
   return fputil::fma<float16>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16fmaf.cpp b/libc/src/math/generic/f16fmaf.cpp
index 09f2712639335..5b51326bf74f5 100644
--- a/libc/src/math/generic/f16fmaf.cpp
+++ b/libc/src/math/generic/f16fmaf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16fmaf, (float x, float y, float z)) {
   return fputil::fma<float16>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16fmaf128.cpp b/libc/src/math/generic/f16fmaf128.cpp
index 5b2f801cf21fa..24bc6e3c8f8db 100644
--- a/libc/src/math/generic/f16fmaf128.cpp
+++ b/libc/src/math/generic/f16fmaf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16fmaf128, (float128 x, float128 y, float128 z)) {
   return fputil::fma<float16>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16fmal.cpp b/libc/src/math/generic/f16fmal.cpp
index 067483629a336..103a4252b890b 100644
--- a/libc/src/math/generic/f16fmal.cpp
+++ b/libc/src/math/generic/f16fmal.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16fmal,
                    (long double x, long double y, long double z)) {
   return fputil::fma<float16>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16sqrt.cpp b/libc/src/math/generic/f16sqrt.cpp
index 9d5f081f63315..a33531465b44f 100644
--- a/libc/src/math/generic/f16sqrt.cpp
+++ b/libc/src/math/generic/f16sqrt.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16sqrt, (double x)) {
   return fputil::sqrt<float16>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16sqrtf.cpp b/libc/src/math/generic/f16sqrtf.cpp
index 1f7ee2df29e86..fcfee9f7c66f6 100644
--- a/libc/src/math/generic/f16sqrtf.cpp
+++ b/libc/src/math/generic/f16sqrtf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16sqrtf, (float x)) {
   return fputil::sqrt<float16>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16sqrtf128.cpp b/libc/src/math/generic/f16sqrtf128.cpp
index 11a1e8252788e..770b886c8a914 100644
--- a/libc/src/math/generic/f16sqrtf128.cpp
+++ b/libc/src/math/generic/f16sqrtf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16sqrtf128, (float128 x)) {
   return fputil::sqrt<float16>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16sqrtl.cpp b/libc/src/math/generic/f16sqrtl.cpp
index 2aaac9a780f66..bcb3e17af682d 100644
--- a/libc/src/math/generic/f16sqrtl.cpp
+++ b/libc/src/math/generic/f16sqrtl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16sqrtl, (long double x)) {
   return fputil::sqrt<float16>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16sub.cpp b/libc/src/math/generic/f16sub.cpp
index 114c8ad3155e1..506027cb7b3be 100644
--- a/libc/src/math/generic/f16sub.cpp
+++ b/libc/src/math/generic/f16sub.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16sub, (double x, double y)) {
   return fputil::generic::sub<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16subf.cpp b/libc/src/math/generic/f16subf.cpp
index e4532a456b7b8..37194080e00d3 100644
--- a/libc/src/math/generic/f16subf.cpp
+++ b/libc/src/math/generic/f16subf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16subf, (float x, float y)) {
   return fputil::generic::sub<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16subf128.cpp b/libc/src/math/generic/f16subf128.cpp
index 1f9ff28abdf29..76de233de96e8 100644
--- a/libc/src/math/generic/f16subf128.cpp
+++ b/libc/src/math/generic/f16subf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16subf128, (float128 x, float128 y)) {
   return fputil::generic::sub<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/f16subl.cpp b/libc/src/math/generic/f16subl.cpp
index 31970af9a2366..8b18b7b0b20fa 100644
--- a/libc/src/math/generic/f16subl.cpp
+++ b/libc/src/math/generic/f16subl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, f16subl, (long double x, long double y)) {
   return fputil::generic::sub<float16>(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabs.cpp b/libc/src/math/generic/fabs.cpp
index 0c0b7748b1f35..5d92b459cba97 100644
--- a/libc/src/math/generic/fabs.cpp
+++ b/libc/src/math/generic/fabs.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fabs, (double x)) { return fputil::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabsf.cpp b/libc/src/math/generic/fabsf.cpp
index a57f6bf914eb2..47ca6c18b75d6 100644
--- a/libc/src/math/generic/fabsf.cpp
+++ b/libc/src/math/generic/fabsf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fabsf, (float x)) { return fputil::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabsf128.cpp b/libc/src/math/generic/fabsf128.cpp
index 615b13f862399..2ab1dcd868876 100644
--- a/libc/src/math/generic/fabsf128.cpp
+++ b/libc/src/math/generic/fabsf128.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fabsf128, (float128 x)) { return fputil::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabsf16.cpp b/libc/src/math/generic/fabsf16.cpp
index 4de84f35da302..2798f897f0cea 100644
--- a/libc/src/math/generic/fabsf16.cpp
+++ b/libc/src/math/generic/fabsf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fabsf16, (float16 x)) { return fputil::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fabsl.cpp b/libc/src/math/generic/fabsl.cpp
index 6b912c92eca86..f5c368d9e4f24 100644
--- a/libc/src/math/generic/fabsl.cpp
+++ b/libc/src/math/generic/fabsl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fabsl, (long double x)) {
   return fputil::abs(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fdim.cpp b/libc/src/math/generic/fdim.cpp
index 22d99867b423d..aa9aa9c42fc5f 100644
--- a/libc/src/math/generic/fdim.cpp
+++ b/libc/src/math/generic/fdim.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fdim, (double x, double y)) {
   return fputil::fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fdimf.cpp b/libc/src/math/generic/fdimf.cpp
index 789a0c57eb1ee..3b2312612561d 100644
--- a/libc/src/math/generic/fdimf.cpp
+++ b/libc/src/math/generic/fdimf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fdimf, (float x, float y)) {
   return fputil::fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fdimf128.cpp b/libc/src/math/generic/fdimf128.cpp
index a3ea9e591610c..0bbdb83b334f0 100644
--- a/libc/src/math/generic/fdimf128.cpp
+++ b/libc/src/math/generic/fdimf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fdimf128, (float128 x, float128 y)) {
   return fputil::fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fdimf16.cpp b/libc/src/math/generic/fdimf16.cpp
index 25e1d88d7048d..2c351094f94c9 100644
--- a/libc/src/math/generic/fdimf16.cpp
+++ b/libc/src/math/generic/fdimf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fdimf16, (float16 x, float16 y)) {
   return fputil::fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fdiml.cpp b/libc/src/math/generic/fdiml.cpp
index c1091cc66b7a8..625992e8d7093 100644
--- a/libc/src/math/generic/fdiml.cpp
+++ b/libc/src/math/generic/fdiml.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fdiml, (long double x, long double y)) {
   return fputil::fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/floor.cpp b/libc/src/math/generic/floor.cpp
index 60386f0c9cf81..30c506552a09e 100644
--- a/libc/src/math/generic/floor.cpp
+++ b/libc/src/math/generic/floor.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, floor, (double x)) { return fputil::floor(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/floorf.cpp b/libc/src/math/generic/floorf.cpp
index 85666688685dc..b0653f2b82780 100644
--- a/libc/src/math/generic/floorf.cpp
+++ b/libc/src/math/generic/floorf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, floorf, (float x)) { return fputil::floor(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/floorf128.cpp b/libc/src/math/generic/floorf128.cpp
index 22a8eacb45ddb..70afe5a0956d1 100644
--- a/libc/src/math/generic/floorf128.cpp
+++ b/libc/src/math/generic/floorf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, floorf128, (float128 x)) {
   return fputil::floor(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/floorf16.cpp b/libc/src/math/generic/floorf16.cpp
index db0b326c0e5f6..31801917b9b26 100644
--- a/libc/src/math/generic/floorf16.cpp
+++ b/libc/src/math/generic/floorf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, floorf16, (float16 x)) { return fputil::floor(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/floorl.cpp b/libc/src/math/generic/floorl.cpp
index 280312797fe0a..d8aca0a456607 100644
--- a/libc/src/math/generic/floorl.cpp
+++ b/libc/src/math/generic/floorl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, floorl, (long double x)) {
   return fputil::floor(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fma.cpp b/libc/src/math/generic/fma.cpp
index 7937766dccd71..84559eb3a264d 100644
--- a/libc/src/math/generic/fma.cpp
+++ b/libc/src/math/generic/fma.cpp
@@ -11,10 +11,10 @@
 
 #include "src/__support/FPUtil/FMA.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fma, (double x, double y, double z)) {
   return fputil::fma<double>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaf.cpp b/libc/src/math/generic/fmaf.cpp
index d367a069ea7d8..0f9a894254aba 100644
--- a/libc/src/math/generic/fmaf.cpp
+++ b/libc/src/math/generic/fmaf.cpp
@@ -11,10 +11,10 @@
 
 #include "src/__support/FPUtil/FMA.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaf, (float x, float y, float z)) {
   return fputil::fma<float>(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmax.cpp b/libc/src/math/generic/fmax.cpp
index 7feeee9dcd946..5e02253d427a8 100644
--- a/libc/src/math/generic/fmax.cpp
+++ b/libc/src/math/generic/fmax.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmax, (double x, double y)) {
   return fputil::fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaxf.cpp b/libc/src/math/generic/fmaxf.cpp
index 32410926c89a0..0ddee278fc3a6 100644
--- a/libc/src/math/generic/fmaxf.cpp
+++ b/libc/src/math/generic/fmaxf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaxf, (float x, float y)) {
   return fputil::fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaxf128.cpp b/libc/src/math/generic/fmaxf128.cpp
index 096e4befeb79a..5e655e27db37c 100644
--- a/libc/src/math/generic/fmaxf128.cpp
+++ b/libc/src/math/generic/fmaxf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmaxf128, (float128 x, float128 y)) {
   return fputil::fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaxf16.cpp b/libc/src/math/generic/fmaxf16.cpp
index c317aef3cb3b8..634aefc3393b1 100644
--- a/libc/src/math/generic/fmaxf16.cpp
+++ b/libc/src/math/generic/fmaxf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmaxf16, (float16 x, float16 y)) {
   return fputil::fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum.cpp b/libc/src/math/generic/fmaximum.cpp
index ac9593b325d4b..3c021469a6c7e 100644
--- a/libc/src/math/generic/fmaximum.cpp
+++ b/libc/src/math/generic/fmaximum.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmaximum, (double x, double y)) {
   return fputil::fmaximum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag.cpp b/libc/src/math/generic/fmaximum_mag.cpp
index 0deb0c2835f93..6e8a12f1b0c2c 100644
--- a/libc/src/math/generic/fmaximum_mag.cpp
+++ b/libc/src/math/generic/fmaximum_mag.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmaximum_mag, (double x, double y)) {
   return fputil::fmaximum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag_num.cpp b/libc/src/math/generic/fmaximum_mag_num.cpp
index d0b1096b88bc6..86a1f75fe25ec 100644
--- a/libc/src/math/generic/fmaximum_mag_num.cpp
+++ b/libc/src/math/generic/fmaximum_mag_num.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmaximum_mag_num, (double x, double y)) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag_numf.cpp b/libc/src/math/generic/fmaximum_mag_numf.cpp
index 672d3fd3b263a..618bb556194ae 100644
--- a/libc/src/math/generic/fmaximum_mag_numf.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaximum_mag_numf, (float x, float y)) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag_numf128.cpp b/libc/src/math/generic/fmaximum_mag_numf128.cpp
index e7d13f13a0982..3fb0422c04dd7 100644
--- a/libc/src/math/generic/fmaximum_mag_numf128.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmaximum_mag_numf128, (float128 x, float128 y)) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag_numf16.cpp b/libc/src/math/generic/fmaximum_mag_numf16.cpp
index 5055802c4cf85..047278559c7f2 100644
--- a/libc/src/math/generic/fmaximum_mag_numf16.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmaximum_mag_numf16, (float16 x, float16 y)) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_mag_numl.cpp b/libc/src/math/generic/fmaximum_mag_numl.cpp
index a8499ca473b36..eadcf8bd5b8e7 100644
--- a/libc/src/math/generic/fmaximum_mag_numl.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmaximum_mag_numl,
                    (long double x, long double y)) {
   return fputil::fmaximum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_magf.cpp b/libc/src/math/generic/fmaximum_magf.cpp
index 380aca05a5255..ca704d8a2a7b9 100644
--- a/libc/src/math/generic/fmaximum_magf.cpp
+++ b/libc/src/math/generic/fmaximum_magf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaximum_magf, (float x, float y)) {
   return fputil::fmaximum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_magf128.cpp b/libc/src/math/generic/fmaximum_magf128.cpp
index 301938fb7ffd3..84904dd78336a 100644
--- a/libc/src/math/generic/fmaximum_magf128.cpp
+++ b/libc/src/math/generic/fmaximum_magf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmaximum_magf128, (float128 x, float128 y)) {
   return fputil::fmaximum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_magf16.cpp b/libc/src/math/generic/fmaximum_magf16.cpp
index fbd5eaccf3093..ceb2d8a7969eb 100644
--- a/libc/src/math/generic/fmaximum_magf16.cpp
+++ b/libc/src/math/generic/fmaximum_magf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmaximum_magf16, (float16 x, float16 y)) {
   return fputil::fmaximum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_magl.cpp b/libc/src/math/generic/fmaximum_magl.cpp
index 283a11eda9aab..052af9a822efa 100644
--- a/libc/src/math/generic/fmaximum_magl.cpp
+++ b/libc/src/math/generic/fmaximum_magl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmaximum_magl, (long double x, long double y)) {
   return fputil::fmaximum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_num.cpp b/libc/src/math/generic/fmaximum_num.cpp
index 23553dbcae7ed..9fbeb998ced6f 100644
--- a/libc/src/math/generic/fmaximum_num.cpp
+++ b/libc/src/math/generic/fmaximum_num.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmaximum_num, (double x, double y)) {
   return fputil::fmaximum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_numf.cpp b/libc/src/math/generic/fmaximum_numf.cpp
index f946ff43f543c..c349f46413447 100644
--- a/libc/src/math/generic/fmaximum_numf.cpp
+++ b/libc/src/math/generic/fmaximum_numf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaximum_numf, (float x, float y)) {
   return fputil::fmaximum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_numf128.cpp b/libc/src/math/generic/fmaximum_numf128.cpp
index f33a5e195bf25..dded46aa4e9f7 100644
--- a/libc/src/math/generic/fmaximum_numf128.cpp
+++ b/libc/src/math/generic/fmaximum_numf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmaximum_numf128, (float128 x, float128 y)) {
   return fputil::fmaximum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_numf16.cpp b/libc/src/math/generic/fmaximum_numf16.cpp
index 187cfbeee6e2d..1d0907ddbfda6 100644
--- a/libc/src/math/generic/fmaximum_numf16.cpp
+++ b/libc/src/math/generic/fmaximum_numf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmaximum_numf16, (float16 x, float16 y)) {
   return fputil::fmaximum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximum_numl.cpp b/libc/src/math/generic/fmaximum_numl.cpp
index 503fc41409f68..aea6013c4f51d 100644
--- a/libc/src/math/generic/fmaximum_numl.cpp
+++ b/libc/src/math/generic/fmaximum_numl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmaximum_numl, (long double x, long double y)) {
   return fputil::fmaximum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximumf.cpp b/libc/src/math/generic/fmaximumf.cpp
index 3b2a60931bf63..9f94439dabd43 100644
--- a/libc/src/math/generic/fmaximumf.cpp
+++ b/libc/src/math/generic/fmaximumf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaximumf, (float x, float y)) {
   return fputil::fmaximum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximumf128.cpp b/libc/src/math/generic/fmaximumf128.cpp
index 0099c913b0526..47a5915f51804 100644
--- a/libc/src/math/generic/fmaximumf128.cpp
+++ b/libc/src/math/generic/fmaximumf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmaximumf128, (float128 x, float128 y)) {
   return fputil::fmaximum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximumf16.cpp b/libc/src/math/generic/fmaximumf16.cpp
index 9e194d2ecef69..2270028cb2759 100644
--- a/libc/src/math/generic/fmaximumf16.cpp
+++ b/libc/src/math/generic/fmaximumf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmaximumf16, (float16 x, float16 y)) {
   return fputil::fmaximum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaximuml.cpp b/libc/src/math/generic/fmaximuml.cpp
index ecd698300458f..e08552e16f3dc 100644
--- a/libc/src/math/generic/fmaximuml.cpp
+++ b/libc/src/math/generic/fmaximuml.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmaximuml, (long double x, long double y)) {
   return fputil::fmaximum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmaxl.cpp b/libc/src/math/generic/fmaxl.cpp
index 6c6250736f4f1..aa52e5b510961 100644
--- a/libc/src/math/generic/fmaxl.cpp
+++ b/libc/src/math/generic/fmaxl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmaxl, (long double x, long double y)) {
   return fputil::fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmin.cpp b/libc/src/math/generic/fmin.cpp
index b9f313d571635..667d4311b776f 100644
--- a/libc/src/math/generic/fmin.cpp
+++ b/libc/src/math/generic/fmin.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmin, (double x, double y)) {
   return fputil::fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminf.cpp b/libc/src/math/generic/fminf.cpp
index 539fedbdd2fa2..5f966a32b8e52 100644
--- a/libc/src/math/generic/fminf.cpp
+++ b/libc/src/math/generic/fminf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminf, (float x, float y)) {
   return fputil::fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminf128.cpp b/libc/src/math/generic/fminf128.cpp
index 084ed4c9931bc..596c97463fbbe 100644
--- a/libc/src/math/generic/fminf128.cpp
+++ b/libc/src/math/generic/fminf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fminf128, (float128 x, float128 y)) {
   return fputil::fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminf16.cpp b/libc/src/math/generic/fminf16.cpp
index 12547c33c6361..88d5049c2667f 100644
--- a/libc/src/math/generic/fminf16.cpp
+++ b/libc/src/math/generic/fminf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fminf16, (float16 x, float16 y)) {
   return fputil::fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum.cpp b/libc/src/math/generic/fminimum.cpp
index 28b257d950f43..c9f32958d6535 100644
--- a/libc/src/math/generic/fminimum.cpp
+++ b/libc/src/math/generic/fminimum.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fminimum, (double x, double y)) {
   return fputil::fminimum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag.cpp b/libc/src/math/generic/fminimum_mag.cpp
index 6af99570e1ea4..61042a575d3cf 100644
--- a/libc/src/math/generic/fminimum_mag.cpp
+++ b/libc/src/math/generic/fminimum_mag.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fminimum_mag, (double x, double y)) {
   return fputil::fminimum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag_num.cpp b/libc/src/math/generic/fminimum_mag_num.cpp
index fc5431ae27994..5af8231806c16 100644
--- a/libc/src/math/generic/fminimum_mag_num.cpp
+++ b/libc/src/math/generic/fminimum_mag_num.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fminimum_mag_num, (double x, double y)) {
   return fputil::fminimum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag_numf.cpp b/libc/src/math/generic/fminimum_mag_numf.cpp
index 71179a6f03c21..8fe14e2a12599 100644
--- a/libc/src/math/generic/fminimum_mag_numf.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminimum_mag_numf, (float x, float y)) {
   return fputil::fminimum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag_numf128.cpp b/libc/src/math/generic/fminimum_mag_numf128.cpp
index 109ce7e4e0111..b688107ef5356 100644
--- a/libc/src/math/generic/fminimum_mag_numf128.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fminimum_mag_numf128, (float128 x, float128 y)) {
   return fputil::fminimum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag_numf16.cpp b/libc/src/math/generic/fminimum_mag_numf16.cpp
index 1a893c6c4bbc1..c913d6ff86c8f 100644
--- a/libc/src/math/generic/fminimum_mag_numf16.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fminimum_mag_numf16, (float16 x, float16 y)) {
   return fputil::fminimum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_mag_numl.cpp b/libc/src/math/generic/fminimum_mag_numl.cpp
index c97ce6ead0425..61ee474b34d50 100644
--- a/libc/src/math/generic/fminimum_mag_numl.cpp
+++ b/libc/src/math/generic/fminimum_mag_numl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fminimum_mag_numl,
                    (long double x, long double y)) {
   return fputil::fminimum_mag_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_magf.cpp b/libc/src/math/generic/fminimum_magf.cpp
index 834f6a4a97101..3a4b24e220c19 100644
--- a/libc/src/math/generic/fminimum_magf.cpp
+++ b/libc/src/math/generic/fminimum_magf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminimum_magf, (float x, float y)) {
   return fputil::fminimum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_magf128.cpp b/libc/src/math/generic/fminimum_magf128.cpp
index 2828e28bb0a40..200e3a65a109f 100644
--- a/libc/src/math/generic/fminimum_magf128.cpp
+++ b/libc/src/math/generic/fminimum_magf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fminimum_magf128, (float128 x, float128 y)) {
   return fputil::fminimum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_magf16.cpp b/libc/src/math/generic/fminimum_magf16.cpp
index 45183a963e2d8..876ced6c973ec 100644
--- a/libc/src/math/generic/fminimum_magf16.cpp
+++ b/libc/src/math/generic/fminimum_magf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fminimum_magf16, (float16 x, float16 y)) {
   return fputil::fminimum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_magl.cpp b/libc/src/math/generic/fminimum_magl.cpp
index 50e328fd92d1f..c64b9c5fb52b7 100644
--- a/libc/src/math/generic/fminimum_magl.cpp
+++ b/libc/src/math/generic/fminimum_magl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fminimum_magl, (long double x, long double y)) {
   return fputil::fminimum_mag(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_num.cpp b/libc/src/math/generic/fminimum_num.cpp
index e89c7f5acf9b1..54de576aee796 100644
--- a/libc/src/math/generic/fminimum_num.cpp
+++ b/libc/src/math/generic/fminimum_num.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fminimum_num, (double x, double y)) {
   return fputil::fminimum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_numf.cpp b/libc/src/math/generic/fminimum_numf.cpp
index c37c8bd423a1a..4f158e52e4246 100644
--- a/libc/src/math/generic/fminimum_numf.cpp
+++ b/libc/src/math/generic/fminimum_numf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminimum_numf, (float x, float y)) {
   return fputil::fminimum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_numf128.cpp b/libc/src/math/generic/fminimum_numf128.cpp
index 6b1f77bb447cf..667e0a5a8d403 100644
--- a/libc/src/math/generic/fminimum_numf128.cpp
+++ b/libc/src/math/generic/fminimum_numf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fminimum_numf128, (float128 x, float128 y)) {
   return fputil::fminimum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_numf16.cpp b/libc/src/math/generic/fminimum_numf16.cpp
index 825ad3e7b63af..94f95df86e016 100644
--- a/libc/src/math/generic/fminimum_numf16.cpp
+++ b/libc/src/math/generic/fminimum_numf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fminimum_numf16, (float16 x, float16 y)) {
   return fputil::fminimum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimum_numl.cpp b/libc/src/math/generic/fminimum_numl.cpp
index 22045f83f2a73..624515314d9d0 100644
--- a/libc/src/math/generic/fminimum_numl.cpp
+++ b/libc/src/math/generic/fminimum_numl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fminimum_numl, (long double x, long double y)) {
   return fputil::fminimum_num(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimumf.cpp b/libc/src/math/generic/fminimumf.cpp
index c937fb0ea01d0..db140ea336412 100644
--- a/libc/src/math/generic/fminimumf.cpp
+++ b/libc/src/math/generic/fminimumf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminimumf, (float x, float y)) {
   return fputil::fminimum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimumf128.cpp b/libc/src/math/generic/fminimumf128.cpp
index 24e02b8ff537f..8b8581ba087cc 100644
--- a/libc/src/math/generic/fminimumf128.cpp
+++ b/libc/src/math/generic/fminimumf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fminimumf128, (float128 x, float128 y)) {
   return fputil::fminimum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimumf16.cpp b/libc/src/math/generic/fminimumf16.cpp
index 16f738be7e58c..fe6b63311f488 100644
--- a/libc/src/math/generic/fminimumf16.cpp
+++ b/libc/src/math/generic/fminimumf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fminimumf16, (float16 x, float16 y)) {
   return fputil::fminimum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminimuml.cpp b/libc/src/math/generic/fminimuml.cpp
index 43319503661aa..13a3b4424a70d 100644
--- a/libc/src/math/generic/fminimuml.cpp
+++ b/libc/src/math/generic/fminimuml.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fminimuml, (long double x, long double y)) {
   return fputil::fminimum(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fminl.cpp b/libc/src/math/generic/fminl.cpp
index 147f6c562c52c..5b75923b4c608 100644
--- a/libc/src/math/generic/fminl.cpp
+++ b/libc/src/math/generic/fminl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fminl, (long double x, long double y)) {
   return fputil::fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmod.cpp b/libc/src/math/generic/fmod.cpp
index 69e0c8dd99169..1e208a4b6b899 100644
--- a/libc/src/math/generic/fmod.cpp
+++ b/libc/src/math/generic/fmod.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmod, (double x, double y)) {
   return fputil::generic::FMod<double>::eval(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmodf.cpp b/libc/src/math/generic/fmodf.cpp
index 9a9e46e29b466..f89095b0f189d 100644
--- a/libc/src/math/generic/fmodf.cpp
+++ b/libc/src/math/generic/fmodf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmodf, (float x, float y)) {
   return fputil::generic::FMod<float, uint64_t>::eval(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmodf128.cpp b/libc/src/math/generic/fmodf128.cpp
index 08a379702d889..8656e299376ce 100644
--- a/libc/src/math/generic/fmodf128.cpp
+++ b/libc/src/math/generic/fmodf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fmodf128, (float128 x, float128 y)) {
   return fputil::generic::FMod<float128>::eval(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmodf16.cpp b/libc/src/math/generic/fmodf16.cpp
index a5bfd78113f63..6443ebefe2ec4 100644
--- a/libc/src/math/generic/fmodf16.cpp
+++ b/libc/src/math/generic/fmodf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fmodf16, (float16 x, float16 y)) {
   return fputil::generic::FMod<float16, uint32_t>::eval(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmodl.cpp b/libc/src/math/generic/fmodl.cpp
index 23a3702890557..9c674de0a527d 100644
--- a/libc/src/math/generic/fmodl.cpp
+++ b/libc/src/math/generic/fmodl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fmodl, (long double x, long double y)) {
   return fputil::generic::FMod<long double>::eval(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fmul.cpp b/libc/src/math/generic/fmul.cpp
index 40af20466a665..d906d9a219c15 100644
--- a/libc/src/math/generic/fmul.cpp
+++ b/libc/src/math/generic/fmul.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/common.h"
 #include "src/__support/uint128.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmul, (double x, double y)) {
   auto x_bits = fputil::FPBits<double>(x);
@@ -125,4 +125,4 @@ LLVM_LIBC_FUNCTION(float, fmul, (double x, double y)) {
   return result_bits.get_val();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/frexp.cpp b/libc/src/math/generic/frexp.cpp
index a183ba70cfc3e..19f188d13215b 100644
--- a/libc/src/math/generic/frexp.cpp
+++ b/libc/src/math/generic/frexp.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, frexp, (double x, int *exp)) {
   return fputil::frexp(x, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/frexpf.cpp b/libc/src/math/generic/frexpf.cpp
index 4fdc869907ca0..23cbadaf20adf 100644
--- a/libc/src/math/generic/frexpf.cpp
+++ b/libc/src/math/generic/frexpf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, frexpf, (float x, int *exp)) {
   return fputil::frexp(x, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/frexpf128.cpp b/libc/src/math/generic/frexpf128.cpp
index b50f37d2dab4b..ac4b7b6a0dda4 100644
--- a/libc/src/math/generic/frexpf128.cpp
+++ b/libc/src/math/generic/frexpf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, frexpf128, (float128 x, int *exp)) {
   return fputil::frexp(x, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/frexpf16.cpp b/libc/src/math/generic/frexpf16.cpp
index 2d29c07c7217d..903c0acc04fb6 100644
--- a/libc/src/math/generic/frexpf16.cpp
+++ b/libc/src/math/generic/frexpf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, frexpf16, (float16 x, int *exp)) {
   return fputil::frexp(x, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/frexpl.cpp b/libc/src/math/generic/frexpl.cpp
index 0be4e744b2d34..4254aa6c58126 100644
--- a/libc/src/math/generic/frexpl.cpp
+++ b/libc/src/math/generic/frexpl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, frexpl, (long double x, int *exp)) {
   return fputil::frexp(x, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfp.cpp b/libc/src/math/generic/fromfp.cpp
index ba3f0a133cbcb..421dbd2e83e1c 100644
--- a/libc/src/math/generic/fromfp.cpp
+++ b/libc/src/math/generic/fromfp.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fromfp, (double x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpf.cpp b/libc/src/math/generic/fromfpf.cpp
index fd058a13201c9..a2f1e6ccf06d3 100644
--- a/libc/src/math/generic/fromfpf.cpp
+++ b/libc/src/math/generic/fromfpf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fromfpf, (float x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpf128.cpp b/libc/src/math/generic/fromfpf128.cpp
index 440a5da756932..469fde47416ad 100644
--- a/libc/src/math/generic/fromfpf128.cpp
+++ b/libc/src/math/generic/fromfpf128.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fromfpf128,
                    (float128 x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpf16.cpp b/libc/src/math/generic/fromfpf16.cpp
index 36040049fe3aa..e3a3f76419477 100644
--- a/libc/src/math/generic/fromfpf16.cpp
+++ b/libc/src/math/generic/fromfpf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fromfpf16,
                    (float16 x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpl.cpp b/libc/src/math/generic/fromfpl.cpp
index ee3abeaf98f85..1bee873abc66f 100644
--- a/libc/src/math/generic/fromfpl.cpp
+++ b/libc/src/math/generic/fromfpl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fromfpl,
                    (long double x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpx.cpp b/libc/src/math/generic/fromfpx.cpp
index b9e7e4a7aa126..b6143d72f05ec 100644
--- a/libc/src/math/generic/fromfpx.cpp
+++ b/libc/src/math/generic/fromfpx.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fromfpx, (double x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpxf.cpp b/libc/src/math/generic/fromfpxf.cpp
index 1473499244d31..56619caa380e6 100644
--- a/libc/src/math/generic/fromfpxf.cpp
+++ b/libc/src/math/generic/fromfpxf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fromfpxf, (float x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpxf128.cpp b/libc/src/math/generic/fromfpxf128.cpp
index 5d930d22ae5eb..6b32b6ac9c992 100644
--- a/libc/src/math/generic/fromfpxf128.cpp
+++ b/libc/src/math/generic/fromfpxf128.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, fromfpxf128,
                    (float128 x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpxf16.cpp b/libc/src/math/generic/fromfpxf16.cpp
index 0854cb6613513..e54f1ce649fa9 100644
--- a/libc/src/math/generic/fromfpxf16.cpp
+++ b/libc/src/math/generic/fromfpxf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, fromfpxf16,
                    (float16 x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/fromfpxl.cpp b/libc/src/math/generic/fromfpxl.cpp
index c3db055246f22..0fb24074b8e52 100644
--- a/libc/src/math/generic/fromfpxl.cpp
+++ b/libc/src/math/generic/fromfpxl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, fromfpxl,
                    (long double x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/true>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/getpayloadf16.cpp b/libc/src/math/generic/getpayloadf16.cpp
index 0923226e5c5c8..9230804d6d2eb 100644
--- a/libc/src/math/generic/getpayloadf16.cpp
+++ b/libc/src/math/generic/getpayloadf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, getpayloadf16, (const float16 *x)) {
   return fputil::getpayload(*x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/hypot.cpp b/libc/src/math/generic/hypot.cpp
index a1914d0e823c8..87da28e5c0342 100644
--- a/libc/src/math/generic/hypot.cpp
+++ b/libc/src/math/generic/hypot.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/Hypot.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, hypot, (double x, double y)) {
   return LIBC_NAMESPACE::fputil::hypot(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/hypotf.cpp b/libc/src/math/generic/hypotf.cpp
index b09d09ad7f9c9..9b21793f8811c 100644
--- a/libc/src/math/generic/hypotf.cpp
+++ b/libc/src/math/generic/hypotf.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, hypotf, (float x, float y)) {
   using DoubleBits = fputil::FPBits<double>;
@@ -70,4 +70,4 @@ LLVM_LIBC_FUNCTION(float, hypotf, (float x, float y)) {
   return static_cast<float>(result.get_val());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ilogb.cpp b/libc/src/math/generic/ilogb.cpp
index 7e4f66970c5d3..cd01717359a78 100644
--- a/libc/src/math/generic/ilogb.cpp
+++ b/libc/src/math/generic/ilogb.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogb, (double x)) { return fputil::intlogb<int>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ilogbf.cpp b/libc/src/math/generic/ilogbf.cpp
index 422788cec9e04..895900b86ffcf 100644
--- a/libc/src/math/generic/ilogbf.cpp
+++ b/libc/src/math/generic/ilogbf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbf, (float x)) { return fputil::intlogb<int>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ilogbf128.cpp b/libc/src/math/generic/ilogbf128.cpp
index 4049eccc5f36b..efad1a94f7b19 100644
--- a/libc/src/math/generic/ilogbf128.cpp
+++ b/libc/src/math/generic/ilogbf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbf128, (float128 x)) {
   return fputil::intlogb<int>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ilogbf16.cpp b/libc/src/math/generic/ilogbf16.cpp
index 87e43f8a5ada3..41a34c52039a2 100644
--- a/libc/src/math/generic/ilogbf16.cpp
+++ b/libc/src/math/generic/ilogbf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbf16, (float16 x)) {
   return fputil::intlogb<int>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ilogbl.cpp b/libc/src/math/generic/ilogbl.cpp
index b7f7eb40c4410..0a8207418af54 100644
--- a/libc/src/math/generic/ilogbl.cpp
+++ b/libc/src/math/generic/ilogbl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbl, (long double x)) {
   return fputil::intlogb<int>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/inv_trigf_utils.cpp b/libc/src/math/generic/inv_trigf_utils.cpp
index 19c8b997dc4ed..1a30713a18f7b 100644
--- a/libc/src/math/generic/inv_trigf_utils.cpp
+++ b/libc/src/math/generic/inv_trigf_utils.cpp
@@ -8,7 +8,7 @@
 
 #include "inv_trigf_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Polynomial approximation for 0 <= x <= 1:
 //   atan(x) ~ atan((i/16) + (x - (i/16)) * Q(x - i/16)
@@ -82,4 +82,4 @@ double ATAN_COEFFS[17][9] = {
      0x1.555e31a1e15e9p-6, -0x1.245240d65e629p-7, -0x1.fa9ba66478903p-11},
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/inv_trigf_utils.h b/libc/src/math/generic/inv_trigf_utils.h
index e60c367d7b46b..89a9369564ef0 100644
--- a/libc/src/math/generic/inv_trigf_utils.h
+++ b/libc/src/math/generic/inv_trigf_utils.h
@@ -13,7 +13,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // PI and PI / 2
 constexpr double M_MATH_PI = 0x1.921fb54442d18p+1;
@@ -56,6 +56,6 @@ LIBC_INLINE double asin_eval(double xsq) {
   return fputil::multiply_add(xsq, r2, r1);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_INV_TRIGF_UTILS_H
diff --git a/libc/src/math/generic/isnan.cpp b/libc/src/math/generic/isnan.cpp
index dd7eadb2a2031..c9e4eac6b8ec5 100644
--- a/libc/src/math/generic/isnan.cpp
+++ b/libc/src/math/generic/isnan.cpp
@@ -9,7 +9,7 @@
 #include "src/math/isnan.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isnan, (double x)) { return __builtin_isnan(x); }
 
diff --git a/libc/src/math/generic/isnanf.cpp b/libc/src/math/generic/isnanf.cpp
index 98a81b03f538a..db66e791fd181 100644
--- a/libc/src/math/generic/isnanf.cpp
+++ b/libc/src/math/generic/isnanf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/isnanf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isnanf, (float x)) { return __builtin_isnan(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/isnanl.cpp b/libc/src/math/generic/isnanl.cpp
index d61bfd52f0b7d..532fd0b023dd4 100644
--- a/libc/src/math/generic/isnanl.cpp
+++ b/libc/src/math/generic/isnanl.cpp
@@ -9,8 +9,8 @@
 #include "src/math/isnanl.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isnanl, (long double x)) { return __builtin_isnan(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ldexp.cpp b/libc/src/math/generic/ldexp.cpp
index 18aae09036409..7afb837f5b4c4 100644
--- a/libc/src/math/generic/ldexp.cpp
+++ b/libc/src/math/generic/ldexp.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ldexp, (double x, int exp)) {
   return fputil::ldexp(x, exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ldexpf.cpp b/libc/src/math/generic/ldexpf.cpp
index 37f88ab2da00c..0aed320b24eeb 100644
--- a/libc/src/math/generic/ldexpf.cpp
+++ b/libc/src/math/generic/ldexpf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ldexpf, (float x, int exp)) {
   return fputil::ldexp(x, exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ldexpf128.cpp b/libc/src/math/generic/ldexpf128.cpp
index ed2ebd38dfae7..f8d7a56eb2322 100644
--- a/libc/src/math/generic/ldexpf128.cpp
+++ b/libc/src/math/generic/ldexpf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, ldexpf128, (float128 x, int exp)) {
   return fputil::ldexp(x, exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ldexpf16.cpp b/libc/src/math/generic/ldexpf16.cpp
index ed15c4572edf5..4898d17585e02 100644
--- a/libc/src/math/generic/ldexpf16.cpp
+++ b/libc/src/math/generic/ldexpf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, ldexpf16, (float16 x, int exp)) {
   return fputil::ldexp(x, exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ldexpl.cpp b/libc/src/math/generic/ldexpl.cpp
index 8b29009fa1aa4..add928938fd8a 100644
--- a/libc/src/math/generic/ldexpl.cpp
+++ b/libc/src/math/generic/ldexpl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, ldexpl, (long double x, int exp)) {
   return fputil::ldexp(x, exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llogb.cpp b/libc/src/math/generic/llogb.cpp
index 917bc38c03792..5ede305adee56 100644
--- a/libc/src/math/generic/llogb.cpp
+++ b/libc/src/math/generic/llogb.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, llogb, (double x)) { return fputil::intlogb<long>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llogbf.cpp b/libc/src/math/generic/llogbf.cpp
index ca1c03db5c2e4..1660191b0feaa 100644
--- a/libc/src/math/generic/llogbf.cpp
+++ b/libc/src/math/generic/llogbf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, llogbf, (float x)) { return fputil::intlogb<long>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llogbf128.cpp b/libc/src/math/generic/llogbf128.cpp
index 5ae4af302110c..fb2c76d92bd47 100644
--- a/libc/src/math/generic/llogbf128.cpp
+++ b/libc/src/math/generic/llogbf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, llogbf128, (float128 x)) {
   return fputil::intlogb<long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llogbf16.cpp b/libc/src/math/generic/llogbf16.cpp
index b7a21b95604d7..b3c88ad900071 100644
--- a/libc/src/math/generic/llogbf16.cpp
+++ b/libc/src/math/generic/llogbf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, llogbf16, (float16 x)) {
   return fputil::intlogb<long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llogbl.cpp b/libc/src/math/generic/llogbl.cpp
index a092997b92449..2185c6f2aaa35 100644
--- a/libc/src/math/generic/llogbl.cpp
+++ b/libc/src/math/generic/llogbl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, llogbl, (long double x)) {
   return fputil::intlogb<long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llrint.cpp b/libc/src/math/generic/llrint.cpp
index 87755e83fecec..ad123111a9309 100644
--- a/libc/src/math/generic/llrint.cpp
+++ b/libc/src/math/generic/llrint.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrint, (double x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<double,
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(long long, llrint, (double x)) {
       x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llrintf.cpp b/libc/src/math/generic/llrintf.cpp
index 836e7cb6cdfb0..0369cf587f64a 100644
--- a/libc/src/math/generic/llrintf.cpp
+++ b/libc/src/math/generic/llrintf.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintf, (float x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float,
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(long long, llrintf, (float x)) {
       x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llrintf128.cpp b/libc/src/math/generic/llrintf128.cpp
index e5a4c50a26e8c..97378012bed56 100644
--- a/libc/src/math/generic/llrintf128.cpp
+++ b/libc/src/math/generic/llrintf128.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintf128, (float128 x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float128,
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(long long, llrintf128, (float128 x)) {
       x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llrintf16.cpp b/libc/src/math/generic/llrintf16.cpp
index 0bed21ad17bb8..5a5f594ca8427 100644
--- a/libc/src/math/generic/llrintf16.cpp
+++ b/libc/src/math/generic/llrintf16.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintf16, (float16 x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float16,
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(long long, llrintf16, (float16 x)) {
       x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llrintl.cpp b/libc/src/math/generic/llrintl.cpp
index 104e3d4ce9204..aab5a73fb38fe 100644
--- a/libc/src/math/generic/llrintl.cpp
+++ b/libc/src/math/generic/llrintl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintl, (long double x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<
       long double, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llround.cpp b/libc/src/math/generic/llround.cpp
index 41bee8520ac2e..2032284ae7106 100644
--- a/libc/src/math/generic/llround.cpp
+++ b/libc/src/math/generic/llround.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llround, (double x)) {
   return fputil::round_to_signed_integer<double, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llroundf.cpp b/libc/src/math/generic/llroundf.cpp
index 67105e8d1f6bc..14e7ce16cf9c7 100644
--- a/libc/src/math/generic/llroundf.cpp
+++ b/libc/src/math/generic/llroundf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llroundf, (float x)) {
   return fputil::round_to_signed_integer<float, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llroundf128.cpp b/libc/src/math/generic/llroundf128.cpp
index 25791631dd7e7..bcf4991fc435a 100644
--- a/libc/src/math/generic/llroundf128.cpp
+++ b/libc/src/math/generic/llroundf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llroundf128, (float128 x)) {
   return fputil::round_to_signed_integer<float128, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llroundf16.cpp b/libc/src/math/generic/llroundf16.cpp
index 9485674d54bcb..a73647360ec57 100644
--- a/libc/src/math/generic/llroundf16.cpp
+++ b/libc/src/math/generic/llroundf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llroundf16, (float16 x)) {
   return fputil::round_to_signed_integer<float16, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/llroundl.cpp b/libc/src/math/generic/llroundl.cpp
index 98cfb3690659c..86b921de7740b 100644
--- a/libc/src/math/generic/llroundl.cpp
+++ b/libc/src/math/generic/llroundl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llroundl, (long double x)) {
   return fputil::round_to_signed_integer<long double, long long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log.cpp b/libc/src/math/generic/log.cpp
index 6de0d90be80e1..b2bd64fe8a79a 100644
--- a/libc/src/math/generic/log.cpp
+++ b/libc/src/math/generic/log.cpp
@@ -20,7 +20,7 @@
 #include "common_constants.h"
 #include "log_range_reduction.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // 128-bit precision dyadic floating point numbers.
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -837,4 +837,4 @@ LLVM_LIBC_FUNCTION(double, log, (double x)) {
   return log_accurate(x_e, index, u);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log10.cpp b/libc/src/math/generic/log10.cpp
index fb839c111e6a0..7a9c6cd7a4ce7 100644
--- a/libc/src/math/generic/log10.cpp
+++ b/libc/src/math/generic/log10.cpp
@@ -20,7 +20,7 @@
 #include "common_constants.h"
 #include "log_range_reduction.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // 128-bit precision dyadic floating point numbers.
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -898,4 +898,4 @@ LLVM_LIBC_FUNCTION(double, log10, (double x)) {
   return log10_accurate(x_e, index, u);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log10f.cpp b/libc/src/math/generic/log10f.cpp
index 1b6979d4414a9..1e120f4f49ad5 100644
--- a/libc/src/math/generic/log10f.cpp
+++ b/libc/src/math/generic/log10f.cpp
@@ -54,7 +54,7 @@
 // Dept. of Comp. Sci., Rutgets U., Technical Report DCS-TR-758, Nov. 2021.
 // https://arxiv.org/pdf/2111.12852.pdf.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Lookup table for -log10(r) where r is defined in common_constants.cpp.
 static constexpr double LOG10_R[128] = {
@@ -215,4 +215,4 @@ LLVM_LIBC_FUNCTION(float, log10f, (float x)) {
   return static_cast<float>(r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log1p.cpp b/libc/src/math/generic/log1p.cpp
index 2b187080a057b..07f95e8486369 100644
--- a/libc/src/math/generic/log1p.cpp
+++ b/libc/src/math/generic/log1p.cpp
@@ -19,7 +19,7 @@
 
 #include "common_constants.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // 128-bit precision dyadic floating point numbers.
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -1041,4 +1041,4 @@ LLVM_LIBC_FUNCTION(double, log1p, (double x)) {
   return log1p_accurate(x_e, idx, v_dd);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log1pf.cpp b/libc/src/math/generic/log1pf.cpp
index e3c7d95418b1f..8c4957e4e2f8c 100644
--- a/libc/src/math/generic/log1pf.cpp
+++ b/libc/src/math/generic/log1pf.cpp
@@ -30,7 +30,7 @@
 // generated with Sollya using the following command:
 //   fpminimax(log(1 + x)/x, 7, [|D...|], [-2^-6; 2^-6]);
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace internal {
 
@@ -153,4 +153,4 @@ LLVM_LIBC_FUNCTION(float, log1pf, (float x)) {
   return static_cast<float>(r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log2.cpp b/libc/src/math/generic/log2.cpp
index c68bc60e8468b..267ea7a4a4cfa 100644
--- a/libc/src/math/generic/log2.cpp
+++ b/libc/src/math/generic/log2.cpp
@@ -20,7 +20,7 @@
 #include "common_constants.h"
 #include "log_range_reduction.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // 128-bit precision dyadic floating point numbers.
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -959,4 +959,4 @@ LLVM_LIBC_FUNCTION(double, log2, (double x)) {
   return log2_accurate(x_e, index, u);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log2f.cpp b/libc/src/math/generic/log2f.cpp
index c9f7b2121519d..e6665723cde7e 100644
--- a/libc/src/math/generic/log2f.cpp
+++ b/libc/src/math/generic/log2f.cpp
@@ -51,7 +51,7 @@
 // Dept. of Comp. Sci., Rutgets U., Technical Report DCS-TR-758, Nov. 2021.
 // https://arxiv.org/pdf/2111.12852.pdf.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log2f, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -120,4 +120,4 @@ LLVM_LIBC_FUNCTION(float, log2f, (float x)) {
   return static_cast<float>(r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/log_range_reduction.h b/libc/src/math/generic/log_range_reduction.h
index d12da47a2cfae..7695138120856 100644
--- a/libc/src/math/generic/log_range_reduction.h
+++ b/libc/src/math/generic/log_range_reduction.h
@@ -13,7 +13,7 @@
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/uint128.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Struct to store -log*(r) for 4 range reduction steps.
 struct LogRR {
@@ -87,6 +87,6 @@ log_range_reduction(double m_x, const LogRR &log_table,
                                      static_cast<uint64_t>(vv4 >> 64)}));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_LOG_RANGE_REDUCTION_H
diff --git a/libc/src/math/generic/logb.cpp b/libc/src/math/generic/logb.cpp
index 8cd6edce05c23..65f11899547f4 100644
--- a/libc/src/math/generic/logb.cpp
+++ b/libc/src/math/generic/logb.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, logb, (double x)) { return fputil::logb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/logbf.cpp b/libc/src/math/generic/logbf.cpp
index 9f9f7fbcfbb88..54a175f14d31c 100644
--- a/libc/src/math/generic/logbf.cpp
+++ b/libc/src/math/generic/logbf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logbf, (float x)) { return fputil::logb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/logbf128.cpp b/libc/src/math/generic/logbf128.cpp
index 090433d1fb860..fff9c61ba3b2d 100644
--- a/libc/src/math/generic/logbf128.cpp
+++ b/libc/src/math/generic/logbf128.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, logbf128, (float128 x)) { return fputil::logb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/logbf16.cpp b/libc/src/math/generic/logbf16.cpp
index 52eb9ac6a342d..d37a267ec8fe2 100644
--- a/libc/src/math/generic/logbf16.cpp
+++ b/libc/src/math/generic/logbf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, logbf16, (float16 x)) { return fputil::logb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/logbl.cpp b/libc/src/math/generic/logbl.cpp
index f18c3727a3168..6bba6343ae4fd 100644
--- a/libc/src/math/generic/logbl.cpp
+++ b/libc/src/math/generic/logbl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, logbl, (long double x)) {
   return fputil::logb(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/logf.cpp b/libc/src/math/generic/logf.cpp
index 5296ba6bc13cf..588e20bdf607e 100644
--- a/libc/src/math/generic/logf.cpp
+++ b/libc/src/math/generic/logf.cpp
@@ -49,7 +49,7 @@
 // USA, January 16-22, 2022.
 // https://people.cs.rutgers.edu/~sn349/papers/rlibmall-popl-2022.pdf
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logf, (float x)) {
   constexpr double LOG_2 = 0x1.62e42fefa39efp-1;
@@ -170,4 +170,4 @@ LLVM_LIBC_FUNCTION(float, logf, (float x)) {
   return static_cast<float>(r);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lrint.cpp b/libc/src/math/generic/lrint.cpp
index 59fde7b5018d3..a91fa87d21736 100644
--- a/libc/src/math/generic/lrint.cpp
+++ b/libc/src/math/generic/lrint.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrint, (double x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<double,
                                                                      long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lrintf.cpp b/libc/src/math/generic/lrintf.cpp
index e92014c79bdc4..61ce887427ff8 100644
--- a/libc/src/math/generic/lrintf.cpp
+++ b/libc/src/math/generic/lrintf.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintf, (float x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float,
                                                                      long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lrintf128.cpp b/libc/src/math/generic/lrintf128.cpp
index 8e06062fc5802..af0604f2dcadc 100644
--- a/libc/src/math/generic/lrintf128.cpp
+++ b/libc/src/math/generic/lrintf128.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintf128, (float128 x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float128,
                                                                      long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lrintf16.cpp b/libc/src/math/generic/lrintf16.cpp
index d49be281a686b..53978ca7f7f14 100644
--- a/libc/src/math/generic/lrintf16.cpp
+++ b/libc/src/math/generic/lrintf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintf16, (float16 x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<float16,
                                                                      long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lrintl.cpp b/libc/src/math/generic/lrintl.cpp
index b363aacb39bb3..37f923f8aded5 100644
--- a/libc/src/math/generic/lrintl.cpp
+++ b/libc/src/math/generic/lrintl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintl, (long double x)) {
   return fputil::round_to_signed_integer_using_current_rounding_mode<
       long double, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lround.cpp b/libc/src/math/generic/lround.cpp
index a22d8723bdbac..7c9f3df80c696 100644
--- a/libc/src/math/generic/lround.cpp
+++ b/libc/src/math/generic/lround.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lround, (double x)) {
   return fputil::round_to_signed_integer<double, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lroundf.cpp b/libc/src/math/generic/lroundf.cpp
index 40c1323fafd62..1f593dfa477b5 100644
--- a/libc/src/math/generic/lroundf.cpp
+++ b/libc/src/math/generic/lroundf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lroundf, (float x)) {
   return fputil::round_to_signed_integer<float, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lroundf128.cpp b/libc/src/math/generic/lroundf128.cpp
index f93c475038256..3de74b894fc8d 100644
--- a/libc/src/math/generic/lroundf128.cpp
+++ b/libc/src/math/generic/lroundf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lroundf128, (float128 x)) {
   return fputil::round_to_signed_integer<float128, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lroundf16.cpp b/libc/src/math/generic/lroundf16.cpp
index db8113d7bfb5e..7e5129e3dda96 100644
--- a/libc/src/math/generic/lroundf16.cpp
+++ b/libc/src/math/generic/lroundf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lroundf16, (float16 x)) {
   return fputil::round_to_signed_integer<float16, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/lroundl.cpp b/libc/src/math/generic/lroundl.cpp
index c0c3bde4e285a..a19c104ac1e51 100644
--- a/libc/src/math/generic/lroundl.cpp
+++ b/libc/src/math/generic/lroundl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lroundl, (long double x)) {
   return fputil::round_to_signed_integer<long double, long>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/modf.cpp b/libc/src/math/generic/modf.cpp
index d465d194cc64c..b4e985a524375 100644
--- a/libc/src/math/generic/modf.cpp
+++ b/libc/src/math/generic/modf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, modf, (double x, double *iptr)) {
   return fputil::modf(x, *iptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/modff.cpp b/libc/src/math/generic/modff.cpp
index daa6697cb62da..bd24002dda7aa 100644
--- a/libc/src/math/generic/modff.cpp
+++ b/libc/src/math/generic/modff.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, modff, (float x, float *iptr)) {
   return fputil::modf(x, *iptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/modff128.cpp b/libc/src/math/generic/modff128.cpp
index 6aef5f510a953..c99baea1c7bdf 100644
--- a/libc/src/math/generic/modff128.cpp
+++ b/libc/src/math/generic/modff128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, modff128, (float128 x, float128 *iptr)) {
   return fputil::modf(x, *iptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/modff16.cpp b/libc/src/math/generic/modff16.cpp
index 50cc5b5783ade..41625fcf8a5d0 100644
--- a/libc/src/math/generic/modff16.cpp
+++ b/libc/src/math/generic/modff16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, modff16, (float16 x, float16 *iptr)) {
   return fputil::modf(x, *iptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/modfl.cpp b/libc/src/math/generic/modfl.cpp
index 3271da2953dbd..8d38183ae4424 100644
--- a/libc/src/math/generic/modfl.cpp
+++ b/libc/src/math/generic/modfl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, modfl, (long double x, long double *iptr)) {
   return fputil::modf(x, *iptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nan.cpp b/libc/src/math/generic/nan.cpp
index c0d7fbf4ba483..27220298ce67b 100644
--- a/libc/src/math/generic/nan.cpp
+++ b/libc/src/math/generic/nan.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nan, (const char *arg)) {
   auto result = internal::strtonan<double>(arg);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(double, nan, (const char *arg)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nanf.cpp b/libc/src/math/generic/nanf.cpp
index 2751a81ac4619..6de94ea380d1d 100644
--- a/libc/src/math/generic/nanf.cpp
+++ b/libc/src/math/generic/nanf.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nanf, (const char *arg)) {
   auto result = internal::strtonan<float>(arg);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(float, nanf, (const char *arg)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nanf128.cpp b/libc/src/math/generic/nanf128.cpp
index f087c9f074fde..405d86c530f3e 100644
--- a/libc/src/math/generic/nanf128.cpp
+++ b/libc/src/math/generic/nanf128.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, nanf128, (const char *arg)) {
   auto result = internal::strtonan<float128>(arg);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(float128, nanf128, (const char *arg)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nanf16.cpp b/libc/src/math/generic/nanf16.cpp
index c42cd25fe3ef0..ac9048cd324ac 100644
--- a/libc/src/math/generic/nanf16.cpp
+++ b/libc/src/math/generic/nanf16.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nanf16, (const char *arg)) {
   auto result = internal::strtonan<float16>(arg);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(float16, nanf16, (const char *arg)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nanl.cpp b/libc/src/math/generic/nanl.cpp
index 76dcb56b47b2d..78411561a68c0 100644
--- a/libc/src/math/generic/nanl.cpp
+++ b/libc/src/math/generic/nanl.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nanl, (const char *arg)) {
   auto result = internal::strtonan<long double>(arg);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(long double, nanl, (const char *arg)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nearbyint.cpp b/libc/src/math/generic/nearbyint.cpp
index 20cbf6c0e701a..a09cfcf6e1cdd 100644
--- a/libc/src/math/generic/nearbyint.cpp
+++ b/libc/src/math/generic/nearbyint.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nearbyint, (double x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nearbyintf.cpp b/libc/src/math/generic/nearbyintf.cpp
index 5fb103388d262..a887ad490904e 100644
--- a/libc/src/math/generic/nearbyintf.cpp
+++ b/libc/src/math/generic/nearbyintf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nearbyintf, (float x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nearbyintf128.cpp b/libc/src/math/generic/nearbyintf128.cpp
index fca3587f5b58a..3d2bf5b616be5 100644
--- a/libc/src/math/generic/nearbyintf128.cpp
+++ b/libc/src/math/generic/nearbyintf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, nearbyintf128, (float128 x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nearbyintf16.cpp b/libc/src/math/generic/nearbyintf16.cpp
index efd31e9143f57..1b177e8ac5653 100644
--- a/libc/src/math/generic/nearbyintf16.cpp
+++ b/libc/src/math/generic/nearbyintf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nearbyintf16, (float16 x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nearbyintl.cpp b/libc/src/math/generic/nearbyintl.cpp
index 9cbff0169b9b1..1ab6ae4784b44 100644
--- a/libc/src/math/generic/nearbyintl.cpp
+++ b/libc/src/math/generic/nearbyintl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nearbyintl, (long double x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextafter.cpp b/libc/src/math/generic/nextafter.cpp
index 57a58b10be911..24eebd9a0ae1f 100644
--- a/libc/src/math/generic/nextafter.cpp
+++ b/libc/src/math/generic/nextafter.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nextafter, (double x, double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextafterf.cpp b/libc/src/math/generic/nextafterf.cpp
index dd09fb7f900cf..c557f1b3c4ac6 100644
--- a/libc/src/math/generic/nextafterf.cpp
+++ b/libc/src/math/generic/nextafterf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nextafterf, (float x, float y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextafterf128.cpp b/libc/src/math/generic/nextafterf128.cpp
index 905c89022ba10..caf594c44b002 100644
--- a/libc/src/math/generic/nextafterf128.cpp
+++ b/libc/src/math/generic/nextafterf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, nextafterf128, (float128 x, float128 y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextafterf16.cpp b/libc/src/math/generic/nextafterf16.cpp
index 144b3fc614614..06d40aec9c0c6 100644
--- a/libc/src/math/generic/nextafterf16.cpp
+++ b/libc/src/math/generic/nextafterf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nextafterf16, (float16 x, float16 y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextafterl.cpp b/libc/src/math/generic/nextafterl.cpp
index e12ad040b5659..7fc1e8f7b89a5 100644
--- a/libc/src/math/generic/nextafterl.cpp
+++ b/libc/src/math/generic/nextafterl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nextafterl, (long double x, long double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextdown.cpp b/libc/src/math/generic/nextdown.cpp
index 51dee483b70e6..dc3280e479606 100644
--- a/libc/src/math/generic/nextdown.cpp
+++ b/libc/src/math/generic/nextdown.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nextdown, (double x)) {
   return fputil::nextupdown</*IsDown=*/true>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextdownf.cpp b/libc/src/math/generic/nextdownf.cpp
index 857b412d64c3c..1a61cd19076da 100644
--- a/libc/src/math/generic/nextdownf.cpp
+++ b/libc/src/math/generic/nextdownf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nextdownf, (float x)) {
   return fputil::nextupdown</*IsDown=*/true>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextdownf128.cpp b/libc/src/math/generic/nextdownf128.cpp
index 2585a13df3a3c..9dda37350e9b1 100644
--- a/libc/src/math/generic/nextdownf128.cpp
+++ b/libc/src/math/generic/nextdownf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, nextdownf128, (float128 x)) {
   return fputil::nextupdown</*IsDown=*/true>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextdownf16.cpp b/libc/src/math/generic/nextdownf16.cpp
index 9fdaa9dafdd8b..f61282d12828b 100644
--- a/libc/src/math/generic/nextdownf16.cpp
+++ b/libc/src/math/generic/nextdownf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nextdownf16, (float16 x)) {
   return fputil::nextupdown</*IsDown=*/true>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextdownl.cpp b/libc/src/math/generic/nextdownl.cpp
index 06a09c9daea59..3b9d30c2de4d9 100644
--- a/libc/src/math/generic/nextdownl.cpp
+++ b/libc/src/math/generic/nextdownl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nextdownl, (long double x)) {
   return fputil::nextupdown</*IsDown=*/true>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nexttoward.cpp b/libc/src/math/generic/nexttoward.cpp
index ce3e4e6a69ad2..9230e5586f20c 100644
--- a/libc/src/math/generic/nexttoward.cpp
+++ b/libc/src/math/generic/nexttoward.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nexttoward, (double x, long double y)) {
   // We can reuse the nextafter implementation because the internal nextafter is
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(double, nexttoward, (double x, long double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nexttowardf.cpp b/libc/src/math/generic/nexttowardf.cpp
index 3b0762c50160a..86a7d1ffd5b96 100644
--- a/libc/src/math/generic/nexttowardf.cpp
+++ b/libc/src/math/generic/nexttowardf.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nexttowardf, (float x, long double y)) {
   // We can reuse the nextafter implementation because the internal nextafter is
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(float, nexttowardf, (float x, long double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nexttowardf16.cpp b/libc/src/math/generic/nexttowardf16.cpp
index d1d78e8f22d3e..5bc9fa1a7dc20 100644
--- a/libc/src/math/generic/nexttowardf16.cpp
+++ b/libc/src/math/generic/nexttowardf16.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nexttowardf16, (float16 x, long double y)) {
   // We can reuse the nextafter implementation because the internal nextafter is
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(float16, nexttowardf16, (float16 x, long double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nexttowardl.cpp b/libc/src/math/generic/nexttowardl.cpp
index e9f7f83907603..5ef2d2fa9e4e5 100644
--- a/libc/src/math/generic/nexttowardl.cpp
+++ b/libc/src/math/generic/nexttowardl.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nexttowardl, (long double x, long double y)) {
   // We can reuse the nextafter implementation because the internal nextafter is
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(long double, nexttowardl, (long double x, long double y)) {
   return fputil::nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextup.cpp b/libc/src/math/generic/nextup.cpp
index d75a336eefcc8..d0f9ba5685ddb 100644
--- a/libc/src/math/generic/nextup.cpp
+++ b/libc/src/math/generic/nextup.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nextup, (double x)) {
   return fputil::nextupdown</*IsDown=*/false>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextupf.cpp b/libc/src/math/generic/nextupf.cpp
index 3b18dae4488d4..246416ddfb0c4 100644
--- a/libc/src/math/generic/nextupf.cpp
+++ b/libc/src/math/generic/nextupf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nextupf, (float x)) {
   return fputil::nextupdown</*IsDown=*/false>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextupf128.cpp b/libc/src/math/generic/nextupf128.cpp
index 7d862c30976cb..8fae04fb941d6 100644
--- a/libc/src/math/generic/nextupf128.cpp
+++ b/libc/src/math/generic/nextupf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, nextupf128, (float128 x)) {
   return fputil::nextupdown</*IsDown=*/false>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextupf16.cpp b/libc/src/math/generic/nextupf16.cpp
index 5d3d52c94068f..44f61f090c4da 100644
--- a/libc/src/math/generic/nextupf16.cpp
+++ b/libc/src/math/generic/nextupf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, nextupf16, (float16 x)) {
   return fputil::nextupdown</*IsDown=*/false>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/nextupl.cpp b/libc/src/math/generic/nextupl.cpp
index ccc52445eec5c..80369abde79c5 100644
--- a/libc/src/math/generic/nextupl.cpp
+++ b/libc/src/math/generic/nextupl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, nextupl, (long double x)) {
   return fputil::nextupdown</*IsDown=*/false>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/powf.cpp b/libc/src/math/generic/powf.cpp
index 13c04240f59c2..afd57d23bfcca 100644
--- a/libc/src/math/generic/powf.cpp
+++ b/libc/src/math/generic/powf.cpp
@@ -26,7 +26,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using fputil::DoubleDouble;
 using fputil::TripleDouble;
@@ -856,4 +856,4 @@ LLVM_LIBC_FUNCTION(float, powf, (float x, float y)) {
          0.0f;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/range_reduction.h b/libc/src/math/generic/range_reduction.h
index 8a75af5877962..6475081632f56 100644
--- a/libc/src/math/generic/range_reduction.h
+++ b/libc/src/math/generic/range_reduction.h
@@ -14,7 +14,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace generic {
 
@@ -84,6 +84,6 @@ LIBC_INLINE int64_t large_range_reduction(double x, int x_exp, double &y) {
 
 } // namespace generic
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_RANGE_REDUCTION_H
diff --git a/libc/src/math/generic/range_reduction_double_common.h b/libc/src/math/generic/range_reduction_double_common.h
index 150118fba0ba0..836e0460b97b6 100644
--- a/libc/src/math/generic/range_reduction_double_common.h
+++ b/libc/src/math/generic/range_reduction_double_common.h
@@ -17,7 +17,7 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace generic {
 
@@ -225,6 +225,6 @@ LIBC_INLINE constexpr Float128 SIN_K_PI_OVER_128_F128[65] = {
 
 } // namespace generic
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_RANGE_REDUCTION_DOUBLE_COMMON_H
diff --git a/libc/src/math/generic/range_reduction_double_fma.h b/libc/src/math/generic/range_reduction_double_fma.h
index c136de957d2f0..9d19a07c56e53 100644
--- a/libc/src/math/generic/range_reduction_double_fma.h
+++ b/libc/src/math/generic/range_reduction_double_fma.h
@@ -15,7 +15,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace fma {
 
@@ -490,6 +490,6 @@ LIBC_INLINE unsigned range_reduction_small(double x, DoubleDouble &u) {
 
 } // namespace fma
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_RANGE_REDUCTION_DOUBLE_FMA_H
diff --git a/libc/src/math/generic/range_reduction_double_nofma.h b/libc/src/math/generic/range_reduction_double_nofma.h
index b9d34d6d9f1a8..26be8c76ea7b0 100644
--- a/libc/src/math/generic/range_reduction_double_nofma.h
+++ b/libc/src/math/generic/range_reduction_double_nofma.h
@@ -15,7 +15,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace nofma {
 
@@ -488,6 +488,6 @@ LIBC_INLINE unsigned range_reduction_small(double x, DoubleDouble &u) {
 
 } // namespace nofma
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_RANGE_REDUCTION_DOUBLE_NOFMA_H
diff --git a/libc/src/math/generic/range_reduction_fma.h b/libc/src/math/generic/range_reduction_fma.h
index 97b9e3d0f89db..3da567dbd3a55 100644
--- a/libc/src/math/generic/range_reduction_fma.h
+++ b/libc/src/math/generic/range_reduction_fma.h
@@ -13,7 +13,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace fma {
 
@@ -86,6 +86,6 @@ LIBC_INLINE int64_t large_range_reduction(double x, int x_exp, double &y) {
 
 } // namespace fma
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_RANGE_REDUCTION_FMA_H
diff --git a/libc/src/math/generic/remainder.cpp b/libc/src/math/generic/remainder.cpp
index 3703a32057751..8a0fe49388a32 100644
--- a/libc/src/math/generic/remainder.cpp
+++ b/libc/src/math/generic/remainder.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remainder, (double x, double y)) {
   int quotient;
   return fputil::remquo(x, y, quotient);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remainderf.cpp b/libc/src/math/generic/remainderf.cpp
index 5e8c5e9996b69..67c3ed3f708d5 100644
--- a/libc/src/math/generic/remainderf.cpp
+++ b/libc/src/math/generic/remainderf.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remainderf, (float x, float y)) {
   int quotient;
   return fputil::remquo(x, y, quotient);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remainderf16.cpp b/libc/src/math/generic/remainderf16.cpp
index 35177228acdbf..7d0f48715bbc0 100644
--- a/libc/src/math/generic/remainderf16.cpp
+++ b/libc/src/math/generic/remainderf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, remainderf16, (float16 x, float16 y)) {
   int quotient;
   return fputil::remquo(x, y, quotient);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remainderl.cpp b/libc/src/math/generic/remainderl.cpp
index def5d4b6fdb98..53abfd485fc0c 100644
--- a/libc/src/math/generic/remainderl.cpp
+++ b/libc/src/math/generic/remainderl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, remainderl, (long double x, long double y)) {
   int quotient;
   return fputil::remquo(x, y, quotient);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remquo.cpp b/libc/src/math/generic/remquo.cpp
index bd88742e5a5c2..f1257a9ee5230 100644
--- a/libc/src/math/generic/remquo.cpp
+++ b/libc/src/math/generic/remquo.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remquo, (double x, double y, int *exp)) {
   return fputil::remquo(x, y, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remquof.cpp b/libc/src/math/generic/remquof.cpp
index b59606f6266fa..a008ce52ac75f 100644
--- a/libc/src/math/generic/remquof.cpp
+++ b/libc/src/math/generic/remquof.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remquof, (float x, float y, int *exp)) {
   return fputil::remquo(x, y, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remquof128.cpp b/libc/src/math/generic/remquof128.cpp
index e195c7b51b5ff..788ab00962fc9 100644
--- a/libc/src/math/generic/remquof128.cpp
+++ b/libc/src/math/generic/remquof128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, remquof128, (float128 x, float128 y, int *exp)) {
   return fputil::remquo(x, y, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remquof16.cpp b/libc/src/math/generic/remquof16.cpp
index a373bfa58651b..7f688b189476e 100644
--- a/libc/src/math/generic/remquof16.cpp
+++ b/libc/src/math/generic/remquof16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, remquof16, (float16 x, float16 y, int *exp)) {
   return fputil::remquo(x, y, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/remquol.cpp b/libc/src/math/generic/remquol.cpp
index 7a08af36a4753..28d07f2d11c30 100644
--- a/libc/src/math/generic/remquol.cpp
+++ b/libc/src/math/generic/remquol.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, remquol,
                    (long double x, long double y, int *exp)) {
   return fputil::remquo(x, y, *exp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/rint.cpp b/libc/src/math/generic/rint.cpp
index e3189ea48b569..661b992bf16a5 100644
--- a/libc/src/math/generic/rint.cpp
+++ b/libc/src/math/generic/rint.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, rint, (double x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/rintf.cpp b/libc/src/math/generic/rintf.cpp
index 259a46f376537..cb93e3e487c4f 100644
--- a/libc/src/math/generic/rintf.cpp
+++ b/libc/src/math/generic/rintf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, rintf, (float x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/rintf128.cpp b/libc/src/math/generic/rintf128.cpp
index ba9912d6f8538..ce377ae5d9c57 100644
--- a/libc/src/math/generic/rintf128.cpp
+++ b/libc/src/math/generic/rintf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, rintf128, (float128 x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/rintf16.cpp b/libc/src/math/generic/rintf16.cpp
index e0caa7ad2550e..2504f9bdbf766 100644
--- a/libc/src/math/generic/rintf16.cpp
+++ b/libc/src/math/generic/rintf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, rintf16, (float16 x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/rintl.cpp b/libc/src/math/generic/rintl.cpp
index 5110f238cb05f..151ca410c32a0 100644
--- a/libc/src/math/generic/rintl.cpp
+++ b/libc/src/math/generic/rintl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, rintl, (long double x)) {
   return fputil::round_using_current_rounding_mode(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/round.cpp b/libc/src/math/generic/round.cpp
index ca8f19f35f7fe..02e1c01f580dd 100644
--- a/libc/src/math/generic/round.cpp
+++ b/libc/src/math/generic/round.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, round, (double x)) { return fputil::round(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundeven.cpp b/libc/src/math/generic/roundeven.cpp
index 5f2adf9b5fce6..9ec603884beea 100644
--- a/libc/src/math/generic/roundeven.cpp
+++ b/libc/src/math/generic/roundeven.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, roundeven, (double x)) {
   return fputil::round_using_specific_rounding_mode(x, FP_INT_TONEAREST);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundevenf.cpp b/libc/src/math/generic/roundevenf.cpp
index 353bec74ecf02..71fa03d3afce8 100644
--- a/libc/src/math/generic/roundevenf.cpp
+++ b/libc/src/math/generic/roundevenf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, roundevenf, (float x)) {
   return fputil::round_using_specific_rounding_mode(x, FP_INT_TONEAREST);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundevenf128.cpp b/libc/src/math/generic/roundevenf128.cpp
index 259388c86fd33..00f07f9c0aa47 100644
--- a/libc/src/math/generic/roundevenf128.cpp
+++ b/libc/src/math/generic/roundevenf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, roundevenf128, (float128 x)) {
   return fputil::round_using_specific_rounding_mode(x, FP_INT_TONEAREST);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundevenf16.cpp b/libc/src/math/generic/roundevenf16.cpp
index 9ecf79ce6f6c2..6d17534daeb3e 100644
--- a/libc/src/math/generic/roundevenf16.cpp
+++ b/libc/src/math/generic/roundevenf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, roundevenf16, (float16 x)) {
   return fputil::round_using_specific_rounding_mode(x, FP_INT_TONEAREST);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundevenl.cpp b/libc/src/math/generic/roundevenl.cpp
index f8f429faeec8a..c4a3acc9b6dd3 100644
--- a/libc/src/math/generic/roundevenl.cpp
+++ b/libc/src/math/generic/roundevenl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, roundevenl, (long double x)) {
   return fputil::round_using_specific_rounding_mode(x, FP_INT_TONEAREST);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundf.cpp b/libc/src/math/generic/roundf.cpp
index 9627390ea8b8d..2748ded0bf1bb 100644
--- a/libc/src/math/generic/roundf.cpp
+++ b/libc/src/math/generic/roundf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, roundf, (float x)) { return fputil::round(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundf128.cpp b/libc/src/math/generic/roundf128.cpp
index 5b35d746d4407..831f04cb488e4 100644
--- a/libc/src/math/generic/roundf128.cpp
+++ b/libc/src/math/generic/roundf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, roundf128, (float128 x)) {
   return fputil::round(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundf16.cpp b/libc/src/math/generic/roundf16.cpp
index 75a255d7798d5..32cba7c13571f 100644
--- a/libc/src/math/generic/roundf16.cpp
+++ b/libc/src/math/generic/roundf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, roundf16, (float16 x)) { return fputil::round(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/roundl.cpp b/libc/src/math/generic/roundl.cpp
index c734225844079..b0138ff3a01ff 100644
--- a/libc/src/math/generic/roundl.cpp
+++ b/libc/src/math/generic/roundl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, roundl, (long double x)) {
   return fputil::round(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalblnf16.cpp b/libc/src/math/generic/scalblnf16.cpp
index 844a071d754a6..e63766b24d1c0 100644
--- a/libc/src/math/generic/scalblnf16.cpp
+++ b/libc/src/math/generic/scalblnf16.cpp
@@ -16,10 +16,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, scalblnf16, (float16 x, long n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalbn.cpp b/libc/src/math/generic/scalbn.cpp
index 207cce1550bc0..a59be28a1d70f 100644
--- a/libc/src/math/generic/scalbn.cpp
+++ b/libc/src/math/generic/scalbn.cpp
@@ -15,10 +15,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, scalbn, (double x, int n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalbnf.cpp b/libc/src/math/generic/scalbnf.cpp
index e478088d3ce5a..d61bf9c9760d9 100644
--- a/libc/src/math/generic/scalbnf.cpp
+++ b/libc/src/math/generic/scalbnf.cpp
@@ -15,10 +15,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, scalbnf, (float x, int n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalbnf128.cpp b/libc/src/math/generic/scalbnf128.cpp
index 5fd59611d53de..21187546b9614 100644
--- a/libc/src/math/generic/scalbnf128.cpp
+++ b/libc/src/math/generic/scalbnf128.cpp
@@ -15,10 +15,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, scalbnf128, (float128 x, int n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalbnf16.cpp b/libc/src/math/generic/scalbnf16.cpp
index a42fdfffd569f..5cfd81a955fec 100644
--- a/libc/src/math/generic/scalbnf16.cpp
+++ b/libc/src/math/generic/scalbnf16.cpp
@@ -16,10 +16,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, scalbnf16, (float16 x, int n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/scalbnl.cpp b/libc/src/math/generic/scalbnl.cpp
index 1225a7ebaf572..f404af0d82577 100644
--- a/libc/src/math/generic/scalbnl.cpp
+++ b/libc/src/math/generic/scalbnl.cpp
@@ -15,10 +15,10 @@
 #error "FLT_RADIX != 2 is not supported."
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, scalbnl, (long double x, int n)) {
   return fputil::ldexp(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/setpayloadf16.cpp b/libc/src/math/generic/setpayloadf16.cpp
index 98fc239765d81..0f108e97a4e7b 100644
--- a/libc/src/math/generic/setpayloadf16.cpp
+++ b/libc/src/math/generic/setpayloadf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setpayloadf16, (float16 * res, float16 pl)) {
   return static_cast<int>(fputil::setpayload</*IsSignaling=*/false>(*res, pl));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/setpayloadsigf16.cpp b/libc/src/math/generic/setpayloadsigf16.cpp
index c79620f6dfbe2..cd830c8bba6ae 100644
--- a/libc/src/math/generic/setpayloadsigf16.cpp
+++ b/libc/src/math/generic/setpayloadsigf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setpayloadsigf16, (float16 * res, float16 pl)) {
   return static_cast<int>(fputil::setpayload</*IsSignaling=*/true>(*res, pl));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sin.cpp b/libc/src/math/generic/sin.cpp
index e7a43245408bf..08ee80c74a704 100644
--- a/libc/src/math/generic/sin.cpp
+++ b/libc/src/math/generic/sin.cpp
@@ -49,7 +49,7 @@ LIBC_INLINE constexpr bool NO_FMA = true;
 #define LIBC_MATH_SIN_SKIP_ACCURATE_PASS
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using DoubleDouble = fputil::DoubleDouble;
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -204,4 +204,4 @@ LLVM_LIBC_FUNCTION(double, sin, (double x)) {
 #endif // !LIBC_MATH_SIN_SKIP_ACCURATE_PASS
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sincos.cpp b/libc/src/math/generic/sincos.cpp
index ed70e380b72e8..2799dbecdb23c 100644
--- a/libc/src/math/generic/sincos.cpp
+++ b/libc/src/math/generic/sincos.cpp
@@ -50,7 +50,7 @@ LIBC_INLINE constexpr bool NO_FMA = true;
 #define LIBC_MATH_SINCOS_SKIP_ACCURATE_PASS
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using DoubleDouble = fputil::DoubleDouble;
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -244,4 +244,4 @@ LLVM_LIBC_FUNCTION(void, sincos, (double x, double *sin_x, double *cos_x)) {
 #endif // !LIBC_MATH_SINCOS_SKIP_ACCURATE_PASS
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sincos_eval.h b/libc/src/math/generic/sincos_eval.h
index 5b4f3b8563cff..14df59a389161 100644
--- a/libc/src/math/generic/sincos_eval.h
+++ b/libc/src/math/generic/sincos_eval.h
@@ -15,7 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/integer_literals.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace generic {
 
@@ -119,6 +119,6 @@ LIBC_INLINE void sincos_eval(const Float128 &u, Float128 &sin_u,
 
 } // namespace generic
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_SINCOSF_EVAL_H
diff --git a/libc/src/math/generic/sincosf.cpp b/libc/src/math/generic/sincosf.cpp
index 9ebf0b6868967..1a2cb27189f76 100644
--- a/libc/src/math/generic/sincosf.cpp
+++ b/libc/src/math/generic/sincosf.cpp
@@ -18,7 +18,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Exceptional values
 static constexpr int N_EXCEPTS = 6;
@@ -199,4 +199,4 @@ LLVM_LIBC_FUNCTION(void, sincosf, (float x, float *sinp, float *cosp)) {
       sin_y, -sin_k, fputil::multiply_add(cosm1_y, cos_k, cos_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sincosf_utils.h b/libc/src/math/generic/sincosf_utils.h
index f20fb6a05a324..a20f92305dc89 100644
--- a/libc/src/math/generic/sincosf_utils.h
+++ b/libc/src/math/generic/sincosf_utils.h
@@ -28,7 +28,7 @@ using LIBC_NAMESPACE::generic::large_range_reduction;
 using LIBC_NAMESPACE::generic::small_range_reduction;
 #endif // LIBC_TARGET_CPU_HAS_FMA
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Lookup table for sin(k * pi / 32) with k = 0, ..., 63.
 // Table is generated with Sollya as follow:
@@ -119,6 +119,6 @@ LIBC_INLINE void sincospif_eval(double xd, double &sin_k, double &cos_k,
   sincosf_poly_eval(k, y, sin_k, cos_k, sin_y, cosm1_y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GENERIC_SINCOSF_UTILS_H
diff --git a/libc/src/math/generic/sinf.cpp b/libc/src/math/generic/sinf.cpp
index ff555bcb12198..c693f21ceadde 100644
--- a/libc/src/math/generic/sinf.cpp
+++ b/libc/src/math/generic/sinf.cpp
@@ -26,7 +26,7 @@
 #include "range_reduction.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -155,4 +155,4 @@ LLVM_LIBC_FUNCTION(float, sinf, (float x)) {
       sin_y, cos_k, fputil::multiply_add(cosm1_y, sin_k, sin_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sinhf.cpp b/libc/src/math/generic/sinhf.cpp
index 780c9a1f8d6ac..1eb89dc95cedc 100644
--- a/libc/src/math/generic/sinhf.cpp
+++ b/libc/src/math/generic/sinhf.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinhf, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -72,4 +72,4 @@ LLVM_LIBC_FUNCTION(float, sinhf, (float x)) {
   return static_cast<float>(exp_pm_eval</*is_sinh*/ true>(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sinpif.cpp b/libc/src/math/generic/sinpif.cpp
index 05bdad3ab4d0e..e524bbee9e3ca 100644
--- a/libc/src/math/generic/sinpif.cpp
+++ b/libc/src/math/generic/sinpif.cpp
@@ -15,7 +15,7 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinpif, (float x)) {
   using FPBits = typename fputil::FPBits<float>;
@@ -108,4 +108,4 @@ LLVM_LIBC_FUNCTION(float, sinpif, (float x)) {
       sin_y, cos_k, fputil::multiply_add(cosm1_y, sin_k, sin_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sqrt.cpp b/libc/src/math/generic/sqrt.cpp
index f33b0a2cdcf74..63044b4148dbf 100644
--- a/libc/src/math/generic/sqrt.cpp
+++ b/libc/src/math/generic/sqrt.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sqrt, (double x)) { return fputil::sqrt<double>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sqrtf.cpp b/libc/src/math/generic/sqrtf.cpp
index 26a53e9077c1c..c264b41d364bd 100644
--- a/libc/src/math/generic/sqrtf.cpp
+++ b/libc/src/math/generic/sqrtf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sqrtf, (float x)) { return fputil::sqrt<float>(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sqrtf128.cpp b/libc/src/math/generic/sqrtf128.cpp
index 70e28ddb692d4..a9b85abce84cd 100644
--- a/libc/src/math/generic/sqrtf128.cpp
+++ b/libc/src/math/generic/sqrtf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, sqrtf128, (float128 x)) {
   return fputil::sqrt<float128>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/sqrtl.cpp b/libc/src/math/generic/sqrtl.cpp
index 9f0cc87853823..fa9d1f5000b68 100644
--- a/libc/src/math/generic/sqrtl.cpp
+++ b/libc/src/math/generic/sqrtl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, sqrtl, (long double x)) {
   return fputil::sqrt<long double>(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/tan.cpp b/libc/src/math/generic/tan.cpp
index d153cc53acc80..fb01bad77deb2 100644
--- a/libc/src/math/generic/tan.cpp
+++ b/libc/src/math/generic/tan.cpp
@@ -52,7 +52,7 @@ LIBC_INLINE constexpr bool NO_FMA = true;
 #define LIBC_MATH_TAN_SKIP_ACCURATE_PASS
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using DoubleDouble = fputil::DoubleDouble;
 using Float128 = typename fputil::DyadicFloat<128>;
@@ -316,4 +316,4 @@ LLVM_LIBC_FUNCTION(double, tan, (double x)) {
 #endif // !LIBC_MATH_TAN_SKIP_ACCURATE_PASS
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/tanf.cpp b/libc/src/math/generic/tanf.cpp
index b2882b57b29c8..f6037b0e5c242 100644
--- a/libc/src/math/generic/tanf.cpp
+++ b/libc/src/math/generic/tanf.cpp
@@ -20,7 +20,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Exceptional cases for tanf.
 constexpr size_t N_EXCEPTS = 6;
@@ -139,4 +139,4 @@ LLVM_LIBC_FUNCTION(float, tanf, (float x)) {
       multiply_add(sin_y, -sin_k, multiply_add(cosm1_y, cos_k, cos_k)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/tanhf.cpp b/libc/src/math/generic/tanhf.cpp
index 0efd0cefebe57..cf4b292cdfca9 100644
--- a/libc/src/math/generic/tanhf.cpp
+++ b/libc/src/math/generic/tanhf.cpp
@@ -15,7 +15,7 @@
 #include "src/__support/macros/properties/cpu_features.h"
 #include "src/math/generic/explogxf.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // 2^6 * log2(e)
 constexpr double LOG2_E_EXP2_6 = ExpBase::LOG2_B * 2.0;
@@ -116,4 +116,4 @@ LLVM_LIBC_FUNCTION(float, tanhf, (float x)) {
   return static_cast<float>((r - mh) / (r + mh));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/totalorderf16.cpp b/libc/src/math/generic/totalorderf16.cpp
index e43beb33d2fd3..f4d46aa69b722 100644
--- a/libc/src/math/generic/totalorderf16.cpp
+++ b/libc/src/math/generic/totalorderf16.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, totalorderf16, (const float16 *x, const float16 *y)) {
   return static_cast<int>(fputil::totalorder(*x, *y));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/totalordermagf16.cpp b/libc/src/math/generic/totalordermagf16.cpp
index 09d04fbeb2d2c..e53f92d5990fc 100644
--- a/libc/src/math/generic/totalordermagf16.cpp
+++ b/libc/src/math/generic/totalordermagf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, totalordermagf16,
                    (const float16 *x, const float16 *y)) {
   return static_cast<int>(fputil::totalordermag(*x, *y));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/trunc.cpp b/libc/src/math/generic/trunc.cpp
index d171ab1f092fd..ecc28ecf6ef8d 100644
--- a/libc/src/math/generic/trunc.cpp
+++ b/libc/src/math/generic/trunc.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, trunc, (double x)) { return fputil::trunc(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/truncf.cpp b/libc/src/math/generic/truncf.cpp
index 93bfb7f2882a5..cb8fecb2bf6a3 100644
--- a/libc/src/math/generic/truncf.cpp
+++ b/libc/src/math/generic/truncf.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, truncf, (float x)) { return fputil::trunc(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/truncf128.cpp b/libc/src/math/generic/truncf128.cpp
index ecf05fa73b35c..41ceb414a5c7a 100644
--- a/libc/src/math/generic/truncf128.cpp
+++ b/libc/src/math/generic/truncf128.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, truncf128, (float128 x)) {
   return fputil::trunc(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/truncf16.cpp b/libc/src/math/generic/truncf16.cpp
index 65bd57d810323..0040e98121fc2 100644
--- a/libc/src/math/generic/truncf16.cpp
+++ b/libc/src/math/generic/truncf16.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, truncf16, (float16 x)) { return fputil::trunc(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/truncl.cpp b/libc/src/math/generic/truncl.cpp
index 3429129183100..636d3a2be88d0 100644
--- a/libc/src/math/generic/truncl.cpp
+++ b/libc/src/math/generic/truncl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, truncl, (long double x)) {
   return fputil::trunc(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfp.cpp b/libc/src/math/generic/ufromfp.cpp
index 15800d67fd8d3..778ef4c571b7c 100644
--- a/libc/src/math/generic/ufromfp.cpp
+++ b/libc/src/math/generic/ufromfp.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ufromfp, (double x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpf.cpp b/libc/src/math/generic/ufromfpf.cpp
index 898446ec45aa2..769bd5747dbde 100644
--- a/libc/src/math/generic/ufromfpf.cpp
+++ b/libc/src/math/generic/ufromfpf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ufromfpf, (float x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpf128.cpp b/libc/src/math/generic/ufromfpf128.cpp
index cc728f35551ca..0586edcbb1340 100644
--- a/libc/src/math/generic/ufromfpf128.cpp
+++ b/libc/src/math/generic/ufromfpf128.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, ufromfpf128,
                    (float128 x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpf16.cpp b/libc/src/math/generic/ufromfpf16.cpp
index bf041f463115a..9dbca327faa2c 100644
--- a/libc/src/math/generic/ufromfpf16.cpp
+++ b/libc/src/math/generic/ufromfpf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, ufromfpf16,
                    (float16 x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpl.cpp b/libc/src/math/generic/ufromfpl.cpp
index bd353e9ebbb56..b4f153a894df2 100644
--- a/libc/src/math/generic/ufromfpl.cpp
+++ b/libc/src/math/generic/ufromfpl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, ufromfpl,
                    (long double x, int rnd, unsigned int width)) {
   return fputil::fromfp</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpx.cpp b/libc/src/math/generic/ufromfpx.cpp
index 5ad95ff3061eb..82140017313d0 100644
--- a/libc/src/math/generic/ufromfpx.cpp
+++ b/libc/src/math/generic/ufromfpx.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ufromfpx, (double x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpxf.cpp b/libc/src/math/generic/ufromfpxf.cpp
index 7c878489e8d25..b041cb94014c4 100644
--- a/libc/src/math/generic/ufromfpxf.cpp
+++ b/libc/src/math/generic/ufromfpxf.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ufromfpxf, (float x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpxf128.cpp b/libc/src/math/generic/ufromfpxf128.cpp
index 57c290365e693..9e19072651c54 100644
--- a/libc/src/math/generic/ufromfpxf128.cpp
+++ b/libc/src/math/generic/ufromfpxf128.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float128, ufromfpxf128,
                    (float128 x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpxf16.cpp b/libc/src/math/generic/ufromfpxf16.cpp
index aeb7aa8d76b63..a83b33ca84b6d 100644
--- a/libc/src/math/generic/ufromfpxf16.cpp
+++ b/libc/src/math/generic/ufromfpxf16.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float16, ufromfpxf16,
                    (float16 x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/ufromfpxl.cpp b/libc/src/math/generic/ufromfpxl.cpp
index 9a8ba7aa5b91d..db478d8b98a5c 100644
--- a/libc/src/math/generic/ufromfpxl.cpp
+++ b/libc/src/math/generic/ufromfpxl.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, ufromfpxl,
                    (long double x, int rnd, unsigned int width)) {
   return fputil::fromfpx</*IsSigned=*/false>(x, rnd, width);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/getpayloadf16.h b/libc/src/math/getpayloadf16.h
index 1349dfd370239..4a39bb6bcce11 100644
--- a/libc/src/math/getpayloadf16.h
+++ b/libc/src/math/getpayloadf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 getpayloadf16(const float16 *x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_GETPAYLOADF16_H
diff --git a/libc/src/math/hypot.h b/libc/src/math/hypot.h
index 981473f9e8d5b..ac4940b806b25 100644
--- a/libc/src/math/hypot.h
+++ b/libc/src/math/hypot.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_HYPOT_H
 #define LLVM_LIBC_SRC_MATH_HYPOT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double hypot(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_HYPOT_H
diff --git a/libc/src/math/hypotf.h b/libc/src/math/hypotf.h
index 1d290b421f151..c56fd1c2a65bf 100644
--- a/libc/src/math/hypotf.h
+++ b/libc/src/math/hypotf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_HYPOTF_H
 #define LLVM_LIBC_SRC_MATH_HYPOTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float hypotf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_HYPOTF_H
diff --git a/libc/src/math/ilogb.h b/libc/src/math/ilogb.h
index e851a6a4c4d55..820dfd81e8504 100644
--- a/libc/src/math/ilogb.h
+++ b/libc/src/math/ilogb.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGB_H
 #define LLVM_LIBC_SRC_MATH_ILOGB_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ilogb(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ILOGB_H
diff --git a/libc/src/math/ilogbf.h b/libc/src/math/ilogbf.h
index edea34618ac02..5d3caefcfe77e 100644
--- a/libc/src/math/ilogbf.h
+++ b/libc/src/math/ilogbf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBF_H
 #define LLVM_LIBC_SRC_MATH_ILOGBF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ilogbf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ILOGBF_H
diff --git a/libc/src/math/ilogbf128.h b/libc/src/math/ilogbf128.h
index d8fe3b970973c..be5ebcb57f9d0 100644
--- a/libc/src/math/ilogbf128.h
+++ b/libc/src/math/ilogbf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ilogbf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ILOGBF128_H
diff --git a/libc/src/math/ilogbf16.h b/libc/src/math/ilogbf16.h
index 4884a140cb4f6..5f767fc0a5ec9 100644
--- a/libc/src/math/ilogbf16.h
+++ b/libc/src/math/ilogbf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ilogbf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ILOGBF16_H
diff --git a/libc/src/math/ilogbl.h b/libc/src/math/ilogbl.h
index 1b4782f3445ca..af292b7152975 100644
--- a/libc/src/math/ilogbl.h
+++ b/libc/src/math/ilogbl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBL_H
 #define LLVM_LIBC_SRC_MATH_ILOGBL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ilogbl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ILOGBL_H
diff --git a/libc/src/math/isnan.h b/libc/src/math/isnan.h
index eda8e7eb30f39..2ed37df929fd5 100644
--- a/libc/src/math/isnan.h
+++ b/libc/src/math/isnan.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNAN_H
 #define LLVM_LIBC_SRC_MATH_ISNAN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isnan(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ISNAN_H
diff --git a/libc/src/math/isnanf.h b/libc/src/math/isnanf.h
index a12d39ee5af97..55cbb8bcf5c17 100644
--- a/libc/src/math/isnanf.h
+++ b/libc/src/math/isnanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNANF_H
 #define LLVM_LIBC_SRC_MATH_ISNANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isnanf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ISNANF_H
diff --git a/libc/src/math/isnanl.h b/libc/src/math/isnanl.h
index 9fbfca03cb15e..2f271743d610e 100644
--- a/libc/src/math/isnanl.h
+++ b/libc/src/math/isnanl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNANL_H
 #define LLVM_LIBC_SRC_MATH_ISNANL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isnanl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ISNANL_H
diff --git a/libc/src/math/ldexp.h b/libc/src/math/ldexp.h
index 7a8bcc34bf581..c2423947236b4 100644
--- a/libc/src/math/ldexp.h
+++ b/libc/src/math/ldexp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXP_H
 #define LLVM_LIBC_SRC_MATH_LDEXP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double ldexp(double x, int exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LDEXP_H
diff --git a/libc/src/math/ldexpf.h b/libc/src/math/ldexpf.h
index c06b487171cd2..7d48a7ebe6929 100644
--- a/libc/src/math/ldexpf.h
+++ b/libc/src/math/ldexpf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPF_H
 #define LLVM_LIBC_SRC_MATH_LDEXPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float ldexpf(float x, int exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LDEXPF_H
diff --git a/libc/src/math/ldexpf128.h b/libc/src/math/ldexpf128.h
index 7aa6ded3c8e4c..fcb481b6ba726 100644
--- a/libc/src/math/ldexpf128.h
+++ b/libc/src/math/ldexpf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 ldexpf128(float128 x, int exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LDEXPF128_H
diff --git a/libc/src/math/ldexpf16.h b/libc/src/math/ldexpf16.h
index 7303610b18dff..213fd3edee3af 100644
--- a/libc/src/math/ldexpf16.h
+++ b/libc/src/math/ldexpf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 ldexpf16(float16 x, int exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LDEXPF16_H
diff --git a/libc/src/math/ldexpl.h b/libc/src/math/ldexpl.h
index f2df0c86cad22..02d00f386a843 100644
--- a/libc/src/math/ldexpl.h
+++ b/libc/src/math/ldexpl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPL_H
 #define LLVM_LIBC_SRC_MATH_LDEXPL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double ldexpl(long double x, int exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LDEXPL_H
diff --git a/libc/src/math/llogb.h b/libc/src/math/llogb.h
index b51f89fc0416e..8cbc2a67ffc8f 100644
--- a/libc/src/math/llogb.h
+++ b/libc/src/math/llogb.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long llogb(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLOGB_H
diff --git a/libc/src/math/llogbf.h b/libc/src/math/llogbf.h
index af4aa8a5b15c0..74e681e04db6a 100644
--- a/libc/src/math/llogbf.h
+++ b/libc/src/math/llogbf.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long llogbf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLOGBF_H
diff --git a/libc/src/math/llogbf128.h b/libc/src/math/llogbf128.h
index ce7c872a63db4..7bcfeee10a484 100644
--- a/libc/src/math/llogbf128.h
+++ b/libc/src/math/llogbf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long llogbf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLOGBF128_H
diff --git a/libc/src/math/llogbf16.h b/libc/src/math/llogbf16.h
index 267ae410a31d8..6b9f5dd5367c0 100644
--- a/libc/src/math/llogbf16.h
+++ b/libc/src/math/llogbf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long llogbf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLOGBF16_H
diff --git a/libc/src/math/llogbl.h b/libc/src/math/llogbl.h
index 3c323a3af2a93..d4220a66f4b8e 100644
--- a/libc/src/math/llogbl.h
+++ b/libc/src/math/llogbl.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long llogbl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLOGBL_H
diff --git a/libc/src/math/llrint.h b/libc/src/math/llrint.h
index 69c881ea844f9..44dc9969a47d3 100644
--- a/libc/src/math/llrint.h
+++ b/libc/src/math/llrint.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINT_H
 #define LLVM_LIBC_SRC_MATH_LLRINT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llrint(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLRINT_H
diff --git a/libc/src/math/llrintf.h b/libc/src/math/llrintf.h
index 023e84aa05092..af0b6ed90d4f4 100644
--- a/libc/src/math/llrintf.h
+++ b/libc/src/math/llrintf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTF_H
 #define LLVM_LIBC_SRC_MATH_LLRINTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llrintf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLRINTF_H
diff --git a/libc/src/math/llrintf128.h b/libc/src/math/llrintf128.h
index ac9c249342cc7..363cfd437b507 100644
--- a/libc/src/math/llrintf128.h
+++ b/libc/src/math/llrintf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llrintf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLRINTF128_H
diff --git a/libc/src/math/llrintf16.h b/libc/src/math/llrintf16.h
index 90ad0e9e2ea2a..67395ff3b475d 100644
--- a/libc/src/math/llrintf16.h
+++ b/libc/src/math/llrintf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llrintf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLRINTF16_H
diff --git a/libc/src/math/llrintl.h b/libc/src/math/llrintl.h
index 4dbcc60589812..cf5b4000a9a27 100644
--- a/libc/src/math/llrintl.h
+++ b/libc/src/math/llrintl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTL_H
 #define LLVM_LIBC_SRC_MATH_LLRINTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llrintl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLRINTL_H
diff --git a/libc/src/math/llround.h b/libc/src/math/llround.h
index 265b4fd92e0e8..3bd0085b4c7dd 100644
--- a/libc/src/math/llround.h
+++ b/libc/src/math/llround.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUND_H
 #define LLVM_LIBC_SRC_MATH_LLROUND_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llround(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLROUND_H
diff --git a/libc/src/math/llroundf.h b/libc/src/math/llroundf.h
index 2141ca91da46b..f79005cffe8f9 100644
--- a/libc/src/math/llroundf.h
+++ b/libc/src/math/llroundf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDF_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llroundf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLROUNDF_H
diff --git a/libc/src/math/llroundf128.h b/libc/src/math/llroundf128.h
index 3245dfafc4d5a..28ce676625288 100644
--- a/libc/src/math/llroundf128.h
+++ b/libc/src/math/llroundf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llroundf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLROUNDF128_H
diff --git a/libc/src/math/llroundf16.h b/libc/src/math/llroundf16.h
index 379c45446ab27..571fdb6e89178 100644
--- a/libc/src/math/llroundf16.h
+++ b/libc/src/math/llroundf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llroundf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLROUNDF16_H
diff --git a/libc/src/math/llroundl.h b/libc/src/math/llroundl.h
index 9cb4251f72fe5..b722b4ec7d6d1 100644
--- a/libc/src/math/llroundl.h
+++ b/libc/src/math/llroundl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDL_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llroundl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LLROUNDL_H
diff --git a/libc/src/math/log.h b/libc/src/math/log.h
index 67f5d7f89279b..80b8aad354cc5 100644
--- a/libc/src/math/log.h
+++ b/libc/src/math/log.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG_H
 #define LLVM_LIBC_SRC_MATH_LOG_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double log(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG_H
diff --git a/libc/src/math/log10.h b/libc/src/math/log10.h
index 3d8249aaee2d6..449d450e6c75b 100644
--- a/libc/src/math/log10.h
+++ b/libc/src/math/log10.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG10_H
 #define LLVM_LIBC_SRC_MATH_LOG10_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double log10(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG10_H
diff --git a/libc/src/math/log10f.h b/libc/src/math/log10f.h
index ca3eadc8866b1..3b6ab04d32da4 100644
--- a/libc/src/math/log10f.h
+++ b/libc/src/math/log10f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG10F_H
 #define LLVM_LIBC_SRC_MATH_LOG10F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float log10f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG10F_H
diff --git a/libc/src/math/log1p.h b/libc/src/math/log1p.h
index 48eb9ca885265..d4310f7a97bed 100644
--- a/libc/src/math/log1p.h
+++ b/libc/src/math/log1p.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG1P_H
 #define LLVM_LIBC_SRC_MATH_LOG1P_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double log1p(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG1P_H
diff --git a/libc/src/math/log1pf.h b/libc/src/math/log1pf.h
index 854f76fce9f75..d85841a4f6971 100644
--- a/libc/src/math/log1pf.h
+++ b/libc/src/math/log1pf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG1PF_H
 #define LLVM_LIBC_SRC_MATH_LOG1PF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float log1pf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG1PF_H
diff --git a/libc/src/math/log2.h b/libc/src/math/log2.h
index 49f05493cf166..6dfafccf8211d 100644
--- a/libc/src/math/log2.h
+++ b/libc/src/math/log2.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG2_H
 #define LLVM_LIBC_SRC_MATH_LOG2_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double log2(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG2_H
diff --git a/libc/src/math/log2f.h b/libc/src/math/log2f.h
index 04b7743edc0aa..e3a6dfc14a2d4 100644
--- a/libc/src/math/log2f.h
+++ b/libc/src/math/log2f.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG2F_H
 #define LLVM_LIBC_SRC_MATH_LOG2F_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float log2f(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOG2F_H
diff --git a/libc/src/math/logb.h b/libc/src/math/logb.h
index e24dd4320de65..78864e9823302 100644
--- a/libc/src/math/logb.h
+++ b/libc/src/math/logb.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGB_H
 #define LLVM_LIBC_SRC_MATH_LOGB_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double logb(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGB_H
diff --git a/libc/src/math/logbf.h b/libc/src/math/logbf.h
index e8d5018056286..6c49b255bc21b 100644
--- a/libc/src/math/logbf.h
+++ b/libc/src/math/logbf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBF_H
 #define LLVM_LIBC_SRC_MATH_LOGBF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float logbf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGBF_H
diff --git a/libc/src/math/logbf128.h b/libc/src/math/logbf128.h
index 7823bbd615b89..d408ee47990c6 100644
--- a/libc/src/math/logbf128.h
+++ b/libc/src/math/logbf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 logbf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGBF128_H
diff --git a/libc/src/math/logbf16.h b/libc/src/math/logbf16.h
index 8082e06c33d52..d61c63416d73b 100644
--- a/libc/src/math/logbf16.h
+++ b/libc/src/math/logbf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 logbf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGBF16_H
diff --git a/libc/src/math/logbl.h b/libc/src/math/logbl.h
index bc32993a4bdc2..55c99263a6f9b 100644
--- a/libc/src/math/logbl.h
+++ b/libc/src/math/logbl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBL_H
 #define LLVM_LIBC_SRC_MATH_LOGBL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double logbl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGBL_H
diff --git a/libc/src/math/logf.h b/libc/src/math/logf.h
index b69be468ab455..76e54ae4c428e 100644
--- a/libc/src/math/logf.h
+++ b/libc/src/math/logf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGF_H
 #define LLVM_LIBC_SRC_MATH_LOGF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float logf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LOGF_H
diff --git a/libc/src/math/lrint.h b/libc/src/math/lrint.h
index e40f860f1a35e..8699b86f152ac 100644
--- a/libc/src/math/lrint.h
+++ b/libc/src/math/lrint.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINT_H
 #define LLVM_LIBC_SRC_MATH_LRINT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lrint(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LRINT_H
diff --git a/libc/src/math/lrintf.h b/libc/src/math/lrintf.h
index 93b2c8cd265df..dfc2fe507f296 100644
--- a/libc/src/math/lrintf.h
+++ b/libc/src/math/lrintf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTF_H
 #define LLVM_LIBC_SRC_MATH_LRINTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lrintf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LRINTF_H
diff --git a/libc/src/math/lrintf128.h b/libc/src/math/lrintf128.h
index 8f3f5ceabd3c2..d3d2cc15ca276 100644
--- a/libc/src/math/lrintf128.h
+++ b/libc/src/math/lrintf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lrintf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LRINTF128_H
diff --git a/libc/src/math/lrintf16.h b/libc/src/math/lrintf16.h
index f31fba4cc6a46..9f66e3f0525c3 100644
--- a/libc/src/math/lrintf16.h
+++ b/libc/src/math/lrintf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lrintf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LRINTF16_H
diff --git a/libc/src/math/lrintl.h b/libc/src/math/lrintl.h
index c17901d220d18..948b10c3dc5b6 100644
--- a/libc/src/math/lrintl.h
+++ b/libc/src/math/lrintl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTL_H
 #define LLVM_LIBC_SRC_MATH_LRINTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lrintl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LRINTL_H
diff --git a/libc/src/math/lround.h b/libc/src/math/lround.h
index 4a67cc9693ba7..3d432947e562e 100644
--- a/libc/src/math/lround.h
+++ b/libc/src/math/lround.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUND_H
 #define LLVM_LIBC_SRC_MATH_LROUND_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lround(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LROUND_H
diff --git a/libc/src/math/lroundf.h b/libc/src/math/lroundf.h
index 9d4f4e82b7894..ea5ac3cb3bc05 100644
--- a/libc/src/math/lroundf.h
+++ b/libc/src/math/lroundf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDF_H
 #define LLVM_LIBC_SRC_MATH_LROUNDF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lroundf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LROUNDF_H
diff --git a/libc/src/math/lroundf128.h b/libc/src/math/lroundf128.h
index 663b3732655b2..7ef255bed32e1 100644
--- a/libc/src/math/lroundf128.h
+++ b/libc/src/math/lroundf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lroundf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LROUNDF128_H
diff --git a/libc/src/math/lroundf16.h b/libc/src/math/lroundf16.h
index 57201e7063a9e..ce1702be98787 100644
--- a/libc/src/math/lroundf16.h
+++ b/libc/src/math/lroundf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lroundf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LROUNDF16_H
diff --git a/libc/src/math/lroundl.h b/libc/src/math/lroundl.h
index 86673dc597fd3..f11c1dcee3b3d 100644
--- a/libc/src/math/lroundl.h
+++ b/libc/src/math/lroundl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDL_H
 #define LLVM_LIBC_SRC_MATH_LROUNDL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long lroundl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_LROUNDL_H
diff --git a/libc/src/math/modf.h b/libc/src/math/modf.h
index 91453a01f02fc..6e3c189c254e9 100644
--- a/libc/src/math/modf.h
+++ b/libc/src/math/modf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODF_H
 #define LLVM_LIBC_SRC_MATH_MODF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double modf(double x, double *iptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_MODF_H
diff --git a/libc/src/math/modff.h b/libc/src/math/modff.h
index 85bf2aacbc17c..b10217ba25d0c 100644
--- a/libc/src/math/modff.h
+++ b/libc/src/math/modff.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFF_H
 #define LLVM_LIBC_SRC_MATH_MODFF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float modff(float x, float *iptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_MODFF_H
diff --git a/libc/src/math/modff128.h b/libc/src/math/modff128.h
index 48e614be95b98..17fe87a64f74c 100644
--- a/libc/src/math/modff128.h
+++ b/libc/src/math/modff128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 modff128(float128 x, float128 *iptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_MODFF128_H
diff --git a/libc/src/math/modff16.h b/libc/src/math/modff16.h
index a3017c5a92a64..c03b8d7276359 100644
--- a/libc/src/math/modff16.h
+++ b/libc/src/math/modff16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 modff16(float16 x, float16 *iptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_MODFF16_H
diff --git a/libc/src/math/modfl.h b/libc/src/math/modfl.h
index 5ea2c6d98c0af..ee93646f6bc7b 100644
--- a/libc/src/math/modfl.h
+++ b/libc/src/math/modfl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFL_H
 #define LLVM_LIBC_SRC_MATH_MODFL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double modfl(long double x, long double *iptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_MODFL_H
diff --git a/libc/src/math/nan.h b/libc/src/math/nan.h
index 463940b01a272..464adceb4a744 100644
--- a/libc/src/math/nan.h
+++ b/libc/src/math/nan.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NAN_H
 #define LLVM_LIBC_SRC_MATH_NAN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nan(const char *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NAN_H
diff --git a/libc/src/math/nanf.h b/libc/src/math/nanf.h
index f05d60e3a9671..3fee2ed5c7f5b 100644
--- a/libc/src/math/nanf.h
+++ b/libc/src/math/nanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANF_H
 #define LLVM_LIBC_SRC_MATH_NANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nanf(const char *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NANF_H
diff --git a/libc/src/math/nanf128.h b/libc/src/math/nanf128.h
index b06d14e2f945e..8da18cc6c31e9 100644
--- a/libc/src/math/nanf128.h
+++ b/libc/src/math/nanf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 nanf128(const char *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NANF128_H
diff --git a/libc/src/math/nanf16.h b/libc/src/math/nanf16.h
index c2db4bac0a155..d81417b01b320 100644
--- a/libc/src/math/nanf16.h
+++ b/libc/src/math/nanf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nanf16(const char *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NANF16_H
diff --git a/libc/src/math/nanl.h b/libc/src/math/nanl.h
index d8bbce7cc1bcc..f98e5faa16df5 100644
--- a/libc/src/math/nanl.h
+++ b/libc/src/math/nanl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANL_H
 #define LLVM_LIBC_SRC_MATH_NANL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nanl(const char *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NANL_H
diff --git a/libc/src/math/nearbyint.h b/libc/src/math/nearbyint.h
index df292a252583f..156a1d50145e9 100644
--- a/libc/src/math/nearbyint.h
+++ b/libc/src/math/nearbyint.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINT_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nearbyint(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEARBYINT_H
diff --git a/libc/src/math/nearbyintf.h b/libc/src/math/nearbyintf.h
index 3860dc03bcf58..ed91b90ca317a 100644
--- a/libc/src/math/nearbyintf.h
+++ b/libc/src/math/nearbyintf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTF_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nearbyintf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEARBYINTF_H
diff --git a/libc/src/math/nearbyintf128.h b/libc/src/math/nearbyintf128.h
index d12754a481009..a4019c25e64b7 100644
--- a/libc/src/math/nearbyintf128.h
+++ b/libc/src/math/nearbyintf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 nearbyintf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEARBYINTF128_H
diff --git a/libc/src/math/nearbyintf16.h b/libc/src/math/nearbyintf16.h
index 3e6f3fb3d493c..dd11356ba4727 100644
--- a/libc/src/math/nearbyintf16.h
+++ b/libc/src/math/nearbyintf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nearbyintf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEARBYINTF16_H
diff --git a/libc/src/math/nearbyintl.h b/libc/src/math/nearbyintl.h
index e22cae6386e69..eb5eb78cea5e1 100644
--- a/libc/src/math/nearbyintl.h
+++ b/libc/src/math/nearbyintl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTL_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nearbyintl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEARBYINTL_H
diff --git a/libc/src/math/nextafter.h b/libc/src/math/nextafter.h
index fc4c9eb182aa4..2fb44c2448384 100644
--- a/libc/src/math/nextafter.h
+++ b/libc/src/math/nextafter.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTER_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nextafter(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTAFTER_H
diff --git a/libc/src/math/nextafterf.h b/libc/src/math/nextafterf.h
index de7870df5d766..82874e1345e1b 100644
--- a/libc/src/math/nextafterf.h
+++ b/libc/src/math/nextafterf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERF_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nextafterf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTAFTERF_H
diff --git a/libc/src/math/nextafterf128.h b/libc/src/math/nextafterf128.h
index a404d33810ec2..691262ba1a3e4 100644
--- a/libc/src/math/nextafterf128.h
+++ b/libc/src/math/nextafterf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 nextafterf128(float128 x, float128 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTAFTERF128_H
diff --git a/libc/src/math/nextafterf16.h b/libc/src/math/nextafterf16.h
index 293569ef40c53..7b52ec01a2f4e 100644
--- a/libc/src/math/nextafterf16.h
+++ b/libc/src/math/nextafterf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nextafterf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTAFTERF16_H
diff --git a/libc/src/math/nextafterl.h b/libc/src/math/nextafterl.h
index 1b94e242c776e..5784122a6d4fc 100644
--- a/libc/src/math/nextafterl.h
+++ b/libc/src/math/nextafterl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERL_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nextafterl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTAFTERL_H
diff --git a/libc/src/math/nextdown.h b/libc/src/math/nextdown.h
index 8049b170ee721..d69406e19437a 100644
--- a/libc/src/math/nextdown.h
+++ b/libc/src/math/nextdown.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWN_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nextdown(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTDOWN_H
diff --git a/libc/src/math/nextdownf.h b/libc/src/math/nextdownf.h
index 0a2f23480574d..3f7579d386720 100644
--- a/libc/src/math/nextdownf.h
+++ b/libc/src/math/nextdownf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNF_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nextdownf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTDOWNF_H
diff --git a/libc/src/math/nextdownf128.h b/libc/src/math/nextdownf128.h
index 0a3043bb431d8..41e7bdcaecfe4 100644
--- a/libc/src/math/nextdownf128.h
+++ b/libc/src/math/nextdownf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 nextdownf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTDOWNF128_H
diff --git a/libc/src/math/nextdownf16.h b/libc/src/math/nextdownf16.h
index 19137574ac92f..55c2e1c6b3b1f 100644
--- a/libc/src/math/nextdownf16.h
+++ b/libc/src/math/nextdownf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nextdownf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTDOWNF16_H
diff --git a/libc/src/math/nextdownl.h b/libc/src/math/nextdownl.h
index 9cb274a89b1c5..b5fbaf83feb87 100644
--- a/libc/src/math/nextdownl.h
+++ b/libc/src/math/nextdownl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNL_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nextdownl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTDOWNL_H
diff --git a/libc/src/math/nexttoward.h b/libc/src/math/nexttoward.h
index 6a5bece995768..296fa73047408 100644
--- a/libc/src/math/nexttoward.h
+++ b/libc/src/math/nexttoward.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARD_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARD_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nexttoward(double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTTOWARD_H
diff --git a/libc/src/math/nexttowardf.h b/libc/src/math/nexttowardf.h
index 7a0eb2a61b4d4..7058c27dafdee 100644
--- a/libc/src/math/nexttowardf.h
+++ b/libc/src/math/nexttowardf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARDF_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARDF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nexttowardf(float x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTTOWARDF_H
diff --git a/libc/src/math/nexttowardf16.h b/libc/src/math/nexttowardf16.h
index 604eb32c25778..f6c9fb2727d07 100644
--- a/libc/src/math/nexttowardf16.h
+++ b/libc/src/math/nexttowardf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nexttowardf16(float16 x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTTOWARDF16_H
diff --git a/libc/src/math/nexttowardl.h b/libc/src/math/nexttowardl.h
index be1d8b298185d..12860fda513d5 100644
--- a/libc/src/math/nexttowardl.h
+++ b/libc/src/math/nexttowardl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARDL_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARDL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nexttowardl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTTOWARDL_H
diff --git a/libc/src/math/nextup.h b/libc/src/math/nextup.h
index 97ae82270b06e..2a79b020d1ee4 100644
--- a/libc/src/math/nextup.h
+++ b/libc/src/math/nextup.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUP_H
 #define LLVM_LIBC_SRC_MATH_NEXTUP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double nextup(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTUP_H
diff --git a/libc/src/math/nextupf.h b/libc/src/math/nextupf.h
index ffc0fa168a108..ec005cb76c9ce 100644
--- a/libc/src/math/nextupf.h
+++ b/libc/src/math/nextupf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPF_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float nextupf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTUPF_H
diff --git a/libc/src/math/nextupf128.h b/libc/src/math/nextupf128.h
index b4429922e4beb..4b66102879ff7 100644
--- a/libc/src/math/nextupf128.h
+++ b/libc/src/math/nextupf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 nextupf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTUPF128_H
diff --git a/libc/src/math/nextupf16.h b/libc/src/math/nextupf16.h
index b2973e4afc256..1d5c2e100b708 100644
--- a/libc/src/math/nextupf16.h
+++ b/libc/src/math/nextupf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 nextupf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTUPF16_H
diff --git a/libc/src/math/nextupl.h b/libc/src/math/nextupl.h
index cbc6a168e4bea..7de0290b768b7 100644
--- a/libc/src/math/nextupl.h
+++ b/libc/src/math/nextupl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPL_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double nextupl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NEXTUPL_H
diff --git a/libc/src/math/nvptx/acos.cpp b/libc/src/math/nvptx/acos.cpp
index da2c7952feba5..33347229f896f 100644
--- a/libc/src/math/nvptx/acos.cpp
+++ b/libc/src/math/nvptx/acos.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, acos, (double x)) { return __nv_acos(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/acosf.cpp b/libc/src/math/nvptx/acosf.cpp
index 8a4125f03b8cd..5d7a576603f73 100644
--- a/libc/src/math/nvptx/acosf.cpp
+++ b/libc/src/math/nvptx/acosf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, acosf, (float x)) { return __nv_acosf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/acosh.cpp b/libc/src/math/nvptx/acosh.cpp
index 06f6e2922f569..1421931fd1e8a 100644
--- a/libc/src/math/nvptx/acosh.cpp
+++ b/libc/src/math/nvptx/acosh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, acosh, (double x)) { return __nv_acosh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/acoshf.cpp b/libc/src/math/nvptx/acoshf.cpp
index 00e8053a50783..fc06b31d37373 100644
--- a/libc/src/math/nvptx/acoshf.cpp
+++ b/libc/src/math/nvptx/acoshf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, acoshf, (float x)) { return __nv_acoshf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/asin.cpp b/libc/src/math/nvptx/asin.cpp
index 74d92fded72b9..f84a836e95a2b 100644
--- a/libc/src/math/nvptx/asin.cpp
+++ b/libc/src/math/nvptx/asin.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, asin, (double x)) { return __nv_asin(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/asinf.cpp b/libc/src/math/nvptx/asinf.cpp
index 30544bc1313d6..436b797a57d6a 100644
--- a/libc/src/math/nvptx/asinf.cpp
+++ b/libc/src/math/nvptx/asinf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, asinf, (float x)) { return __nv_asinf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/asinh.cpp b/libc/src/math/nvptx/asinh.cpp
index 0e5dbb47e667e..03c9c996182a8 100644
--- a/libc/src/math/nvptx/asinh.cpp
+++ b/libc/src/math/nvptx/asinh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, asinh, (double x)) { return __nv_asinh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/asinhf.cpp b/libc/src/math/nvptx/asinhf.cpp
index 6648108646cd3..cad2131c1371e 100644
--- a/libc/src/math/nvptx/asinhf.cpp
+++ b/libc/src/math/nvptx/asinhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, asinhf, (float x)) { return __nv_asinhf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atan.cpp b/libc/src/math/nvptx/atan.cpp
index 3af793a53ae5e..3f69e5b78a530 100644
--- a/libc/src/math/nvptx/atan.cpp
+++ b/libc/src/math/nvptx/atan.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atan, (double x)) { return __nv_atan(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atan2.cpp b/libc/src/math/nvptx/atan2.cpp
index 0c54e0e048996..64c2b55c3306b 100644
--- a/libc/src/math/nvptx/atan2.cpp
+++ b/libc/src/math/nvptx/atan2.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atan2, (double x, double y)) {
   return __nv_atan2(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atan2f.cpp b/libc/src/math/nvptx/atan2f.cpp
index c3327d92c97e9..83b3a32401f8a 100644
--- a/libc/src/math/nvptx/atan2f.cpp
+++ b/libc/src/math/nvptx/atan2f.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atan2f, (float x, float y)) {
   return __nv_atan2f(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atanf.cpp b/libc/src/math/nvptx/atanf.cpp
index 5595262977323..0ac67cfd86ef9 100644
--- a/libc/src/math/nvptx/atanf.cpp
+++ b/libc/src/math/nvptx/atanf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanf, (float x)) { return __nv_atanf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atanh.cpp b/libc/src/math/nvptx/atanh.cpp
index 6699d959df187..562a616c27cda 100644
--- a/libc/src/math/nvptx/atanh.cpp
+++ b/libc/src/math/nvptx/atanh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atanh, (double x)) { return __nv_atanh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/atanhf.cpp b/libc/src/math/nvptx/atanhf.cpp
index 526b7b3e37122..65d7e73fd920e 100644
--- a/libc/src/math/nvptx/atanhf.cpp
+++ b/libc/src/math/nvptx/atanhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, atanhf, (float x)) { return __nv_atanhf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ceil.cpp b/libc/src/math/nvptx/ceil.cpp
index ad1407d61f620..53723a69d9f42 100644
--- a/libc/src/math/nvptx/ceil.cpp
+++ b/libc/src/math/nvptx/ceil.cpp
@@ -9,8 +9,8 @@
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ceil, (double x)) { return __builtin_ceil(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ceilf.cpp b/libc/src/math/nvptx/ceilf.cpp
index c4fc58d936038..71605c3292b14 100644
--- a/libc/src/math/nvptx/ceilf.cpp
+++ b/libc/src/math/nvptx/ceilf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ceilf, (float x)) { return __builtin_ceilf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/copysign.cpp b/libc/src/math/nvptx/copysign.cpp
index 6f804bdb90a1f..e135deb9ea73d 100644
--- a/libc/src/math/nvptx/copysign.cpp
+++ b/libc/src/math/nvptx/copysign.cpp
@@ -9,10 +9,10 @@
 #include "src/math/copysign.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, copysign, (double x, double y)) {
   return __builtin_copysign(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/copysignf.cpp b/libc/src/math/nvptx/copysignf.cpp
index 4d7e132462ac9..f11c20d2ff515 100644
--- a/libc/src/math/nvptx/copysignf.cpp
+++ b/libc/src/math/nvptx/copysignf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/copysignf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, copysignf, (float x, float y)) {
   return __builtin_copysignf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/cos.cpp b/libc/src/math/nvptx/cos.cpp
index 185ad3cf92159..4bd2286c6c598 100644
--- a/libc/src/math/nvptx/cos.cpp
+++ b/libc/src/math/nvptx/cos.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, cos, (double x)) { return __nv_cos(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/cosf.cpp b/libc/src/math/nvptx/cosf.cpp
index 3d34de4be51bc..6f7b45daae8e2 100644
--- a/libc/src/math/nvptx/cosf.cpp
+++ b/libc/src/math/nvptx/cosf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, cosf, (float x)) { return __nv_cosf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/cosh.cpp b/libc/src/math/nvptx/cosh.cpp
index 179864c5f910d..c3a66a240ace1 100644
--- a/libc/src/math/nvptx/cosh.cpp
+++ b/libc/src/math/nvptx/cosh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, cosh, (double x)) { return __nv_cosh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/coshf.cpp b/libc/src/math/nvptx/coshf.cpp
index 9147499db97cf..7d81931cedb85 100644
--- a/libc/src/math/nvptx/coshf.cpp
+++ b/libc/src/math/nvptx/coshf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, coshf, (float x)) { return __nv_coshf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/declarations.h b/libc/src/math/nvptx/declarations.h
index cf8f6e09e492a..b8d527ba456ef 100644
--- a/libc/src/math/nvptx/declarations.h
+++ b/libc/src/math/nvptx/declarations.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
 #define LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 double __nv_acos(double);
@@ -86,6 +86,6 @@ double __nv_tgamma(double);
 float __nv_tgammaf(float);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
diff --git a/libc/src/math/nvptx/erf.cpp b/libc/src/math/nvptx/erf.cpp
index 5ea0177d5cd34..eae810ce3c31d 100644
--- a/libc/src/math/nvptx/erf.cpp
+++ b/libc/src/math/nvptx/erf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, erf, (double x)) { return __nv_erf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/erff.cpp b/libc/src/math/nvptx/erff.cpp
index 03fdceace8e9e..a2bb6552795a4 100644
--- a/libc/src/math/nvptx/erff.cpp
+++ b/libc/src/math/nvptx/erff.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, erff, (float x)) { return __nv_erff(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/exp.cpp b/libc/src/math/nvptx/exp.cpp
index 6bbe87ba2e783..10f29bcb41e4d 100644
--- a/libc/src/math/nvptx/exp.cpp
+++ b/libc/src/math/nvptx/exp.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp, (double x)) { return __nv_exp(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/exp10.cpp b/libc/src/math/nvptx/exp10.cpp
index 11bb734fd1131..f9b9b80fa3e9b 100644
--- a/libc/src/math/nvptx/exp10.cpp
+++ b/libc/src/math/nvptx/exp10.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp10, (double x)) { return __nv_exp10(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/exp10f.cpp b/libc/src/math/nvptx/exp10f.cpp
index 4e3121a0b46e2..ca194e116a34a 100644
--- a/libc/src/math/nvptx/exp10f.cpp
+++ b/libc/src/math/nvptx/exp10f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp10f, (float x)) { return __nv_exp10f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/exp2.cpp b/libc/src/math/nvptx/exp2.cpp
index 35fc27b3a26a6..44633e1b8312b 100644
--- a/libc/src/math/nvptx/exp2.cpp
+++ b/libc/src/math/nvptx/exp2.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, exp2, (double x)) { return __nv_exp2(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/exp2f.cpp b/libc/src/math/nvptx/exp2f.cpp
index 8d137346fe00e..4b9d2f79b39ec 100644
--- a/libc/src/math/nvptx/exp2f.cpp
+++ b/libc/src/math/nvptx/exp2f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, exp2f, (float x)) { return __nv_exp2f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/expf.cpp b/libc/src/math/nvptx/expf.cpp
index a6362bd734611..38f6cf54c9ff3 100644
--- a/libc/src/math/nvptx/expf.cpp
+++ b/libc/src/math/nvptx/expf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expf, (float x)) { return __nv_expf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/expm1.cpp b/libc/src/math/nvptx/expm1.cpp
index 0331903b8fd86..11c3b5d072d05 100644
--- a/libc/src/math/nvptx/expm1.cpp
+++ b/libc/src/math/nvptx/expm1.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, expm1, (double x)) { return __nv_expm1(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/expm1f.cpp b/libc/src/math/nvptx/expm1f.cpp
index 7b74c548f3df6..4a8db6a601531 100644
--- a/libc/src/math/nvptx/expm1f.cpp
+++ b/libc/src/math/nvptx/expm1f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, expm1f, (float x)) { return __nv_expm1f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fabs.cpp b/libc/src/math/nvptx/fabs.cpp
index c0d063d50ae53..441952e907030 100644
--- a/libc/src/math/nvptx/fabs.cpp
+++ b/libc/src/math/nvptx/fabs.cpp
@@ -9,8 +9,8 @@
 #include "src/math/fabs.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fabs, (double x)) { return __builtin_fabs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fabsf.cpp b/libc/src/math/nvptx/fabsf.cpp
index 398ffd0c74c07..363a9a856d260 100644
--- a/libc/src/math/nvptx/fabsf.cpp
+++ b/libc/src/math/nvptx/fabsf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/fabsf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fabsf, (float x)) { return __builtin_fabsf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fdim.cpp b/libc/src/math/nvptx/fdim.cpp
index 2f1ff51800266..a669809ce841f 100644
--- a/libc/src/math/nvptx/fdim.cpp
+++ b/libc/src/math/nvptx/fdim.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fdim, (double x, double y)) {
   return __nv_fdim(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fdimf.cpp b/libc/src/math/nvptx/fdimf.cpp
index c24e6be72482a..06f02a6a432ac 100644
--- a/libc/src/math/nvptx/fdimf.cpp
+++ b/libc/src/math/nvptx/fdimf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fdimf, (float x, float y)) {
   return __nv_fdimf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/floor.cpp b/libc/src/math/nvptx/floor.cpp
index eada89c178d75..a8baed4dcc1a2 100644
--- a/libc/src/math/nvptx/floor.cpp
+++ b/libc/src/math/nvptx/floor.cpp
@@ -9,8 +9,8 @@
 #include "src/math/floor.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, floor, (double x)) { return __builtin_floor(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/floorf.cpp b/libc/src/math/nvptx/floorf.cpp
index a5611c515a88d..9b4ebe5d3b971 100644
--- a/libc/src/math/nvptx/floorf.cpp
+++ b/libc/src/math/nvptx/floorf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, floorf, (float x)) { return __builtin_floorf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fma.cpp b/libc/src/math/nvptx/fma.cpp
index 41a6ddf60dbc3..11dedbbd7ce8d 100644
--- a/libc/src/math/nvptx/fma.cpp
+++ b/libc/src/math/nvptx/fma.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fma.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fma, (double x, double y, double z)) {
   return __builtin_fma(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmaf.cpp b/libc/src/math/nvptx/fmaf.cpp
index c948e32f77eb9..2a1f454fd6c70 100644
--- a/libc/src/math/nvptx/fmaf.cpp
+++ b/libc/src/math/nvptx/fmaf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmaf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaf, (float x, float y, float z)) {
   return __builtin_fmaf(x, y, z);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmax.cpp b/libc/src/math/nvptx/fmax.cpp
index 3ba65d7eccd36..f9a6cf6ff3ce5 100644
--- a/libc/src/math/nvptx/fmax.cpp
+++ b/libc/src/math/nvptx/fmax.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmax, (double x, double y)) {
   return __builtin_fmax(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmaxf.cpp b/libc/src/math/nvptx/fmaxf.cpp
index e977082b39f40..a96f0d96481eb 100644
--- a/libc/src/math/nvptx/fmaxf.cpp
+++ b/libc/src/math/nvptx/fmaxf.cpp
@@ -12,10 +12,10 @@
 #include "src/__support/common.h"
 #include "src/__support/macros/optimization.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmaxf, (float x, float y)) {
   return __builtin_fmaxf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmin.cpp b/libc/src/math/nvptx/fmin.cpp
index 0d6f3521dcb70..94a0a3e9a720c 100644
--- a/libc/src/math/nvptx/fmin.cpp
+++ b/libc/src/math/nvptx/fmin.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmin, (double x, double y)) {
   return __builtin_fmin(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fminf.cpp b/libc/src/math/nvptx/fminf.cpp
index 42744abfb3b02..8317944f96eed 100644
--- a/libc/src/math/nvptx/fminf.cpp
+++ b/libc/src/math/nvptx/fminf.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fminf, (float x, float y)) {
   return __builtin_fminf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmod.cpp b/libc/src/math/nvptx/fmod.cpp
index 0654cdd2abe08..7edc9fdc9a62d 100644
--- a/libc/src/math/nvptx/fmod.cpp
+++ b/libc/src/math/nvptx/fmod.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmod.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, fmod, (double x, double y)) {
   return __builtin_fmod(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/fmodf.cpp b/libc/src/math/nvptx/fmodf.cpp
index b689046468fbe..0eeb34e0c97cc 100644
--- a/libc/src/math/nvptx/fmodf.cpp
+++ b/libc/src/math/nvptx/fmodf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/fmodf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, fmodf, (float x, float y)) {
   return __builtin_fmodf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/frexp.cpp b/libc/src/math/nvptx/frexp.cpp
index 2423961f7c61e..f5b904c0cafbe 100644
--- a/libc/src/math/nvptx/frexp.cpp
+++ b/libc/src/math/nvptx/frexp.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, frexp, (double x, int *p)) {
   return __nv_frexp(x, p);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/frexpf.cpp b/libc/src/math/nvptx/frexpf.cpp
index f1ea29068777b..387b288d9a55b 100644
--- a/libc/src/math/nvptx/frexpf.cpp
+++ b/libc/src/math/nvptx/frexpf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, frexpf, (float x, int *p)) {
   return __nv_frexpf(x, p);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/hypot.cpp b/libc/src/math/nvptx/hypot.cpp
index 28bf04aa4a2bd..7a52edda475e5 100644
--- a/libc/src/math/nvptx/hypot.cpp
+++ b/libc/src/math/nvptx/hypot.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, hypot, (double x, double y)) {
   return __nv_hypot(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/hypotf.cpp b/libc/src/math/nvptx/hypotf.cpp
index c506aab1acc0b..fa4a1863ea248 100644
--- a/libc/src/math/nvptx/hypotf.cpp
+++ b/libc/src/math/nvptx/hypotf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, hypotf, (float x, float y)) {
   return __nv_hypotf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ilogb.cpp b/libc/src/math/nvptx/ilogb.cpp
index fc75e2fd847a8..4ec3e899936ef 100644
--- a/libc/src/math/nvptx/ilogb.cpp
+++ b/libc/src/math/nvptx/ilogb.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogb, (double x)) { return __nv_ilogb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ilogbf.cpp b/libc/src/math/nvptx/ilogbf.cpp
index 3d14fcfa878fb..369320ec3408d 100644
--- a/libc/src/math/nvptx/ilogbf.cpp
+++ b/libc/src/math/nvptx/ilogbf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ilogbf, (float x)) { return __nv_ilogbf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ldexp.cpp b/libc/src/math/nvptx/ldexp.cpp
index 761dc4816b7a4..a09b434bcc0e4 100644
--- a/libc/src/math/nvptx/ldexp.cpp
+++ b/libc/src/math/nvptx/ldexp.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, ldexp, (double x, int y)) {
   return __nv_ldexp(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/ldexpf.cpp b/libc/src/math/nvptx/ldexpf.cpp
index 2d4c556a27140..d98c5d0eeacfc 100644
--- a/libc/src/math/nvptx/ldexpf.cpp
+++ b/libc/src/math/nvptx/ldexpf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, ldexpf, (float x, int y)) {
   return __nv_ldexpf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/llrint.cpp b/libc/src/math/nvptx/llrint.cpp
index 307420a9b8b26..dc00ebe3604e2 100644
--- a/libc/src/math/nvptx/llrint.cpp
+++ b/libc/src/math/nvptx/llrint.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrint, (double x)) {
   return static_cast<long long>(__builtin_rint(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/llrintf.cpp b/libc/src/math/nvptx/llrintf.cpp
index 23404990fb1bd..ed5607286c8f3 100644
--- a/libc/src/math/nvptx/llrintf.cpp
+++ b/libc/src/math/nvptx/llrintf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llrintf, (float x)) {
   return static_cast<long long>(__builtin_rintf(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log.cpp b/libc/src/math/nvptx/log.cpp
index 26b6dfa607b94..e7f5a19b27989 100644
--- a/libc/src/math/nvptx/log.cpp
+++ b/libc/src/math/nvptx/log.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log, (double x)) { return __nv_log(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log10.cpp b/libc/src/math/nvptx/log10.cpp
index ff27025395672..def022b206ddb 100644
--- a/libc/src/math/nvptx/log10.cpp
+++ b/libc/src/math/nvptx/log10.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log10, (double x)) { return __nv_log10(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log10f.cpp b/libc/src/math/nvptx/log10f.cpp
index af903b60a7ce6..6b5fbd08d7ca3 100644
--- a/libc/src/math/nvptx/log10f.cpp
+++ b/libc/src/math/nvptx/log10f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log10f, (float x)) { return __nv_log10f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log1p.cpp b/libc/src/math/nvptx/log1p.cpp
index 47bc96b0d8812..762758480ef10 100644
--- a/libc/src/math/nvptx/log1p.cpp
+++ b/libc/src/math/nvptx/log1p.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log1p, (double x)) { return __nv_log1p(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log1pf.cpp b/libc/src/math/nvptx/log1pf.cpp
index bfa4f7f22d54c..b1b19b201b992 100644
--- a/libc/src/math/nvptx/log1pf.cpp
+++ b/libc/src/math/nvptx/log1pf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log1pf, (float x)) { return __nv_log1pf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log2.cpp b/libc/src/math/nvptx/log2.cpp
index 86a980de65d4d..115bd1f486f01 100644
--- a/libc/src/math/nvptx/log2.cpp
+++ b/libc/src/math/nvptx/log2.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, log2, (double x)) { return __nv_log2(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/log2f.cpp b/libc/src/math/nvptx/log2f.cpp
index 5ce46291610dd..3f008484260ce 100644
--- a/libc/src/math/nvptx/log2f.cpp
+++ b/libc/src/math/nvptx/log2f.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, log2f, (float x)) { return __nv_log2f(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/logb.cpp b/libc/src/math/nvptx/logb.cpp
index b620b16184fc9..06d5abfcb1a92 100644
--- a/libc/src/math/nvptx/logb.cpp
+++ b/libc/src/math/nvptx/logb.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, logb, (double x)) { return __nv_logb(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/logbf.cpp b/libc/src/math/nvptx/logbf.cpp
index f19f0320db9d4..c26d7eed9a1bd 100644
--- a/libc/src/math/nvptx/logbf.cpp
+++ b/libc/src/math/nvptx/logbf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logbf, (float x)) { return __nv_logbf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/logf.cpp b/libc/src/math/nvptx/logf.cpp
index 6deb482c0ace3..51d235359ab26 100644
--- a/libc/src/math/nvptx/logf.cpp
+++ b/libc/src/math/nvptx/logf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, logf, (float x)) { return __nv_logf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/lrint.cpp b/libc/src/math/nvptx/lrint.cpp
index b335b4f06393c..245b1566b0c89 100644
--- a/libc/src/math/nvptx/lrint.cpp
+++ b/libc/src/math/nvptx/lrint.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrint, (double x)) {
   return static_cast<long>(__builtin_rint(x));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/lrintf.cpp b/libc/src/math/nvptx/lrintf.cpp
index 312a9469fade0..44dbad0f36b79 100644
--- a/libc/src/math/nvptx/lrintf.cpp
+++ b/libc/src/math/nvptx/lrintf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, lrintf, (float x)) { return __nv_lrintf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/nearbyint.cpp b/libc/src/math/nvptx/nearbyint.cpp
index 9c7b600df7082..dce283707f615 100644
--- a/libc/src/math/nvptx/nearbyint.cpp
+++ b/libc/src/math/nvptx/nearbyint.cpp
@@ -9,10 +9,10 @@
 #include "src/math/nearbyint.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nearbyint, (double x)) {
   return __builtin_nearbyint(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/nearbyintf.cpp b/libc/src/math/nvptx/nearbyintf.cpp
index 7fbe9f4f0e0be..b94b63f2ecd3d 100644
--- a/libc/src/math/nvptx/nearbyintf.cpp
+++ b/libc/src/math/nvptx/nearbyintf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/nearbyintf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nearbyintf, (float x)) {
   return __builtin_nearbyintf(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/nextafter.cpp b/libc/src/math/nvptx/nextafter.cpp
index 171aaad6f7cc1..0550818bfb70e 100644
--- a/libc/src/math/nvptx/nextafter.cpp
+++ b/libc/src/math/nvptx/nextafter.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, nextafter, (double x, double y)) {
   return __nv_nextafter(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/nextafterf.cpp b/libc/src/math/nvptx/nextafterf.cpp
index a45937c0dc8ba..e5bb62601d8f6 100644
--- a/libc/src/math/nvptx/nextafterf.cpp
+++ b/libc/src/math/nvptx/nextafterf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, nextafterf, (float x, float y)) {
   return __nv_nextafterf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/nvptx.h b/libc/src/math/nvptx/nvptx.h
index 5f9b32f311eab..5a480f78ca389 100644
--- a/libc/src/math/nvptx/nvptx.h
+++ b/libc/src/math/nvptx/nvptx.h
@@ -13,7 +13,7 @@
 
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 LIBC_INLINE double acos(double x) { return __nv_acos(x); }
 LIBC_INLINE float acosf(float x) { return __nv_acosf(x); }
@@ -97,6 +97,6 @@ LIBC_INLINE double tgamma(double x) { return __nv_tgamma(x); }
 LIBC_INLINE float tgammaf(float x) { return __nv_tgammaf(x); }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_NVPTX_NVPTX_H
diff --git a/libc/src/math/nvptx/pow.cpp b/libc/src/math/nvptx/pow.cpp
index 7de3c9e7e5448..55fc6ad0dd47c 100644
--- a/libc/src/math/nvptx/pow.cpp
+++ b/libc/src/math/nvptx/pow.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, pow, (double x, double y)) { return __nv_pow(x, y); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/powf.cpp b/libc/src/math/nvptx/powf.cpp
index f9f7dbae63ac5..9110b72955eb5 100644
--- a/libc/src/math/nvptx/powf.cpp
+++ b/libc/src/math/nvptx/powf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, powf, (float x, float y)) { return __nv_powf(x, y); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/powi.cpp b/libc/src/math/nvptx/powi.cpp
index b7871ab9da92e..15b03b7f73660 100644
--- a/libc/src/math/nvptx/powi.cpp
+++ b/libc/src/math/nvptx/powi.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, powi, (double x, int y)) { return __nv_powi(x, y); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/powif.cpp b/libc/src/math/nvptx/powif.cpp
index 0143745479cec..410e518e557ff 100644
--- a/libc/src/math/nvptx/powif.cpp
+++ b/libc/src/math/nvptx/powif.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, powif, (float x, int y)) { return __nv_powif(x, y); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/remainder.cpp b/libc/src/math/nvptx/remainder.cpp
index 89b235f9c22af..8bcbde32caed6 100644
--- a/libc/src/math/nvptx/remainder.cpp
+++ b/libc/src/math/nvptx/remainder.cpp
@@ -9,10 +9,10 @@
 #include "src/math/remainder.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remainder, (double x, double y)) {
   return __builtin_remainder(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/remainderf.cpp b/libc/src/math/nvptx/remainderf.cpp
index 9fee6f856dc8b..4258f9c9b8b22 100644
--- a/libc/src/math/nvptx/remainderf.cpp
+++ b/libc/src/math/nvptx/remainderf.cpp
@@ -9,10 +9,10 @@
 #include "src/math/remainderf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remainderf, (float x, float y)) {
   return __builtin_remainderf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/remquo.cpp b/libc/src/math/nvptx/remquo.cpp
index da69a20f8f4f8..d1b67e2967bad 100644
--- a/libc/src/math/nvptx/remquo.cpp
+++ b/libc/src/math/nvptx/remquo.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, remquo, (double x, double y, int *quo)) {
   return __nv_remquo(x, y, quo);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/remquof.cpp b/libc/src/math/nvptx/remquof.cpp
index dcfba5d7b5fa9..0bdc68dbf6787 100644
--- a/libc/src/math/nvptx/remquof.cpp
+++ b/libc/src/math/nvptx/remquof.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, remquof, (float x, float y, int *quo)) {
   return __nv_remquof(x, y, quo);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/rint.cpp b/libc/src/math/nvptx/rint.cpp
index 44d494a8ed57a..df2c5630c46c5 100644
--- a/libc/src/math/nvptx/rint.cpp
+++ b/libc/src/math/nvptx/rint.cpp
@@ -9,8 +9,8 @@
 #include "src/math/rint.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, rint, (double x)) { return __builtin_rint(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/rintf.cpp b/libc/src/math/nvptx/rintf.cpp
index daf98d9436051..164e9b30fd31e 100644
--- a/libc/src/math/nvptx/rintf.cpp
+++ b/libc/src/math/nvptx/rintf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/rintf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, rintf, (float x)) { return __builtin_rintf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/round.cpp b/libc/src/math/nvptx/round.cpp
index 9d8b5582f0407..ef33298fe6b74 100644
--- a/libc/src/math/nvptx/round.cpp
+++ b/libc/src/math/nvptx/round.cpp
@@ -9,8 +9,8 @@
 #include "src/math/round.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, round, (double x)) { return __builtin_round(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/roundf.cpp b/libc/src/math/nvptx/roundf.cpp
index 8743e4eb7fb8d..6cca130af56b9 100644
--- a/libc/src/math/nvptx/roundf.cpp
+++ b/libc/src/math/nvptx/roundf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, roundf, (float x)) { return __builtin_roundf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/scalbn.cpp b/libc/src/math/nvptx/scalbn.cpp
index 80374db4c1c93..922d2826da1e3 100644
--- a/libc/src/math/nvptx/scalbn.cpp
+++ b/libc/src/math/nvptx/scalbn.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, scalbn, (double x, int y)) {
   return __nv_scalbn(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/scalbnf.cpp b/libc/src/math/nvptx/scalbnf.cpp
index 24fa3a5ed698a..14a1746f4debd 100644
--- a/libc/src/math/nvptx/scalbnf.cpp
+++ b/libc/src/math/nvptx/scalbnf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, scalbnf, (float x, int y)) {
   return __nv_scalbnf(x, y);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sin.cpp b/libc/src/math/nvptx/sin.cpp
index 1bff129a0151c..09d3f509d8706 100644
--- a/libc/src/math/nvptx/sin.cpp
+++ b/libc/src/math/nvptx/sin.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sin, (double x)) { return __nv_sin(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sincos.cpp b/libc/src/math/nvptx/sincos.cpp
index 73f92cfb7c348..04ae61dec5f06 100644
--- a/libc/src/math/nvptx/sincos.cpp
+++ b/libc/src/math/nvptx/sincos.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, sincos, (double x, double *sinptr, double *cosptr)) {
   return __nv_sincos(x, sinptr, cosptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sincosf.cpp b/libc/src/math/nvptx/sincosf.cpp
index d053aa38151b6..29c8ddcbe1f5d 100644
--- a/libc/src/math/nvptx/sincosf.cpp
+++ b/libc/src/math/nvptx/sincosf.cpp
@@ -11,10 +11,10 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, sincosf, (float x, float *sinptr, float *cosptr)) {
   return __nv_sincosf(x, sinptr, cosptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sinf.cpp b/libc/src/math/nvptx/sinf.cpp
index 9abd5cb4d5c62..ec15a098c3a77 100644
--- a/libc/src/math/nvptx/sinf.cpp
+++ b/libc/src/math/nvptx/sinf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinf, (float x)) { return __nv_sinf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sinh.cpp b/libc/src/math/nvptx/sinh.cpp
index dc6a1e16c6341..53743e187bd9a 100644
--- a/libc/src/math/nvptx/sinh.cpp
+++ b/libc/src/math/nvptx/sinh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sinh, (double x)) { return __nv_sinh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sinhf.cpp b/libc/src/math/nvptx/sinhf.cpp
index c9ab470ed823c..7002a2c575a63 100644
--- a/libc/src/math/nvptx/sinhf.cpp
+++ b/libc/src/math/nvptx/sinhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sinhf, (float x)) { return __nv_sinhf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sqrt.cpp b/libc/src/math/nvptx/sqrt.cpp
index 60ca5af4987b6..f49e53a3f6cbf 100644
--- a/libc/src/math/nvptx/sqrt.cpp
+++ b/libc/src/math/nvptx/sqrt.cpp
@@ -9,8 +9,8 @@
 #include "src/math/sqrt.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, sqrt, (double x)) { return __builtin_sqrt(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/sqrtf.cpp b/libc/src/math/nvptx/sqrtf.cpp
index e17f942a4d5fc..9ee8707ea4416 100644
--- a/libc/src/math/nvptx/sqrtf.cpp
+++ b/libc/src/math/nvptx/sqrtf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/sqrtf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, sqrtf, (float x)) { return __builtin_sqrtf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tan.cpp b/libc/src/math/nvptx/tan.cpp
index deb03dca250a5..ffd30d6b5d570 100644
--- a/libc/src/math/nvptx/tan.cpp
+++ b/libc/src/math/nvptx/tan.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tan, (double x)) { return __nv_tan(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tanf.cpp b/libc/src/math/nvptx/tanf.cpp
index 5739e4a1624de..253ce8458b184 100644
--- a/libc/src/math/nvptx/tanf.cpp
+++ b/libc/src/math/nvptx/tanf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tanf, (float x)) { return __nv_tanf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tanh.cpp b/libc/src/math/nvptx/tanh.cpp
index eabee2cbaf068..dee9d5d99d5d2 100644
--- a/libc/src/math/nvptx/tanh.cpp
+++ b/libc/src/math/nvptx/tanh.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tanh, (double x)) { return __nv_tanh(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tanhf.cpp b/libc/src/math/nvptx/tanhf.cpp
index 582424cb9490a..a31db445d9d23 100644
--- a/libc/src/math/nvptx/tanhf.cpp
+++ b/libc/src/math/nvptx/tanhf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tanhf, (float x)) { return __nv_tanhf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tgamma.cpp b/libc/src/math/nvptx/tgamma.cpp
index f92193831f9bb..797b686c5e724 100644
--- a/libc/src/math/nvptx/tgamma.cpp
+++ b/libc/src/math/nvptx/tgamma.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, tgamma, (double x)) { return __nv_tgamma(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/tgammaf.cpp b/libc/src/math/nvptx/tgammaf.cpp
index 833994455d575..38e54dfc35f4c 100644
--- a/libc/src/math/nvptx/tgammaf.cpp
+++ b/libc/src/math/nvptx/tgammaf.cpp
@@ -11,8 +11,8 @@
 
 #include "declarations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, tgammaf, (float x)) { return __nv_tgammaf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/trunc.cpp b/libc/src/math/nvptx/trunc.cpp
index 773600f0f2501..821002e9aade0 100644
--- a/libc/src/math/nvptx/trunc.cpp
+++ b/libc/src/math/nvptx/trunc.cpp
@@ -9,8 +9,8 @@
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, trunc, (double x)) { return __builtin_trunc(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/nvptx/truncf.cpp b/libc/src/math/nvptx/truncf.cpp
index 534797a3e5860..eee4050fd6d5f 100644
--- a/libc/src/math/nvptx/truncf.cpp
+++ b/libc/src/math/nvptx/truncf.cpp
@@ -9,8 +9,8 @@
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, truncf, (float x)) { return __builtin_truncf(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/pow.h b/libc/src/math/pow.h
index dd9b4a6556837..f44edbbf3d88b 100644
--- a/libc/src/math/pow.h
+++ b/libc/src/math/pow.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_POW_H
 #define LLVM_LIBC_SRC_MATH_POW_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double pow(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_POW_H
diff --git a/libc/src/math/powf.h b/libc/src/math/powf.h
index 6582dc335d613..3e9b8e5b8ca71 100644
--- a/libc/src/math/powf.h
+++ b/libc/src/math/powf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWF_H
 #define LLVM_LIBC_SRC_MATH_POWF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float powf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_POWF_H
diff --git a/libc/src/math/powi.h b/libc/src/math/powi.h
index 1ee7140f06489..8a4636ebbefcc 100644
--- a/libc/src/math/powi.h
+++ b/libc/src/math/powi.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWI_H
 #define LLVM_LIBC_SRC_MATH_POWI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double powi(double x, int y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_POW_H
diff --git a/libc/src/math/powif.h b/libc/src/math/powif.h
index 417012a34fecc..8cb5422021f27 100644
--- a/libc/src/math/powif.h
+++ b/libc/src/math/powif.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWIF_H
 #define LLVM_LIBC_SRC_MATH_POWIF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float powif(float x, int y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_POW_H
diff --git a/libc/src/math/remainder.h b/libc/src/math/remainder.h
index f1f89542013d7..0fdb8c48ef006 100644
--- a/libc/src/math/remainder.h
+++ b/libc/src/math/remainder.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDER_H
 #define LLVM_LIBC_SRC_MATH_REMAINDER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double remainder(double x, double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMAINDER_H
diff --git a/libc/src/math/remainderf.h b/libc/src/math/remainderf.h
index 31a9bbe86b56c..83966f19e3e21 100644
--- a/libc/src/math/remainderf.h
+++ b/libc/src/math/remainderf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDERF_H
 #define LLVM_LIBC_SRC_MATH_REMAINDERF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float remainderf(float x, float y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMAINDERF_H
diff --git a/libc/src/math/remainderf16.h b/libc/src/math/remainderf16.h
index e23eead4bae2c..bd8cd6b70d39e 100644
--- a/libc/src/math/remainderf16.h
+++ b/libc/src/math/remainderf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 remainderf16(float16 x, float16 y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMAINDERF16_H
diff --git a/libc/src/math/remainderl.h b/libc/src/math/remainderl.h
index 584af37f5f37c..690330e817d79 100644
--- a/libc/src/math/remainderl.h
+++ b/libc/src/math/remainderl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDERL_H
 #define LLVM_LIBC_SRC_MATH_REMAINDERL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double remainderl(long double x, long double y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMAINDERL_H
diff --git a/libc/src/math/remquo.h b/libc/src/math/remquo.h
index 7590e7df5ddb8..e134f876f9021 100644
--- a/libc/src/math/remquo.h
+++ b/libc/src/math/remquo.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUO_H
 #define LLVM_LIBC_SRC_MATH_REMQUO_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double remquo(double x, double y, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMQUO_H
diff --git a/libc/src/math/remquof.h b/libc/src/math/remquof.h
index 8b8e8772706fd..cf4690997685d 100644
--- a/libc/src/math/remquof.h
+++ b/libc/src/math/remquof.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOF_H
 #define LLVM_LIBC_SRC_MATH_REMQUOF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float remquof(float x, float y, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMQUOF_H
diff --git a/libc/src/math/remquof128.h b/libc/src/math/remquof128.h
index e9db1ef5c5b51..a193b92b93cdb 100644
--- a/libc/src/math/remquof128.h
+++ b/libc/src/math/remquof128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 remquof128(float128 x, float128 y, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMQUOF128_H
diff --git a/libc/src/math/remquof16.h b/libc/src/math/remquof16.h
index fee848c955a01..42063490f961e 100644
--- a/libc/src/math/remquof16.h
+++ b/libc/src/math/remquof16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 remquof16(float16 x, float16 y, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMQUOF16_H
diff --git a/libc/src/math/remquol.h b/libc/src/math/remquol.h
index ba9b09929cc2f..68a042150f108 100644
--- a/libc/src/math/remquol.h
+++ b/libc/src/math/remquol.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOL_H
 #define LLVM_LIBC_SRC_MATH_REMQUOL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double remquol(long double x, long double y, int *exp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_REMQUOL_H
diff --git a/libc/src/math/rint.h b/libc/src/math/rint.h
index 3cd676bfb724e..f1f963ed04dbc 100644
--- a/libc/src/math/rint.h
+++ b/libc/src/math/rint.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINT_H
 #define LLVM_LIBC_SRC_MATH_RINT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double rint(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_RINT_H
diff --git a/libc/src/math/rintf.h b/libc/src/math/rintf.h
index d0246a32cdd30..d193bdb95546d 100644
--- a/libc/src/math/rintf.h
+++ b/libc/src/math/rintf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTF_H
 #define LLVM_LIBC_SRC_MATH_RINTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float rintf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_RINTF_H
diff --git a/libc/src/math/rintf128.h b/libc/src/math/rintf128.h
index 2d9248974f024..89d6259596aad 100644
--- a/libc/src/math/rintf128.h
+++ b/libc/src/math/rintf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 rintf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_RINTF128_H
diff --git a/libc/src/math/rintf16.h b/libc/src/math/rintf16.h
index 5ea9587ef3cf6..bb00501a5c97e 100644
--- a/libc/src/math/rintf16.h
+++ b/libc/src/math/rintf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 rintf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_RINTF16_H
diff --git a/libc/src/math/rintl.h b/libc/src/math/rintl.h
index bddfa183f7ae7..9f77e50722310 100644
--- a/libc/src/math/rintl.h
+++ b/libc/src/math/rintl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTL_H
 #define LLVM_LIBC_SRC_MATH_RINTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double rintl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_RINTL_H
diff --git a/libc/src/math/round.h b/libc/src/math/round.h
index 3e6a3b34c9a46..70a3209c98737 100644
--- a/libc/src/math/round.h
+++ b/libc/src/math/round.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUND_H
 #define LLVM_LIBC_SRC_MATH_ROUND_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double round(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUND_H
diff --git a/libc/src/math/roundeven.h b/libc/src/math/roundeven.h
index 9c76b1fe334ab..44ec8c53e4744 100644
--- a/libc/src/math/roundeven.h
+++ b/libc/src/math/roundeven.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVEN_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVEN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double roundeven(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDEVEN_H
diff --git a/libc/src/math/roundevenf.h b/libc/src/math/roundevenf.h
index 447e7fd940c18..537773e655524 100644
--- a/libc/src/math/roundevenf.h
+++ b/libc/src/math/roundevenf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENF_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float roundevenf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDEVENF_H
diff --git a/libc/src/math/roundevenf128.h b/libc/src/math/roundevenf128.h
index 589839d090756..2ef930100ad95 100644
--- a/libc/src/math/roundevenf128.h
+++ b/libc/src/math/roundevenf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 roundevenf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDEVENF128_H
diff --git a/libc/src/math/roundevenf16.h b/libc/src/math/roundevenf16.h
index 382e2e39cff3f..26ac40e39ca80 100644
--- a/libc/src/math/roundevenf16.h
+++ b/libc/src/math/roundevenf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 roundevenf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDEVENF16_H
diff --git a/libc/src/math/roundevenl.h b/libc/src/math/roundevenl.h
index a2f3397e4479a..11a4d806c2ebf 100644
--- a/libc/src/math/roundevenl.h
+++ b/libc/src/math/roundevenl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENL_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double roundevenl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDEVENL_H
diff --git a/libc/src/math/roundf.h b/libc/src/math/roundf.h
index d6ca186ed16e1..5d3e1f9ccdd3e 100644
--- a/libc/src/math/roundf.h
+++ b/libc/src/math/roundf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDF_H
 #define LLVM_LIBC_SRC_MATH_ROUNDF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float roundf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDF_H
diff --git a/libc/src/math/roundf128.h b/libc/src/math/roundf128.h
index e4aca17d7eb63..839be305a279c 100644
--- a/libc/src/math/roundf128.h
+++ b/libc/src/math/roundf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 roundf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDF128_H
diff --git a/libc/src/math/roundf16.h b/libc/src/math/roundf16.h
index e52f2aeb87e6d..1d74e3ecded49 100644
--- a/libc/src/math/roundf16.h
+++ b/libc/src/math/roundf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 roundf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDF16_H
diff --git a/libc/src/math/roundl.h b/libc/src/math/roundl.h
index 0abe87a055061..582d0dbf157a5 100644
--- a/libc/src/math/roundl.h
+++ b/libc/src/math/roundl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDL_H
 #define LLVM_LIBC_SRC_MATH_ROUNDL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double roundl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ROUNDL_H
diff --git a/libc/src/math/scalblnf16.h b/libc/src/math/scalblnf16.h
index be93fab1bf68a..4e29e21360849 100644
--- a/libc/src/math/scalblnf16.h
+++ b/libc/src/math/scalblnf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 scalblnf16(float16 x, long n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBLNF16_H
diff --git a/libc/src/math/scalbn.h b/libc/src/math/scalbn.h
index 9fc1dc4d93fbd..f6d4e21163a8d 100644
--- a/libc/src/math/scalbn.h
+++ b/libc/src/math/scalbn.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBN_H
 #define LLVM_LIBC_SRC_MATH_SCALBN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double scalbn(double x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBN_H
diff --git a/libc/src/math/scalbnf.h b/libc/src/math/scalbnf.h
index 6b5a5f9cab7f0..f3d9f86e973f7 100644
--- a/libc/src/math/scalbnf.h
+++ b/libc/src/math/scalbnf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNF_H
 #define LLVM_LIBC_SRC_MATH_SCALBNF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float scalbnf(float x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBNF_H
diff --git a/libc/src/math/scalbnf128.h b/libc/src/math/scalbnf128.h
index bd3b560fb7cc4..aff8283e6136c 100644
--- a/libc/src/math/scalbnf128.h
+++ b/libc/src/math/scalbnf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 scalbnf128(float128 x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBNF128_H
diff --git a/libc/src/math/scalbnf16.h b/libc/src/math/scalbnf16.h
index 95e4862f38070..f4dc0ae3740f2 100644
--- a/libc/src/math/scalbnf16.h
+++ b/libc/src/math/scalbnf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 scalbnf16(float16 x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBNF16_H
diff --git a/libc/src/math/scalbnl.h b/libc/src/math/scalbnl.h
index 876f147dde4f3..d232b7702d1b9 100644
--- a/libc/src/math/scalbnl.h
+++ b/libc/src/math/scalbnl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNL_H
 #define LLVM_LIBC_SRC_MATH_SCALBNL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double scalbnl(long double x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SCALBNL_H
diff --git a/libc/src/math/setpayloadf16.h b/libc/src/math/setpayloadf16.h
index 8705e2804fa99..99c4534cab234 100644
--- a/libc/src/math/setpayloadf16.h
+++ b/libc/src/math/setpayloadf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int setpayloadf16(float16 *res, float16 pl);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SETPAYLOADF16_H
diff --git a/libc/src/math/setpayloadsigf16.h b/libc/src/math/setpayloadsigf16.h
index ee9bc38ab9423..d2b98413dfc4d 100644
--- a/libc/src/math/setpayloadsigf16.h
+++ b/libc/src/math/setpayloadsigf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int setpayloadsigf16(float16 *res, float16 pl);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SETPAYLOADSIGF16_H
diff --git a/libc/src/math/sin.h b/libc/src/math/sin.h
index 50ecdc74fb2d9..babd922a67c71 100644
--- a/libc/src/math/sin.h
+++ b/libc/src/math/sin.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SIN_H
 #define LLVM_LIBC_SRC_MATH_SIN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double sin(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SIN_H
diff --git a/libc/src/math/sincos.h b/libc/src/math/sincos.h
index 6235a7c5c0454..4863e9e50d3ae 100644
--- a/libc/src/math/sincos.h
+++ b/libc/src/math/sincos.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINCOS_H
 #define LLVM_LIBC_SRC_MATH_SINCOS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void sincos(double x, double *sinx, double *cosx);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINCOS_H
diff --git a/libc/src/math/sincosf.h b/libc/src/math/sincosf.h
index 56539f52ce0e6..68ac5cfde23a7 100644
--- a/libc/src/math/sincosf.h
+++ b/libc/src/math/sincosf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINCOSF_H
 #define LLVM_LIBC_SRC_MATH_SINCOSF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void sincosf(float x, float *sinx, float *cosx);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINCOSF_H
diff --git a/libc/src/math/sinf.h b/libc/src/math/sinf.h
index aa0b753e74ae3..80d508dbd5ba7 100644
--- a/libc/src/math/sinf.h
+++ b/libc/src/math/sinf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINF_H
 #define LLVM_LIBC_SRC_MATH_SINF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float sinf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINF_H
diff --git a/libc/src/math/sinh.h b/libc/src/math/sinh.h
index bf1b1f1d815c1..51a22e6331921 100644
--- a/libc/src/math/sinh.h
+++ b/libc/src/math/sinh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINH_H
 #define LLVM_LIBC_SRC_MATH_SINH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double sinh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINH_H
diff --git a/libc/src/math/sinhf.h b/libc/src/math/sinhf.h
index 65cb39f9e3926..49938a33b6819 100644
--- a/libc/src/math/sinhf.h
+++ b/libc/src/math/sinhf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINHF_H
 #define LLVM_LIBC_SRC_MATH_SINHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float sinhf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINHF_H
diff --git a/libc/src/math/sinpif.h b/libc/src/math/sinpif.h
index 63d481945f470..eacd3e577be61 100644
--- a/libc/src/math/sinpif.h
+++ b/libc/src/math/sinpif.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINPIF_H
 #define LLVM_LIBC_SRC_MATH_SINPIF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float sinpif(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SINPIF_H
diff --git a/libc/src/math/sqrt.h b/libc/src/math/sqrt.h
index d003e3f0964de..91aa1fcbc9ea9 100644
--- a/libc/src/math/sqrt.h
+++ b/libc/src/math/sqrt.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRT_H
 #define LLVM_LIBC_SRC_MATH_SQRT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double sqrt(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SQRT_H
diff --git a/libc/src/math/sqrtf.h b/libc/src/math/sqrtf.h
index fe4192a550386..294b9129327ec 100644
--- a/libc/src/math/sqrtf.h
+++ b/libc/src/math/sqrtf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRTF_H
 #define LLVM_LIBC_SRC_MATH_SQRTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float sqrtf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SQRTF_H
diff --git a/libc/src/math/sqrtf128.h b/libc/src/math/sqrtf128.h
index 9da9eb69374cb..c878fa6aab1e6 100644
--- a/libc/src/math/sqrtf128.h
+++ b/libc/src/math/sqrtf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 sqrtf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SQRTF128_H
diff --git a/libc/src/math/sqrtl.h b/libc/src/math/sqrtl.h
index e632c1925ddc2..8e80c62569a51 100644
--- a/libc/src/math/sqrtl.h
+++ b/libc/src/math/sqrtl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRTL_H
 #define LLVM_LIBC_SRC_MATH_SQRTL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double sqrtl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_SQRTL_H
diff --git a/libc/src/math/tan.h b/libc/src/math/tan.h
index 5d0121f158f11..cb4e23133ab08 100644
--- a/libc/src/math/tan.h
+++ b/libc/src/math/tan.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TAN_H
 #define LLVM_LIBC_SRC_MATH_TAN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double tan(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TAN_H
diff --git a/libc/src/math/tanf.h b/libc/src/math/tanf.h
index e0f06a8ba64cf..da23d1fe155a8 100644
--- a/libc/src/math/tanf.h
+++ b/libc/src/math/tanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANF_H
 #define LLVM_LIBC_SRC_MATH_TANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float tanf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TANF_H
diff --git a/libc/src/math/tanh.h b/libc/src/math/tanh.h
index 66561eef403dd..fd4b95873cc38 100644
--- a/libc/src/math/tanh.h
+++ b/libc/src/math/tanh.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANH_H
 #define LLVM_LIBC_SRC_MATH_TANH_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double tanh(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TANH_H
diff --git a/libc/src/math/tanhf.h b/libc/src/math/tanhf.h
index ff9d02efaffb7..aa31c1d302566 100644
--- a/libc/src/math/tanhf.h
+++ b/libc/src/math/tanhf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANHF_H
 #define LLVM_LIBC_SRC_MATH_TANHF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float tanhf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TANHF_H
diff --git a/libc/src/math/tgamma.h b/libc/src/math/tgamma.h
index 24590ed1a4676..bb0ddd223f755 100644
--- a/libc/src/math/tgamma.h
+++ b/libc/src/math/tgamma.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TGAMMA_H
 #define LLVM_LIBC_SRC_MATH_TGAMMA_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double tgamma(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TGAMMA_H
diff --git a/libc/src/math/tgammaf.h b/libc/src/math/tgammaf.h
index d28e4c325152a..f3afb089f33df 100644
--- a/libc/src/math/tgammaf.h
+++ b/libc/src/math/tgammaf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TGAMMAF_H
 #define LLVM_LIBC_SRC_MATH_TGAMMAF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float tgammaf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TGAMMAF_H
diff --git a/libc/src/math/totalorderf16.h b/libc/src/math/totalorderf16.h
index f5390140c4dc2..41fbb4b52af71 100644
--- a/libc/src/math/totalorderf16.h
+++ b/libc/src/math/totalorderf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int totalorderf16(const float16 *x, const float16 *y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
diff --git a/libc/src/math/totalordermagf16.h b/libc/src/math/totalordermagf16.h
index 8c6621b9783df..e827be7c279c8 100644
--- a/libc/src/math/totalordermagf16.h
+++ b/libc/src/math/totalordermagf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int totalordermagf16(const float16 *x, const float16 *y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
diff --git a/libc/src/math/trunc.h b/libc/src/math/trunc.h
index d766aff923dc9..bb08934ff54ef 100644
--- a/libc/src/math/trunc.h
+++ b/libc/src/math/trunc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNC_H
 #define LLVM_LIBC_SRC_MATH_TRUNC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double trunc(double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TRUNC_H
diff --git a/libc/src/math/truncf.h b/libc/src/math/truncf.h
index e666d778154a3..f4f1ce2703aac 100644
--- a/libc/src/math/truncf.h
+++ b/libc/src/math/truncf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCF_H
 #define LLVM_LIBC_SRC_MATH_TRUNCF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float truncf(float x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TRUNCF_H
diff --git a/libc/src/math/truncf128.h b/libc/src/math/truncf128.h
index 5eb6116551d1c..63e67cc1aa03f 100644
--- a/libc/src/math/truncf128.h
+++ b/libc/src/math/truncf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 truncf128(float128 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TRUNCF128_H
diff --git a/libc/src/math/truncf16.h b/libc/src/math/truncf16.h
index 6d65980461c49..4dcf5c1b479a1 100644
--- a/libc/src/math/truncf16.h
+++ b/libc/src/math/truncf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 truncf16(float16 x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TRUNCF16_H
diff --git a/libc/src/math/truncl.h b/libc/src/math/truncl.h
index 38f414f65fcc0..a3574a2dba7e3 100644
--- a/libc/src/math/truncl.h
+++ b/libc/src/math/truncl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCL_H
 #define LLVM_LIBC_SRC_MATH_TRUNCL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double truncl(long double x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_TRUNCL_H
diff --git a/libc/src/math/ufromfp.h b/libc/src/math/ufromfp.h
index f4667486440c2..5491e991aacf3 100644
--- a/libc/src/math/ufromfp.h
+++ b/libc/src/math/ufromfp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFP_H
 #define LLVM_LIBC_SRC_MATH_UFROMFP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double ufromfp(double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFP_H
diff --git a/libc/src/math/ufromfpf.h b/libc/src/math/ufromfpf.h
index 40c6773d143e8..6cf6d30b7a75b 100644
--- a/libc/src/math/ufromfpf.h
+++ b/libc/src/math/ufromfpf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPF_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float ufromfpf(float x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPF_H
diff --git a/libc/src/math/ufromfpf128.h b/libc/src/math/ufromfpf128.h
index 785fa82becbcd..b535ed795b116 100644
--- a/libc/src/math/ufromfpf128.h
+++ b/libc/src/math/ufromfpf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 ufromfpf128(float128 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPF128_H
diff --git a/libc/src/math/ufromfpf16.h b/libc/src/math/ufromfpf16.h
index 07a38bd232fc7..7ce570343944c 100644
--- a/libc/src/math/ufromfpf16.h
+++ b/libc/src/math/ufromfpf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 ufromfpf16(float16 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPF16_H
diff --git a/libc/src/math/ufromfpl.h b/libc/src/math/ufromfpl.h
index f05a77dc2f103..7b61d1839f418 100644
--- a/libc/src/math/ufromfpl.h
+++ b/libc/src/math/ufromfpl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPL_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double ufromfpl(long double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPL_H
diff --git a/libc/src/math/ufromfpx.h b/libc/src/math/ufromfpx.h
index 79c413af968a5..53acf15c289fe 100644
--- a/libc/src/math/ufromfpx.h
+++ b/libc/src/math/ufromfpx.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPX_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double ufromfpx(double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPX_H
diff --git a/libc/src/math/ufromfpxf.h b/libc/src/math/ufromfpxf.h
index f6bd8f7d59959..d0b98baba5b6a 100644
--- a/libc/src/math/ufromfpxf.h
+++ b/libc/src/math/ufromfpxf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXF_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float ufromfpxf(float x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPXF_H
diff --git a/libc/src/math/ufromfpxf128.h b/libc/src/math/ufromfpxf128.h
index f3b43ff54f37c..66aab8759da26 100644
--- a/libc/src/math/ufromfpxf128.h
+++ b/libc/src/math/ufromfpxf128.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float128 ufromfpxf128(float128 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPXF128_H
diff --git a/libc/src/math/ufromfpxf16.h b/libc/src/math/ufromfpxf16.h
index 988092bde319c..59eb2f1490836 100644
--- a/libc/src/math/ufromfpxf16.h
+++ b/libc/src/math/ufromfpxf16.h
@@ -11,10 +11,10 @@
 
 #include "src/__support/macros/properties/types.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float16 ufromfpxf16(float16 x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPXF16_H
diff --git a/libc/src/math/ufromfpxl.h b/libc/src/math/ufromfpxl.h
index 180b8f93d2187..90204a0c4b0bc 100644
--- a/libc/src/math/ufromfpxl.h
+++ b/libc/src/math/ufromfpxl.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXL_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double ufromfpxl(long double x, int rnd, unsigned int width);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_UFROMFPXL_H
diff --git a/libc/src/network/htonl.cpp b/libc/src/network/htonl.cpp
index 862d5e3a0bc41..3644ece2902aa 100644
--- a/libc/src/network/htonl.cpp
+++ b/libc/src/network/htonl.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uint32_t, htonl, (uint32_t hostlong)) {
   return Endian::to_big_endian(hostlong);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/network/htonl.h b/libc/src/network/htonl.h
index c7743dfad7ba3..5b2a47325a18e 100644
--- a/libc/src/network/htonl.h
+++ b/libc/src/network/htonl.h
@@ -11,10 +11,10 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uint32_t htonl(uint32_t hostlong);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_NETWORK_HTONL_H
diff --git a/libc/src/network/htons.cpp b/libc/src/network/htons.cpp
index e844454d5687f..754c3b5598af5 100644
--- a/libc/src/network/htons.cpp
+++ b/libc/src/network/htons.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uint16_t, htons, (uint16_t hostshort)) {
   return Endian::to_big_endian(hostshort);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/network/htons.h b/libc/src/network/htons.h
index e0a379f94e526..50bccb6585117 100644
--- a/libc/src/network/htons.h
+++ b/libc/src/network/htons.h
@@ -11,10 +11,10 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uint16_t htons(uint16_t hostshort);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_NETWORK_HTONS_H
diff --git a/libc/src/network/ntohl.cpp b/libc/src/network/ntohl.cpp
index c00f4a5ae09c9..b60f29db5d184 100644
--- a/libc/src/network/ntohl.cpp
+++ b/libc/src/network/ntohl.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uint32_t, ntohl, (uint32_t netlong)) {
   if constexpr (Endian::IS_LITTLE)
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(uint32_t, ntohl, (uint32_t netlong)) {
     return netlong;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/network/ntohl.h b/libc/src/network/ntohl.h
index 2fc4ef059c587..e017b569be0c7 100644
--- a/libc/src/network/ntohl.h
+++ b/libc/src/network/ntohl.h
@@ -11,10 +11,10 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uint32_t ntohl(uint32_t netlong);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_NETWORK_NTOHL_H
diff --git a/libc/src/network/ntohs.cpp b/libc/src/network/ntohs.cpp
index 572b6860fa6b9..e791a204ce7b4 100644
--- a/libc/src/network/ntohs.cpp
+++ b/libc/src/network/ntohs.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uint16_t, ntohs, (uint16_t netshort)) {
   if constexpr (Endian::IS_LITTLE)
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(uint16_t, ntohs, (uint16_t netshort)) {
     return netshort;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/network/ntohs.h b/libc/src/network/ntohs.h
index a84c52eeb9c2f..bd2619360f41a 100644
--- a/libc/src/network/ntohs.h
+++ b/libc/src/network/ntohs.h
@@ -11,10 +11,10 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uint16_t ntohs(uint16_t netshort);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_NETWORK_NTOHS_H
diff --git a/libc/src/pthread/pthread_atfork.cpp b/libc/src/pthread/pthread_atfork.cpp
index 57191b8534771..063961c86dee9 100644
--- a/libc/src/pthread/pthread_atfork.cpp
+++ b/libc/src/pthread/pthread_atfork.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_atfork,
                    (__atfork_callback_t prepare, __atfork_callback_t parent,
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, pthread_atfork,
   return register_atfork_callbacks(prepare, parent, child) ? 0 : ENOMEM;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_atfork.h b/libc/src/pthread/pthread_atfork.h
index 8b89d6895647b..92849f133bb9c 100644
--- a/libc/src/pthread/pthread_atfork.h
+++ b/libc/src/pthread/pthread_atfork.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_atfork(__atfork_callback_t prepare, __atfork_callback_t parent,
                    __atfork_callback_t child);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATFORK_H
diff --git a/libc/src/pthread/pthread_attr_destroy.cpp b/libc/src/pthread/pthread_attr_destroy.cpp
index a5bde84256fc6..8412b0ffc3cfe 100644
--- a/libc/src/pthread/pthread_attr_destroy.cpp
+++ b/libc/src/pthread/pthread_attr_destroy.cpp
@@ -12,11 +12,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_destroy, (pthread_attr_t *)) {
   // There is nothing to cleanup.
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_destroy.h b/libc/src/pthread/pthread_attr_destroy.h
index 532a0f45f7cd5..54f893e6bdda4 100644
--- a/libc/src/pthread/pthread_attr_destroy.h
+++ b/libc/src/pthread/pthread_attr_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_destroy(pthread_attr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_DESTROY_H
diff --git a/libc/src/pthread/pthread_attr_getdetachstate.cpp b/libc/src/pthread/pthread_attr_getdetachstate.cpp
index 4bff85d45c17c..21756035f8d8e 100644
--- a/libc/src/pthread/pthread_attr_getdetachstate.cpp
+++ b/libc/src/pthread/pthread_attr_getdetachstate.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_getdetachstate,
                    (const pthread_attr_t *attr, int *detachstate)) {
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_getdetachstate,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_getdetachstate.h b/libc/src/pthread/pthread_attr_getdetachstate.h
index 57a47b73bd50b..d6994177d76d6 100644
--- a/libc/src/pthread/pthread_attr_getdetachstate.h
+++ b/libc/src/pthread/pthread_attr_getdetachstate.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detach_state);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETDETACHSTATE_H
diff --git a/libc/src/pthread/pthread_attr_getguardsize.cpp b/libc/src/pthread/pthread_attr_getguardsize.cpp
index 8f28db8d9c96c..baa3d7c9de23d 100644
--- a/libc/src/pthread/pthread_attr_getguardsize.cpp
+++ b/libc/src/pthread/pthread_attr_getguardsize.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_getguardsize,
                    (const pthread_attr_t *__restrict attr,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_getguardsize,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_getguardsize.h b/libc/src/pthread/pthread_attr_getguardsize.h
index ef2e75828f9e2..b9aa72fd20294 100644
--- a/libc/src/pthread/pthread_attr_getguardsize.h
+++ b/libc/src/pthread/pthread_attr_getguardsize.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_getguardsize(const pthread_attr_t *__restrict attr,
                               size_t *__restrict guardsize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETGUARDSIZE_H
diff --git a/libc/src/pthread/pthread_attr_getstack.cpp b/libc/src/pthread/pthread_attr_getstack.cpp
index 8788fbc1ffdd3..9f2d9391196ac 100644
--- a/libc/src/pthread/pthread_attr_getstack.cpp
+++ b/libc/src/pthread/pthread_attr_getstack.cpp
@@ -14,7 +14,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_getstack,
                    (const pthread_attr_t *__restrict attr,
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_getstack,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_getstack.h b/libc/src/pthread/pthread_attr_getstack.h
index 22ac24a89e422..c5f08be737b00 100644
--- a/libc/src/pthread/pthread_attr_getstack.h
+++ b/libc/src/pthread/pthread_attr_getstack.h
@@ -11,12 +11,12 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_getstack(const pthread_attr_t *__restrict attr,
                           void **__restrict stack,
                           size_t *__restrict stacksize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACK_H
diff --git a/libc/src/pthread/pthread_attr_getstacksize.cpp b/libc/src/pthread/pthread_attr_getstacksize.cpp
index ecc4787951dfa..baeb5b0fca554 100644
--- a/libc/src/pthread/pthread_attr_getstacksize.cpp
+++ b/libc/src/pthread/pthread_attr_getstacksize.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_getstacksize,
                    (const pthread_attr_t *__restrict attr,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_getstacksize,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_getstacksize.h b/libc/src/pthread/pthread_attr_getstacksize.h
index 3136f08ffb711..aa74f694e84fc 100644
--- a/libc/src/pthread/pthread_attr_getstacksize.h
+++ b/libc/src/pthread/pthread_attr_getstacksize.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_getstacksize(const pthread_attr_t *__restrict attr,
                               size_t *__restrict stacksize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACKSIZE_H
diff --git a/libc/src/pthread/pthread_attr_init.cpp b/libc/src/pthread/pthread_attr_init.cpp
index 13d302c18f98a..ad35e61ac4d0d 100644
--- a/libc/src/pthread/pthread_attr_init.cpp
+++ b/libc/src/pthread/pthread_attr_init.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_init, (pthread_attr_t * attr)) {
   *attr = pthread_attr_t{
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_init, (pthread_attr_t * attr)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_init.h b/libc/src/pthread/pthread_attr_init.h
index 3a2ad3d2b8b81..7d4872a4ba2e3 100644
--- a/libc/src/pthread/pthread_attr_init.h
+++ b/libc/src/pthread/pthread_attr_init.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_init(pthread_attr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_INIT_H
diff --git a/libc/src/pthread/pthread_attr_setdetachstate.cpp b/libc/src/pthread/pthread_attr_setdetachstate.cpp
index 029b4d514ef43..c36f9efa87174 100644
--- a/libc/src/pthread/pthread_attr_setdetachstate.cpp
+++ b/libc/src/pthread/pthread_attr_setdetachstate.cpp
@@ -13,7 +13,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_setdetachstate,
                    (pthread_attr_t * attr, int detachstate)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_setdetachstate,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_setdetachstate.h b/libc/src/pthread/pthread_attr_setdetachstate.h
index 2b994d9e99d30..afe50d1113e8e 100644
--- a/libc/src/pthread/pthread_attr_setdetachstate.h
+++ b/libc/src/pthread/pthread_attr_setdetachstate.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_setdetachstate(pthread_attr_t *attr, int detach_state);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETDETACHSTATE_H
diff --git a/libc/src/pthread/pthread_attr_setguardsize.cpp b/libc/src/pthread/pthread_attr_setguardsize.cpp
index 98855b20cb0fb..d1bd3996ff6a8 100644
--- a/libc/src/pthread/pthread_attr_setguardsize.cpp
+++ b/libc/src/pthread/pthread_attr_setguardsize.cpp
@@ -14,7 +14,7 @@
 #include <linux/param.h> // For EXEC_PAGESIZE.
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_setguardsize,
                    (pthread_attr_t *__restrict attr, size_t guardsize)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_setguardsize,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_setguardsize.h b/libc/src/pthread/pthread_attr_setguardsize.h
index 64d896af02666..fef2bbadcf9e8 100644
--- a/libc/src/pthread/pthread_attr_setguardsize.h
+++ b/libc/src/pthread/pthread_attr_setguardsize.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETGUARDSIZE_H
diff --git a/libc/src/pthread/pthread_attr_setstack.cpp b/libc/src/pthread/pthread_attr_setstack.cpp
index dde4e3fd70ed2..1ef941def9d63 100644
--- a/libc/src/pthread/pthread_attr_setstack.cpp
+++ b/libc/src/pthread/pthread_attr_setstack.cpp
@@ -16,7 +16,7 @@
 #include <pthread.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_setstack,
                    (pthread_attr_t *__restrict attr, void *stack,
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_setstack,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_setstack.h b/libc/src/pthread/pthread_attr_setstack.h
index fe2a7f4fbd061..a28b36d05deb3 100644
--- a/libc/src/pthread/pthread_attr_setstack.h
+++ b/libc/src/pthread/pthread_attr_setstack.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_setstack(pthread_attr_t *attr, void *stack, size_t stacksize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACK_H
diff --git a/libc/src/pthread/pthread_attr_setstacksize.cpp b/libc/src/pthread/pthread_attr_setstacksize.cpp
index 642a888aba706..781afc5d318eb 100644
--- a/libc/src/pthread/pthread_attr_setstacksize.cpp
+++ b/libc/src/pthread/pthread_attr_setstacksize.cpp
@@ -13,7 +13,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_attr_setstacksize,
                    (pthread_attr_t *__restrict attr, size_t stacksize)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, pthread_attr_setstacksize,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_attr_setstacksize.h b/libc/src/pthread/pthread_attr_setstacksize.h
index f5940948949b8..b206c70a38349 100644
--- a/libc/src/pthread/pthread_attr_setstacksize.h
+++ b/libc/src/pthread/pthread_attr_setstacksize.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACKSIZE_H
diff --git a/libc/src/pthread/pthread_condattr_destroy.cpp b/libc/src/pthread/pthread_condattr_destroy.cpp
index 41994c6941ffe..0be9fdb92362a 100644
--- a/libc/src/pthread/pthread_condattr_destroy.cpp
+++ b/libc/src/pthread/pthread_condattr_destroy.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_destroy,
                    (pthread_condattr_t * attr [[gnu::unused]])) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_destroy,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_destroy.h b/libc/src/pthread/pthread_condattr_destroy.h
index 2910fa9f96168..d3ee046afb998 100644
--- a/libc/src/pthread/pthread_condattr_destroy.h
+++ b/libc/src/pthread/pthread_condattr_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_destroy(pthread_condattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_DESTROY_H
diff --git a/libc/src/pthread/pthread_condattr_getclock.cpp b/libc/src/pthread/pthread_condattr_getclock.cpp
index a3a3963f4f429..ae371d230ce84 100644
--- a/libc/src/pthread/pthread_condattr_getclock.cpp
+++ b/libc/src/pthread/pthread_condattr_getclock.cpp
@@ -13,7 +13,7 @@
 #include <pthread.h>   // pthread_condattr_t
 #include <sys/types.h> // clockid_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_getclock,
                    (const pthread_condattr_t *__restrict attr,
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_getclock,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_getclock.h b/libc/src/pthread/pthread_condattr_getclock.h
index d5878c4f45b53..0a0263333f4e3 100644
--- a/libc/src/pthread/pthread_condattr_getclock.h
+++ b/libc/src/pthread/pthread_condattr_getclock.h
@@ -12,11 +12,11 @@
 #include <pthread.h>   // pthread_condattr_t
 #include <sys/types.h> // clockid_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_getclock(const pthread_condattr_t *__restrict attr,
                               clockid_t *__restrict clock_id);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_GETCLOCK_H
diff --git a/libc/src/pthread/pthread_condattr_getpshared.cpp b/libc/src/pthread/pthread_condattr_getpshared.cpp
index 0c5fdc115c25d..7fe8da689f461 100644
--- a/libc/src/pthread/pthread_condattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_condattr_getpshared.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_getpshared,
                    (const pthread_condattr_t *__restrict attr,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_getpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_getpshared.h b/libc/src/pthread/pthread_condattr_getpshared.h
index 3d7a0c1d357c6..5ff2e53214af7 100644
--- a/libc/src/pthread/pthread_condattr_getpshared.h
+++ b/libc/src/pthread/pthread_condattr_getpshared.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_getpshared(const pthread_condattr_t *__restrict attr,
                                 int *__restrict pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_PSHARED_H
diff --git a/libc/src/pthread/pthread_condattr_init.cpp b/libc/src/pthread/pthread_condattr_init.cpp
index 54633b2e3a5ea..038abf9b0c9d8 100644
--- a/libc/src/pthread/pthread_condattr_init.cpp
+++ b/libc/src/pthread/pthread_condattr_init.cpp
@@ -13,7 +13,7 @@
 #include <pthread.h> // pthread_condattr_t, PTHREAD_PROCESS_PRIVATE
 #include <time.h>    // CLOCK_REALTIME
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_init, (pthread_condattr_t * attr)) {
   attr->clock = CLOCK_REALTIME;
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_init, (pthread_condattr_t * attr)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_init.h b/libc/src/pthread/pthread_condattr_init.h
index 9f3c06bb6f4ae..17ca007eaae92 100644
--- a/libc/src/pthread/pthread_condattr_init.h
+++ b/libc/src/pthread/pthread_condattr_init.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_init(pthread_condattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_INIT_H
diff --git a/libc/src/pthread/pthread_condattr_setclock.cpp b/libc/src/pthread/pthread_condattr_setclock.cpp
index 6eca8b30ef7f8..cad252ab186b6 100644
--- a/libc/src/pthread/pthread_condattr_setclock.cpp
+++ b/libc/src/pthread/pthread_condattr_setclock.cpp
@@ -15,7 +15,7 @@
 #include <sys/types.h> // clockid_t
 #include <time.h>      // CLOCK_MONOTONIC, CLOCK_REALTIME
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_setclock,
                    (pthread_condattr_t * attr, clockid_t clock)) {
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_setclock,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_setclock.h b/libc/src/pthread/pthread_condattr_setclock.h
index 328766fe78833..2f8240aedca99 100644
--- a/libc/src/pthread/pthread_condattr_setclock.h
+++ b/libc/src/pthread/pthread_condattr_setclock.h
@@ -12,10 +12,10 @@
 #include <pthread.h>
 #include <sys/types.h> // clockid_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_setclock(pthread_condattr_t *attr, clockid_t clock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETCLOCK_H
diff --git a/libc/src/pthread/pthread_condattr_setpshared.cpp b/libc/src/pthread/pthread_condattr_setpshared.cpp
index 7f1560acad843..7b076b90d3fee 100644
--- a/libc/src/pthread/pthread_condattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_condattr_setpshared.cpp
@@ -13,7 +13,7 @@
 #include <errno.h> // EINVAL
 #include <pthread.h> // pthread_condattr_t, PTHREAD_PROCESS_SHARED, PTHREAD_PROCESS_PRIVATE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_condattr_setpshared,
                    (pthread_condattr_t * attr, int pshared)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, pthread_condattr_setpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_condattr_setpshared.h b/libc/src/pthread/pthread_condattr_setpshared.h
index 8083bdec78cc4..c9d9883ee7411 100644
--- a/libc/src/pthread/pthread_condattr_setpshared.h
+++ b/libc/src/pthread/pthread_condattr_setpshared.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETPSHARED_H
diff --git a/libc/src/pthread/pthread_create.cpp b/libc/src/pthread/pthread_create.cpp
index 8b406cd09326a..735912a33e57f 100644
--- a/libc/src/pthread/pthread_create.cpp
+++ b/libc/src/pthread/pthread_create.cpp
@@ -22,7 +22,7 @@
 #include <errno.h>
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -84,4 +84,4 @@ LLVM_LIBC_FUNCTION(int, pthread_create,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_create.h b/libc/src/pthread/pthread_create.h
index 75466e39df7e1..f073daf28e1b0 100644
--- a/libc/src/pthread/pthread_create.h
+++ b/libc/src/pthread/pthread_create.h
@@ -11,12 +11,12 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_create(pthread_t *__restrict thread,
                    const pthread_attr_t *__restrict attr,
                    __pthread_start_t func, void *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_CREATE_H
diff --git a/libc/src/pthread/pthread_detach.cpp b/libc/src/pthread/pthread_detach.cpp
index e8b69b6576265..64bea6078ec44 100644
--- a/libc/src/pthread/pthread_detach.cpp
+++ b/libc/src/pthread/pthread_detach.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_detach, (pthread_t th)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_detach.h b/libc/src/pthread/pthread_detach.h
index d54fdf854de39..5b4a708bd3c7e 100644
--- a/libc/src/pthread/pthread_detach.h
+++ b/libc/src/pthread/pthread_detach.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_detach(pthread_t thread);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_DETACH_H
diff --git a/libc/src/pthread/pthread_equal.cpp b/libc/src/pthread/pthread_equal.cpp
index f154e9ba9a421..e2d61b5c0d3bf 100644
--- a/libc/src/pthread/pthread_equal.cpp
+++ b/libc/src/pthread/pthread_equal.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_equal, (pthread_t lhs, pthread_t rhs)) {
   return *lhs_internal == *rhs_internal;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_equal.h b/libc/src/pthread/pthread_equal.h
index 448fb8fc07d1d..cb3816f0befa8 100644
--- a/libc/src/pthread/pthread_equal.h
+++ b/libc/src/pthread/pthread_equal.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_equal(pthread_t lhs, pthread_t rhs);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_EQUAL_H
diff --git a/libc/src/pthread/pthread_exit.cpp b/libc/src/pthread/pthread_exit.cpp
index acba665d0fa4f..df0142515f283 100644
--- a/libc/src/pthread/pthread_exit.cpp
+++ b/libc/src/pthread/pthread_exit.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(void, pthread_exit, (void *retval)) {
   LIBC_NAMESPACE::thread_exit(ThreadReturnValue(retval), ThreadStyle::POSIX);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_exit.h b/libc/src/pthread/pthread_exit.h
index 6617dab84c69e..9a1b6bfb95229 100644
--- a/libc/src/pthread/pthread_exit.h
+++ b/libc/src/pthread/pthread_exit.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void pthread_exit(void *retval);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_EXIT_H
diff --git a/libc/src/pthread/pthread_getname_np.cpp b/libc/src/pthread/pthread_getname_np.cpp
index 3de8c2e92f7a0..e3ac2f7a68f0c 100644
--- a/libc/src/pthread/pthread_getname_np.cpp
+++ b/libc/src/pthread/pthread_getname_np.cpp
@@ -16,7 +16,7 @@
 #include <pthread.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, pthread_getname_np,
   return thread->get_name(name_stream);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_getname_np.h b/libc/src/pthread/pthread_getname_np.h
index a51573749ba87..360cf0aa6c022 100644
--- a/libc/src/pthread/pthread_getname_np.h
+++ b/libc/src/pthread/pthread_getname_np.h
@@ -12,10 +12,10 @@
 #include <pthread.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_getname_np(pthread_t, char *, size_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETNAME_NP_H
diff --git a/libc/src/pthread/pthread_getspecific.cpp b/libc/src/pthread/pthread_getspecific.cpp
index 3893b52efd6e9..b851588453ac2 100644
--- a/libc/src/pthread/pthread_getspecific.cpp
+++ b/libc/src/pthread/pthread_getspecific.cpp
@@ -14,10 +14,10 @@
 #include <pthread.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, pthread_getspecific, (pthread_key_t key)) {
   return get_tss_value(key);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_getspecific.h b/libc/src/pthread/pthread_getspecific.h
index 28439838bd65b..6e5923911b61f 100644
--- a/libc/src/pthread/pthread_getspecific.h
+++ b/libc/src/pthread/pthread_getspecific.h
@@ -12,10 +12,10 @@
 #include <pthread.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *pthread_getspecific(pthread_key_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETSPECIFIC_H
diff --git a/libc/src/pthread/pthread_join.cpp b/libc/src/pthread/pthread_join.cpp
index 8d4c2dd46c474..74e7fa9319ced 100644
--- a/libc/src/pthread/pthread_join.cpp
+++ b/libc/src/pthread/pthread_join.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_join, (pthread_t th, void **retval)) {
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_join.h b/libc/src/pthread/pthread_join.h
index 506efaead40ff..4d446bdbd73f7 100644
--- a/libc/src/pthread/pthread_join.h
+++ b/libc/src/pthread/pthread_join.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_join(pthread_t thread, void **retval);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_JOIN_H
diff --git a/libc/src/pthread/pthread_key_create.cpp b/libc/src/pthread/pthread_key_create.cpp
index 81c1f39954a5b..b11f0f8ba90ad 100644
--- a/libc/src/pthread/pthread_key_create.cpp
+++ b/libc/src/pthread/pthread_key_create.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_key_create,
                    (pthread_key_t * key, __pthread_tss_dtor_t dtor)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, pthread_key_create,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_key_create.h b/libc/src/pthread/pthread_key_create.h
index f12c9088e7c86..66ef81c789e14 100644
--- a/libc/src/pthread/pthread_key_create.h
+++ b/libc/src/pthread/pthread_key_create.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_key_create(pthread_key_t *key, __pthread_tss_dtor_t dtor);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_CREATE_H
diff --git a/libc/src/pthread/pthread_key_delete.cpp b/libc/src/pthread/pthread_key_delete.cpp
index 18a4cc7e18665..5bc007dd91ad4 100644
--- a/libc/src/pthread/pthread_key_delete.cpp
+++ b/libc/src/pthread/pthread_key_delete.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_key_delete, (pthread_key_t key)) {
   if (LIBC_NAMESPACE::tss_key_delete(key))
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_key_delete, (pthread_key_t key)) {
     return EINVAL;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_key_delete.h b/libc/src/pthread/pthread_key_delete.h
index 5b7e40bb373a6..d4138f91ce5c7 100644
--- a/libc/src/pthread/pthread_key_delete.h
+++ b/libc/src/pthread/pthread_key_delete.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_key_delete(pthread_key_t key);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_DELETE_H
diff --git a/libc/src/pthread/pthread_mutex_destroy.cpp b/libc/src/pthread/pthread_mutex_destroy.cpp
index 65f4b7901f4f1..4071bb7f8dba7 100644
--- a/libc/src/pthread/pthread_mutex_destroy.cpp
+++ b/libc/src/pthread/pthread_mutex_destroy.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutex_destroy, (pthread_mutex_t * mutex)) {
   auto *m = reinterpret_cast<Mutex *>(mutex);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutex_destroy, (pthread_mutex_t * mutex)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutex_destroy.h b/libc/src/pthread/pthread_mutex_destroy.h
index 2df303eb2d6ca..9ba37885efb22 100644
--- a/libc/src/pthread/pthread_mutex_destroy.h
+++ b/libc/src/pthread/pthread_mutex_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutex_destroy(pthread_mutex_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_DESTROY_H
diff --git a/libc/src/pthread/pthread_mutex_init.cpp b/libc/src/pthread/pthread_mutex_init.cpp
index 3914669b1c73e..33f4ffc911514 100644
--- a/libc/src/pthread/pthread_mutex_init.cpp
+++ b/libc/src/pthread/pthread_mutex_init.cpp
@@ -15,7 +15,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(Mutex) <= sizeof(pthread_mutex_t),
               "The public pthread_mutex_t type cannot accommodate the internal "
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutex_init,
   return err == MutexError::NONE ? 0 : EAGAIN;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutex_init.h b/libc/src/pthread/pthread_mutex_init.h
index e6b5a0ac7eef9..d9302b5a28a0d 100644
--- a/libc/src/pthread/pthread_mutex_init.h
+++ b/libc/src/pthread/pthread_mutex_init.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutex_init(pthread_mutex_t *mutex,
                        const pthread_mutexattr_t *__restrict attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_INIT_H
diff --git a/libc/src/pthread/pthread_mutex_lock.cpp b/libc/src/pthread/pthread_mutex_lock.cpp
index efc6f75e43429..708fb413fc78b 100644
--- a/libc/src/pthread/pthread_mutex_lock.cpp
+++ b/libc/src/pthread/pthread_mutex_lock.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The implementation currently handles only plain mutexes.
 LLVM_LIBC_FUNCTION(int, pthread_mutex_lock, (pthread_mutex_t * mutex)) {
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutex_lock, (pthread_mutex_t * mutex)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutex_lock.h b/libc/src/pthread/pthread_mutex_lock.h
index c5a835e4fc870..8441dbe58401c 100644
--- a/libc/src/pthread/pthread_mutex_lock.h
+++ b/libc/src/pthread/pthread_mutex_lock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutex_lock(pthread_mutex_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_LOCK_H
diff --git a/libc/src/pthread/pthread_mutex_unlock.cpp b/libc/src/pthread/pthread_mutex_unlock.cpp
index b0819bd5fcd89..37fdedc42a292 100644
--- a/libc/src/pthread/pthread_mutex_unlock.cpp
+++ b/libc/src/pthread/pthread_mutex_unlock.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The implementation currently handles only plain mutexes.
 LLVM_LIBC_FUNCTION(int, pthread_mutex_unlock, (pthread_mutex_t * mutex)) {
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutex_unlock, (pthread_mutex_t * mutex)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutex_unlock.h b/libc/src/pthread/pthread_mutex_unlock.h
index 303ec001d2378..3fa3fa8f32eec 100644
--- a/libc/src/pthread/pthread_mutex_unlock.h
+++ b/libc/src/pthread/pthread_mutex_unlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutex_unlock(pthread_mutex_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_UNLOCK_H
diff --git a/libc/src/pthread/pthread_mutexattr.h b/libc/src/pthread/pthread_mutexattr.h
index 292ceebe049f9..57a0e01eecdf0 100644
--- a/libc/src/pthread/pthread_mutexattr.h
+++ b/libc/src/pthread/pthread_mutexattr.h
@@ -13,7 +13,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 enum class PThreadMutexAttrPos : unsigned int {
   TYPE_SHIFT = 0,
@@ -48,6 +48,6 @@ LIBC_INLINE int get_mutexattr_pshared(pthread_mutexattr_t attr) {
          unsigned(PThreadMutexAttrPos::PSHARED_SHIFT);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_H
diff --git a/libc/src/pthread/pthread_mutexattr_destroy.cpp b/libc/src/pthread/pthread_mutexattr_destroy.cpp
index 9722d2b551cd7..ece8d6f22266e 100644
--- a/libc/src/pthread/pthread_mutexattr_destroy.cpp
+++ b/libc/src/pthread/pthread_mutexattr_destroy.cpp
@@ -13,10 +13,10 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_destroy, (pthread_mutexattr_t *)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_destroy.h b/libc/src/pthread/pthread_mutexattr_destroy.h
index 32a8b949fad8e..b02b49fe25466 100644
--- a/libc/src/pthread/pthread_mutexattr_destroy.h
+++ b/libc/src/pthread/pthread_mutexattr_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_DESTROY_H
diff --git a/libc/src/pthread/pthread_mutexattr_getpshared.cpp b/libc/src/pthread/pthread_mutexattr_getpshared.cpp
index a89af08464e2f..cd775ec5e82d7 100644
--- a/libc/src/pthread/pthread_mutexattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_mutexattr_getpshared.cpp
@@ -13,7 +13,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_getpshared,
                    (const pthread_mutexattr_t *__restrict attr,
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_getpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_getpshared.h b/libc/src/pthread/pthread_mutexattr_getpshared.h
index 843fa36583d67..564c5669fb8d7 100644
--- a/libc/src/pthread/pthread_mutexattr_getpshared.h
+++ b/libc/src/pthread/pthread_mutexattr_getpshared.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_getpshared(const pthread_mutexattr_t *__restrict attr,
                                  int *__restrict pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETPSHARED_H
diff --git a/libc/src/pthread/pthread_mutexattr_getrobust.cpp b/libc/src/pthread/pthread_mutexattr_getrobust.cpp
index 9c54b075dd944..547dfbf4d5cd2 100644
--- a/libc/src/pthread/pthread_mutexattr_getrobust.cpp
+++ b/libc/src/pthread/pthread_mutexattr_getrobust.cpp
@@ -13,7 +13,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_getrobust,
                    (const pthread_mutexattr_t *__restrict attr,
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_getrobust,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_getrobust.h b/libc/src/pthread/pthread_mutexattr_getrobust.h
index 5ef2b929d7049..a10eaf2685a81 100644
--- a/libc/src/pthread/pthread_mutexattr_getrobust.h
+++ b/libc/src/pthread/pthread_mutexattr_getrobust.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_getrobust(const pthread_mutexattr_t *__restrict attr,
                                 int *__restrict robust);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETROBUST_H
diff --git a/libc/src/pthread/pthread_mutexattr_gettype.cpp b/libc/src/pthread/pthread_mutexattr_gettype.cpp
index c54396eff6fd8..7662224e2fc47 100644
--- a/libc/src/pthread/pthread_mutexattr_gettype.cpp
+++ b/libc/src/pthread/pthread_mutexattr_gettype.cpp
@@ -13,7 +13,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_gettype,
                    (const pthread_mutexattr_t *__restrict attr,
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_gettype,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_gettype.h b/libc/src/pthread/pthread_mutexattr_gettype.h
index b0e7c6e8e6a0c..0e2d8c3a203a8 100644
--- a/libc/src/pthread/pthread_mutexattr_gettype.h
+++ b/libc/src/pthread/pthread_mutexattr_gettype.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict attr,
                               int *__restrict type);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETTYPE_H
diff --git a/libc/src/pthread/pthread_mutexattr_init.cpp b/libc/src/pthread/pthread_mutexattr_init.cpp
index 439d198249a1e..1cadc62d6ed82 100644
--- a/libc/src/pthread/pthread_mutexattr_init.cpp
+++ b/libc/src/pthread/pthread_mutexattr_init.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_init, (pthread_mutexattr_t * attr)) {
   // Set the default attributes and mark the attribute object as initiliazed
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_init, (pthread_mutexattr_t * attr)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_init.h b/libc/src/pthread/pthread_mutexattr_init.h
index 13de2e5925102..5549dd6a9d38c 100644
--- a/libc/src/pthread/pthread_mutexattr_init.h
+++ b/libc/src/pthread/pthread_mutexattr_init.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_init(pthread_mutexattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_INIT_H
diff --git a/libc/src/pthread/pthread_mutexattr_setpshared.cpp b/libc/src/pthread/pthread_mutexattr_setpshared.cpp
index f654d337bac25..29120fa4e108b 100644
--- a/libc/src/pthread/pthread_mutexattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_mutexattr_setpshared.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_setpshared,
                    (pthread_mutexattr_t *__restrict attr, int pshared)) {
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_setpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_setpshared.h b/libc/src/pthread/pthread_mutexattr_setpshared.h
index 0726b7792fedb..295b4e7a87ac4 100644
--- a/libc/src/pthread/pthread_mutexattr_setpshared.h
+++ b/libc/src/pthread/pthread_mutexattr_setpshared.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_setpshared(pthread_mutexattr_t *__restrict attr,
                                  int pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETPSHARED_H
diff --git a/libc/src/pthread/pthread_mutexattr_setrobust.cpp b/libc/src/pthread/pthread_mutexattr_setrobust.cpp
index 15fdac61e438d..2ac32dfa4954a 100644
--- a/libc/src/pthread/pthread_mutexattr_setrobust.cpp
+++ b/libc/src/pthread/pthread_mutexattr_setrobust.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_setrobust,
                    (pthread_mutexattr_t *__restrict attr, int robust)) {
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_setrobust,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_setrobust.h b/libc/src/pthread/pthread_mutexattr_setrobust.h
index 8361a14e38f68..4ac789097f7b6 100644
--- a/libc/src/pthread/pthread_mutexattr_setrobust.h
+++ b/libc/src/pthread/pthread_mutexattr_setrobust.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_setrobust(pthread_mutexattr_t *__restrict attr,
                                 int robust);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETROBUST_H
diff --git a/libc/src/pthread/pthread_mutexattr_settype.cpp b/libc/src/pthread/pthread_mutexattr_settype.cpp
index d5514a1cbf832..0ed48ca19825a 100644
--- a/libc/src/pthread/pthread_mutexattr_settype.cpp
+++ b/libc/src/pthread/pthread_mutexattr_settype.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_mutexattr_settype,
                    (pthread_mutexattr_t *__restrict attr, int type)) {
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, pthread_mutexattr_settype,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_mutexattr_settype.h b/libc/src/pthread/pthread_mutexattr_settype.h
index 8ad3285bacf30..4cf29c7606bde 100644
--- a/libc/src/pthread/pthread_mutexattr_settype.h
+++ b/libc/src/pthread/pthread_mutexattr_settype.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_mutexattr_settype(pthread_mutexattr_t *__restrict attr, int type);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETTYPE_H
diff --git a/libc/src/pthread/pthread_once.cpp b/libc/src/pthread/pthread_once.cpp
index 0e0045e9c5407..a9ab275a2b3db 100644
--- a/libc/src/pthread/pthread_once.cpp
+++ b/libc/src/pthread/pthread_once.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h> // For pthread_once_t and __pthread_once_func_t definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_once,
                    (pthread_once_t * flag, __pthread_once_func_t func)) {
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, pthread_once,
                   reinterpret_cast<CallOnceCallback *>(func));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_once.h b/libc/src/pthread/pthread_once.h
index 25ee70a99c4d4..2d08792a304c7 100644
--- a/libc/src/pthread/pthread_once.h
+++ b/libc/src/pthread/pthread_once.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_once(pthread_once_t *flag, __pthread_once_func_t func);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_ONCE_H
diff --git a/libc/src/pthread/pthread_rwlock_destroy.cpp b/libc/src/pthread/pthread_rwlock_destroy.cpp
index d82bb376bda2c..b3abd8d5885c7 100644
--- a/libc/src/pthread/pthread_rwlock_destroy.cpp
+++ b/libc/src/pthread/pthread_rwlock_destroy.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlock_destroy, (pthread_rwlock_t * rwlock)) {
   if (!rwlock)
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_destroy, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(res);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_destroy.h b/libc/src/pthread/pthread_rwlock_destroy.h
index f845e806d6e60..c89da3fd6e571 100644
--- a/libc/src/pthread/pthread_rwlock_destroy.h
+++ b/libc/src/pthread/pthread_rwlock_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_DESTROY_H
diff --git a/libc/src/pthread/pthread_rwlock_init.cpp b/libc/src/pthread/pthread_rwlock_init.cpp
index b1b58aac6c6ff..0680cc55d93f2 100644
--- a/libc/src/pthread/pthread_rwlock_init.cpp
+++ b/libc/src/pthread/pthread_rwlock_init.cpp
@@ -16,7 +16,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -64,4 +64,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_init,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_init.h b/libc/src/pthread/pthread_rwlock_init.h
index 78d2934882c1d..6790b5f4fdcc1 100644
--- a/libc/src/pthread/pthread_rwlock_init.h
+++ b/libc/src/pthread/pthread_rwlock_init.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_init(pthread_rwlock_t *rwlock,
                         const pthread_rwlockattr_t *__restrict attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_INIT_H
diff --git a/libc/src/pthread/pthread_rwlock_rdlock.cpp b/libc/src/pthread/pthread_rwlock_rdlock.cpp
index e9aee5da4e7e4..a65edc066dad3 100644
--- a/libc/src/pthread/pthread_rwlock_rdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_rdlock.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_rdlock, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(rw->read_lock());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_rdlock.h b/libc/src/pthread/pthread_rwlock_rdlock.h
index 79027739f4b7c..ab0eac374a9a0 100644
--- a/libc/src/pthread/pthread_rwlock_rdlock.h
+++ b/libc/src/pthread/pthread_rwlock_rdlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_RDLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_timedrdlock.cpp b/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
index 6ce69ea738a93..3dbdd0958ec01 100644
--- a/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
@@ -17,7 +17,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -46,4 +46,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_timedrdlock,
   __builtin_unreachable();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_timedrdlock.h b/libc/src/pthread/pthread_rwlock_timedrdlock.h
index dfa43f25ba706..98b2c080e6842 100644
--- a/libc/src/pthread/pthread_rwlock_timedrdlock.h
+++ b/libc/src/pthread/pthread_rwlock_timedrdlock.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_timedrdlock(pthread_rwlock_t *__restrict rwlock,
                                const struct timespec *__restrict abs_timeout);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDRDLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_timedwrlock.cpp b/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
index ad3f913eb15aa..9bde99414d4a9 100644
--- a/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
@@ -17,7 +17,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlock_timedwrlock,
                    (pthread_rwlock_t *__restrict rwlock,
@@ -40,4 +40,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_timedwrlock,
   __builtin_unreachable();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_timedwrlock.h b/libc/src/pthread/pthread_rwlock_timedwrlock.h
index a39d8de8d330f..15fa7d103521b 100644
--- a/libc/src/pthread/pthread_rwlock_timedwrlock.h
+++ b/libc/src/pthread/pthread_rwlock_timedwrlock.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_timedwrlock(pthread_rwlock_t *__restrict rwlock,
                                const struct timespec *__restrict abs_timeout);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDWRLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_tryrdlock.cpp b/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
index 9dc1bf09bc830..76ea5b080e7b8 100644
--- a/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_tryrdlock, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(rw->try_read_lock());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_tryrdlock.h b/libc/src/pthread/pthread_rwlock_tryrdlock.h
index b07ab5b152b1a..5a582e809c326 100644
--- a/libc/src/pthread/pthread_rwlock_tryrdlock.h
+++ b/libc/src/pthread/pthread_rwlock_tryrdlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYRDLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_trywrlock.cpp b/libc/src/pthread/pthread_rwlock_trywrlock.cpp
index e4ace3cb350af..602ca8239f610 100644
--- a/libc/src/pthread/pthread_rwlock_trywrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_trywrlock.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_trywrlock, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(rw->try_write_lock());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_trywrlock.h b/libc/src/pthread/pthread_rwlock_trywrlock.h
index fc146c6db859f..760f44821b21d 100644
--- a/libc/src/pthread/pthread_rwlock_trywrlock.h
+++ b/libc/src/pthread/pthread_rwlock_trywrlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYWRLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_unlock.cpp b/libc/src/pthread/pthread_rwlock_unlock.cpp
index 21cedf42a8d50..0b64af70e6ed1 100644
--- a/libc/src/pthread/pthread_rwlock_unlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_unlock.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlock_unlock, (pthread_rwlock_t * rwlock)) {
   if (!rwlock)
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_unlock, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(rw->unlock());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_unlock.h b/libc/src/pthread/pthread_rwlock_unlock.h
index b9a72f1e06992..b9543e81f83f0 100644
--- a/libc/src/pthread/pthread_rwlock_unlock.h
+++ b/libc/src/pthread/pthread_rwlock_unlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_UNLOCK_H
diff --git a/libc/src/pthread/pthread_rwlock_wrlock.cpp b/libc/src/pthread/pthread_rwlock_wrlock.cpp
index 5d3868a58f4e9..ee7f779c0e1ac 100644
--- a/libc/src/pthread/pthread_rwlock_wrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_wrlock.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(
     sizeof(RwLock) == sizeof(pthread_rwlock_t) &&
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlock_wrlock, (pthread_rwlock_t * rwlock)) {
   return static_cast<int>(rw->write_lock());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlock_wrlock.h b/libc/src/pthread/pthread_rwlock_wrlock.h
index ba77c1f1f09ac..4d95b444a6aa9 100644
--- a/libc/src/pthread/pthread_rwlock_wrlock.h
+++ b/libc/src/pthread/pthread_rwlock_wrlock.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_WRLOCK_H
diff --git a/libc/src/pthread/pthread_rwlockattr_destroy.cpp b/libc/src/pthread/pthread_rwlockattr_destroy.cpp
index e3ca75112f0ef..223db17b3a6fe 100644
--- a/libc/src/pthread/pthread_rwlockattr_destroy.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_destroy.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h> // pthread_rwlockattr_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_destroy,
                    (pthread_rwlockattr_t * attr [[gnu::unused]])) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_destroy,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_destroy.h b/libc/src/pthread/pthread_rwlockattr_destroy.h
index 5904d6b004187..43bda2b26eca7 100644
--- a/libc/src/pthread/pthread_rwlockattr_destroy.h
+++ b/libc/src/pthread/pthread_rwlockattr_destroy.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_DESTROY_H
diff --git a/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp b/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
index 0c821797b42ca..abe63af33c3de 100644
--- a/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h> // pthread_rwlockattr_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_getkind_np,
                    (const pthread_rwlockattr_t *__restrict attr,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_getkind_np,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_getkind_np.h b/libc/src/pthread/pthread_rwlockattr_getkind_np.h
index 51f633cd559d4..34f2909391b78 100644
--- a/libc/src/pthread/pthread_rwlockattr_getkind_np.h
+++ b/libc/src/pthread/pthread_rwlockattr_getkind_np.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *__restrict attr,
                                   int *__restrict pref);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETKIND_NP_H
diff --git a/libc/src/pthread/pthread_rwlockattr_getpshared.cpp b/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
index 0dad230a2bde2..14157c435e314 100644
--- a/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h> // pthread_rwlockattr_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_getpshared,
                    (const pthread_rwlockattr_t *attr, int *pshared)) {
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_getpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_getpshared.h b/libc/src/pthread/pthread_rwlockattr_getpshared.h
index 64843e59aae69..077e4e3033164 100644
--- a/libc/src/pthread/pthread_rwlockattr_getpshared.h
+++ b/libc/src/pthread/pthread_rwlockattr_getpshared.h
@@ -11,11 +11,11 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *attr,
                                   int *pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETPSHARED_H
diff --git a/libc/src/pthread/pthread_rwlockattr_init.cpp b/libc/src/pthread/pthread_rwlockattr_init.cpp
index bbc89555c6c1c..48f669c51e765 100644
--- a/libc/src/pthread/pthread_rwlockattr_init.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_init.cpp
@@ -12,7 +12,7 @@
 
 #include <pthread.h> // pthread_rwlockattr_t, PTHREAD_PROCESS_PRIVATE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_init,
                    (pthread_rwlockattr_t * attr)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_init,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_init.h b/libc/src/pthread/pthread_rwlockattr_init.h
index 30ae499fb65dc..1dd2419854dbf 100644
--- a/libc/src/pthread/pthread_rwlockattr_init.h
+++ b/libc/src/pthread/pthread_rwlockattr_init.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_INIT_H
diff --git a/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp b/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
index 47fbf2a851e50..9fb9563a53a27 100644
--- a/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
@@ -13,7 +13,7 @@
 #include <errno.h>
 #include <pthread.h> // pthread_rwlockattr_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_setkind_np,
                    (pthread_rwlockattr_t * attr, int pref)) {
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_setkind_np,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_setkind_np.h b/libc/src/pthread/pthread_rwlockattr_setkind_np.h
index 00ef8e1bbe009..6222b4193439f 100644
--- a/libc/src/pthread/pthread_rwlockattr_setkind_np.h
+++ b/libc/src/pthread/pthread_rwlockattr_setkind_np.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr, int pref);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETKIND_NP_H
diff --git a/libc/src/pthread/pthread_rwlockattr_setpshared.cpp b/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
index 6bcba7c1b4935..de400f1f304df 100644
--- a/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
@@ -13,7 +13,7 @@
 #include <errno.h> // EINVAL
 #include <pthread.h> // pthread_rwlockattr_t, PTHREAD_PROCESS_SHARED, PTHREAD_PROCESS_PRIVATE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_setpshared,
                    (pthread_rwlockattr_t * attr, int pshared)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_rwlockattr_setpshared,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_rwlockattr_setpshared.h b/libc/src/pthread/pthread_rwlockattr_setpshared.h
index 393c07d1eecbc..0d4bd2788ad93 100644
--- a/libc/src/pthread/pthread_rwlockattr_setpshared.h
+++ b/libc/src/pthread/pthread_rwlockattr_setpshared.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, int pshared);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETPSHARED_H
diff --git a/libc/src/pthread/pthread_self.cpp b/libc/src/pthread/pthread_self.cpp
index 3e74f964c9af2..23e7c2b5eeaf3 100644
--- a/libc/src/pthread/pthread_self.cpp
+++ b/libc/src/pthread/pthread_self.cpp
@@ -13,7 +13,7 @@
 
 #include <pthread.h> // For pthread_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(pthread_t, pthread_self, ()) {
   return th;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_self.h b/libc/src/pthread/pthread_self.h
index 058072e45ed28..fc4e472f9c60c 100644
--- a/libc/src/pthread/pthread_self.h
+++ b/libc/src/pthread/pthread_self.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pthread_t pthread_self();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_SELF_H
diff --git a/libc/src/pthread/pthread_setname_np.cpp b/libc/src/pthread/pthread_setname_np.cpp
index e211d7e082740..a9ab560664fb3 100644
--- a/libc/src/pthread/pthread_setname_np.cpp
+++ b/libc/src/pthread/pthread_setname_np.cpp
@@ -14,7 +14,7 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(pthread_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between pthread_t and internal Thread.");
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_setname_np, (pthread_t th, const char *name)) {
   return thread->set_name(cpp::string_view(name));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_setname_np.h b/libc/src/pthread/pthread_setname_np.h
index e240425ae2b46..1ae7717ef4a04 100644
--- a/libc/src/pthread/pthread_setname_np.h
+++ b/libc/src/pthread/pthread_setname_np.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_setname_np(pthread_t, const char *name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETNAME_NP_H
diff --git a/libc/src/pthread/pthread_setspecific.cpp b/libc/src/pthread/pthread_setspecific.cpp
index e9b23d8483a8f..15a1f4f65c113 100644
--- a/libc/src/pthread/pthread_setspecific.cpp
+++ b/libc/src/pthread/pthread_setspecific.cpp
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pthread_setspecific,
                    (pthread_key_t key, const void *data)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, pthread_setspecific,
     return EINVAL;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_setspecific.h b/libc/src/pthread/pthread_setspecific.h
index af9a890fd0aeb..7813aab6e99e7 100644
--- a/libc/src/pthread/pthread_setspecific.h
+++ b/libc/src/pthread/pthread_setspecific.h
@@ -11,10 +11,10 @@
 
 #include <pthread.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pthread_setspecific(pthread_key_t, const void *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETSPECIFIC_H
diff --git a/libc/src/sched/linux/sched_get_priority_max.cpp b/libc/src/sched/linux/sched_get_priority_max.cpp
index 0b6537ecd84c6..e24ec33150e69 100644
--- a/libc/src/sched/linux/sched_get_priority_max.cpp
+++ b/libc/src/sched/linux/sched_get_priority_max.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_get_priority_max, (int policy)) {
   int ret =
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, sched_get_priority_max, (int policy)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_get_priority_min.cpp b/libc/src/sched/linux/sched_get_priority_min.cpp
index 1240a500887ee..def02a2834485 100644
--- a/libc/src/sched/linux/sched_get_priority_min.cpp
+++ b/libc/src/sched/linux/sched_get_priority_min.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_get_priority_min, (int policy)) {
   int ret =
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, sched_get_priority_min, (int policy)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_getaffinity.cpp b/libc/src/sched/linux/sched_getaffinity.cpp
index 476576178fa48..3161a69102096 100644
--- a/libc/src/sched/linux/sched_getaffinity.cpp
+++ b/libc/src/sched/linux/sched_getaffinity.cpp
@@ -16,7 +16,7 @@
 #include <stdint.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_getaffinity,
                    (pid_t tid, size_t cpuset_size, cpu_set_t *mask)) {
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(int, sched_getaffinity,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index a816d92e4c0b5..a5005346b072d 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -13,7 +13,7 @@
 #include <sched.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, __sched_getcpucount,
                    (size_t cpuset_size, const cpu_set_t *mask)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, __sched_getcpucount,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_getparam.cpp b/libc/src/sched/linux/sched_getparam.cpp
index 64a62c5fd5e84..bb574905d4291 100644
--- a/libc/src/sched/linux/sched_getparam.cpp
+++ b/libc/src/sched/linux/sched_getparam.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_getparam,
                    (pid_t tid, struct sched_param *param)) {
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, sched_getparam,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_getscheduler.cpp b/libc/src/sched/linux/sched_getscheduler.cpp
index 992a11d292591..c269ba3d98d4a 100644
--- a/libc/src/sched/linux/sched_getscheduler.cpp
+++ b/libc/src/sched/linux/sched_getscheduler.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_getscheduler, (pid_t tid)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_sched_getscheduler, tid);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, sched_getscheduler, (pid_t tid)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_rr_get_interval.cpp b/libc/src/sched/linux/sched_rr_get_interval.cpp
index 5dcac203bb418..1fae756c0579e 100644
--- a/libc/src/sched/linux/sched_rr_get_interval.cpp
+++ b/libc/src/sched/linux/sched_rr_get_interval.cpp
@@ -18,7 +18,7 @@
 #include <linux/time_types.h> // For __kernel_timespec.
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_rr_get_interval,
                    (pid_t tid, struct timespec *tp)) {
@@ -53,4 +53,4 @@ LLVM_LIBC_FUNCTION(int, sched_rr_get_interval,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_setaffinity.cpp b/libc/src/sched/linux/sched_setaffinity.cpp
index 509894258e126..095f8fae2acd0 100644
--- a/libc/src/sched/linux/sched_setaffinity.cpp
+++ b/libc/src/sched/linux/sched_setaffinity.cpp
@@ -15,7 +15,7 @@
 #include <sched.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_setaffinity,
                    (pid_t tid, size_t cpuset_size, const cpu_set_t *mask)) {
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, sched_setaffinity,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_setparam.cpp b/libc/src/sched/linux/sched_setparam.cpp
index 79acf78ef887e..b60e69e7ac777 100644
--- a/libc/src/sched/linux/sched_setparam.cpp
+++ b/libc/src/sched/linux/sched_setparam.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_setparam,
                    (pid_t tid, const struct sched_param *param)) {
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, sched_setparam,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_setscheduler.cpp b/libc/src/sched/linux/sched_setscheduler.cpp
index 1c18526a3c814..dfbcea01a334f 100644
--- a/libc/src/sched/linux/sched_setscheduler.cpp
+++ b/libc/src/sched/linux/sched_setscheduler.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_setscheduler,
                    (pid_t tid, int policy, const struct sched_param *param)) {
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, sched_setscheduler,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/linux/sched_yield.cpp b/libc/src/sched/linux/sched_yield.cpp
index 6878a375aa092..d3aab41655062 100644
--- a/libc/src/sched/linux/sched_yield.cpp
+++ b/libc/src/sched/linux/sched_yield.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sched_yield, ()) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_sched_yield);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, sched_yield, ()) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sched/sched_get_priority_max.h b/libc/src/sched/sched_get_priority_max.h
index 01611dae7bd12..16ac944f777f4 100644
--- a/libc/src/sched/sched_get_priority_max.h
+++ b/libc/src/sched/sched_get_priority_max.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MAX_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MAX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_get_priority_max(int policy);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MAX_H
diff --git a/libc/src/sched/sched_get_priority_min.h b/libc/src/sched/sched_get_priority_min.h
index f4b5d5487887c..867fea07ccbb9 100644
--- a/libc/src/sched/sched_get_priority_min.h
+++ b/libc/src/sched/sched_get_priority_min.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MIN_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MIN_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_get_priority_min(int policy);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MIN_H
diff --git a/libc/src/sched/sched_getaffinity.h b/libc/src/sched/sched_getaffinity.h
index 2f29b7e2a0b9e..bb0bb356fec97 100644
--- a/libc/src/sched/sched_getaffinity.h
+++ b/libc/src/sched/sched_getaffinity.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_getaffinity(pid_t tid, size_t cpuset_size, cpu_set_t *mask);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
diff --git a/libc/src/sched/sched_getcpucount.h b/libc/src/sched/sched_getcpucount.h
index a0c696fd1f4ae..d1a342f585137 100644
--- a/libc/src/sched/sched_getcpucount.h
+++ b/libc/src/sched/sched_getcpucount.h
@@ -12,12 +12,12 @@
 #include <sched.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is for internal use in the CPU_COUNT macro, but since that's a
 // macro and will be applied to client files, this must be a public entrypoint.
 int __sched_getcpucount(size_t cpuset_size, const cpu_set_t *mask);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index 09bed7012e3fd..dffa454c2d919 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_getparam(pid_t tid, struct sched_param *param);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
diff --git a/libc/src/sched/sched_getscheduler.h b/libc/src/sched/sched_getscheduler.h
index 6e4fe060a6c4e..81f64d7381410 100644
--- a/libc/src/sched/sched_getscheduler.h
+++ b/libc/src/sched/sched_getscheduler.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_getscheduler(pid_t tid);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
diff --git a/libc/src/sched/sched_rr_get_interval.h b/libc/src/sched/sched_rr_get_interval.h
index f9eb2d9a2220d..a80e3c6ae263a 100644
--- a/libc/src/sched/sched_rr_get_interval.h
+++ b/libc/src/sched/sched_rr_get_interval.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_rr_get_interval(pid_t tid, struct timespec *tp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
diff --git a/libc/src/sched/sched_setaffinity.h b/libc/src/sched/sched_setaffinity.h
index 5da6dd43e7d5d..165dd4fed60a5 100644
--- a/libc/src/sched/sched_setaffinity.h
+++ b/libc/src/sched/sched_setaffinity.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_setaffinity(pid_t pid, size_t cpuset_size, const cpu_set_t *mask);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index c371bc0bc7531..04e96171834d9 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_setparam(pid_t tid, const struct sched_param *param);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index 8e0cb0d0629ae..c6c1724a53065 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -11,10 +11,10 @@
 
 #include <sched.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_setscheduler(pid_t tid, int policy, const struct sched_param *param);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
diff --git a/libc/src/sched/sched_yield.h b/libc/src/sched/sched_yield.h
index 493646a84edbb..43115bd6e7203 100644
--- a/libc/src/sched/sched_yield.h
+++ b/libc/src/sched/sched_yield.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_YIELD_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_YIELD_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sched_yield(void);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SCHED_SCHED_YIELD_H
diff --git a/libc/src/search/hcreate.cpp b/libc/src/search/hcreate.cpp
index 4bf638b5920e9..d0d770731c500 100644
--- a/libc/src/search/hcreate.cpp
+++ b/libc/src/search/hcreate.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/search/hsearch/global.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(int, hcreate, (size_t capacity)) {
   // We follow FreeBSD's implementation here. If the global_hash_table is
   // already initialized, this function will do nothing and return 1.
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, hcreate, (size_t capacity)) {
   return 1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hcreate.h b/libc/src/search/hcreate.h
index 2ac37fb030c26..838dc07f65cbb 100644
--- a/libc/src/search/hcreate.h
+++ b/libc/src/search/hcreate.h
@@ -11,8 +11,8 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 int hcreate(size_t capacity);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HCREATE_H
diff --git a/libc/src/search/hcreate_r.cpp b/libc/src/search/hcreate_r.cpp
index 612a45cd0c688..5d07e8ec09516 100644
--- a/libc/src/search/hcreate_r.cpp
+++ b/libc/src/search/hcreate_r.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/HashTable/table.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(int, hcreate_r,
                    (size_t capacity, struct hsearch_data *htab)) {
   if (htab == nullptr) {
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, hcreate_r,
   return 1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hcreate_r.h b/libc/src/search/hcreate_r.h
index e81895ef815c9..4d181f32c76fe 100644
--- a/libc/src/search/hcreate_r.h
+++ b/libc/src/search/hcreate_r.h
@@ -11,8 +11,8 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 int hcreate_r(size_t capacity, struct hsearch_data *htab);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HCREATE_R_H
diff --git a/libc/src/search/hdestroy.cpp b/libc/src/search/hdestroy.cpp
index 3c5ea7b7af033..f5984ac728e9c 100644
--- a/libc/src/search/hdestroy.cpp
+++ b/libc/src/search/hdestroy.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/HashTable/table.h"
 #include "src/search/hsearch/global.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(void, hdestroy, (void)) {
   // HashTable::deallocate will check for nullptr. It will be a no-op if
   // global_hash_table is null.
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(void, hdestroy, (void)) {
   internal::global_hash_table = nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hdestroy.h b/libc/src/search/hdestroy.h
index b81e309a6bc80..49a3b439e0762 100644
--- a/libc/src/search/hdestroy.h
+++ b/libc/src/search/hdestroy.h
@@ -11,8 +11,8 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 void hdestroy(void);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HDESTROY_H
diff --git a/libc/src/search/hdestroy_r.cpp b/libc/src/search/hdestroy_r.cpp
index e2fda93931f78..1ee0556188274 100644
--- a/libc/src/search/hdestroy_r.cpp
+++ b/libc/src/search/hdestroy_r.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/HashTable/table.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(void, hdestroy_r, (struct hsearch_data * htab)) {
   if (htab == nullptr) {
     libc_errno = EINVAL;
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(void, hdestroy_r, (struct hsearch_data * htab)) {
   htab->__opaque = nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hdestroy_r.h b/libc/src/search/hdestroy_r.h
index 503af41794448..8c5a9eb13848d 100644
--- a/libc/src/search/hdestroy_r.h
+++ b/libc/src/search/hdestroy_r.h
@@ -11,8 +11,8 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 void hdestroy_r(struct hsearch_data *htab);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HDESTROY_R_H
diff --git a/libc/src/search/hsearch.cpp b/libc/src/search/hsearch.cpp
index a30803c5a0de7..704f79a28e3ae 100644
--- a/libc/src/search/hsearch.cpp
+++ b/libc/src/search/hsearch.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/search/hsearch/global.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(ENTRY *, hsearch, (ENTRY item, ACTION action)) {
   ENTRY *result = nullptr;
   if (internal::global_hash_table == nullptr) {
@@ -46,4 +46,4 @@ LLVM_LIBC_FUNCTION(ENTRY *, hsearch, (ENTRY item, ACTION action)) {
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hsearch.h b/libc/src/search/hsearch.h
index 32dc073a49b83..19aa7e70185ad 100644
--- a/libc/src/search/hsearch.h
+++ b/libc/src/search/hsearch.h
@@ -11,8 +11,8 @@
 
 #include <search.h> // ENTRY, ACTION
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 ENTRY *hsearch(ENTRY item, ACTION action);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HSEARCH_H
diff --git a/libc/src/search/hsearch/global.cpp b/libc/src/search/hsearch/global.cpp
index b6782ada50de4..1dc84cbd67bd5 100644
--- a/libc/src/search/hsearch/global.cpp
+++ b/libc/src/search/hsearch/global.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 struct HashTable *global_hash_table = nullptr;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hsearch/global.h b/libc/src/search/hsearch/global.h
index 9579195a2f3e7..440db108f3a46 100644
--- a/libc/src/search/hsearch/global.h
+++ b/libc/src/search/hsearch/global.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_GLOBAL_H
 #define LLVM_LIBC_SRC_SEARCH_HSEARCH_GLOBAL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 extern struct HashTable *global_hash_table;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HSEARCH_GLOBAL_H
diff --git a/libc/src/search/hsearch_r.cpp b/libc/src/search/hsearch_r.cpp
index a2c3a86eded6e..1249e3ec0100f 100644
--- a/libc/src/search/hsearch_r.cpp
+++ b/libc/src/search/hsearch_r.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/HashTable/table.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(int, hsearch_r,
                    (ENTRY item, ACTION action, ENTRY **retval,
                     struct hsearch_data *htab)) {
@@ -40,4 +40,4 @@ LLVM_LIBC_FUNCTION(int, hsearch_r,
   return 1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/hsearch_r.h b/libc/src/search/hsearch_r.h
index d36094c2eba58..85214c5a738d8 100644
--- a/libc/src/search/hsearch_r.h
+++ b/libc/src/search/hsearch_r.h
@@ -11,9 +11,9 @@
 
 #include <search.h> // ENTRY, ACTION
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 int hsearch_r(ENTRY item, ACTION action, ENTRY **retval,
               struct hsearch_data *htab);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H
diff --git a/libc/src/search/insque.cpp b/libc/src/search/insque.cpp
index 7b7d7c787af13..9dd04e03e9d7c 100644
--- a/libc/src/search/insque.cpp
+++ b/libc/src/search/insque.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/intrusive_list.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, insque, (void *elem, void *prev)) {
   internal::IntrusiveList::insert(elem, prev);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/insque.h b/libc/src/search/insque.h
index e0fb69ed1df7c..7802b358437f7 100644
--- a/libc/src/search/insque.h
+++ b/libc/src/search/insque.h
@@ -11,10 +11,10 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void insque(void *elem, void *prev);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_INSQUE_H
diff --git a/libc/src/search/remque.cpp b/libc/src/search/remque.cpp
index f1d9859eedb51..c8b3cc782e0ba 100644
--- a/libc/src/search/remque.cpp
+++ b/libc/src/search/remque.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/intrusive_list.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, remque, (void *elem)) {
   internal::IntrusiveList::remove(elem);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/search/remque.h b/libc/src/search/remque.h
index 51f225c004740..fbe45f98cf213 100644
--- a/libc/src/search/remque.h
+++ b/libc/src/search/remque.h
@@ -11,10 +11,10 @@
 
 #include <search.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void remque(void *elem);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SEARCH_REMQUE_H
diff --git a/libc/src/setjmp/arm/longjmp.cpp b/libc/src/setjmp/arm/longjmp.cpp
index a088b5800fd14..60fdb2fc41c38 100644
--- a/libc/src/setjmp/arm/longjmp.cpp
+++ b/libc/src/setjmp/arm/longjmp.cpp
@@ -10,7 +10,7 @@
 #include "src/setjmp/longjmp.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if defined(__thumb__) && __ARM_ARCH_ISA_THUMB == 1
 
@@ -71,4 +71,4 @@ LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) {
 
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/setjmp/arm/setjmp.cpp b/libc/src/setjmp/arm/setjmp.cpp
index 287e09c4a08ba..341edd7445e36 100644
--- a/libc/src/setjmp/arm/setjmp.cpp
+++ b/libc/src/setjmp/arm/setjmp.cpp
@@ -9,7 +9,7 @@
 #include "src/__support/common.h"
 #include "src/setjmp/setjmp_impl.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if defined(__thumb__) && __ARM_ARCH_ISA_THUMB == 1
 
@@ -61,4 +61,4 @@ LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
 
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/setjmp/longjmp.h b/libc/src/setjmp/longjmp.h
index 3697d62968c27..165b52658cd2d 100644
--- a/libc/src/setjmp/longjmp.h
+++ b/libc/src/setjmp/longjmp.h
@@ -11,10 +11,10 @@
 
 #include <setjmp.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void longjmp(__jmp_buf *buf, int val);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SETJMP_LONGJMP_H
diff --git a/libc/src/setjmp/riscv/longjmp.cpp b/libc/src/setjmp/riscv/longjmp.cpp
index 034c31e723d6d..6c5e633ec0f36 100644
--- a/libc/src/setjmp/riscv/longjmp.cpp
+++ b/libc/src/setjmp/riscv/longjmp.cpp
@@ -27,7 +27,7 @@
 #define LOAD_FP(reg, val) LOAD_IMPL(fld, reg, val)
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) {
   LOAD(ra, buf->__pc);
@@ -66,4 +66,4 @@ LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) {
   LIBC_INLINE_ASM("add a0, %0, zero\n\t" : : "r"(val) :);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/setjmp/riscv/setjmp.cpp b/libc/src/setjmp/riscv/setjmp.cpp
index 04d6b5ec6ee5f..990c539d59309 100644
--- a/libc/src/setjmp/riscv/setjmp.cpp
+++ b/libc/src/setjmp/riscv/setjmp.cpp
@@ -26,7 +26,7 @@
 #define STORE_FP(reg, val) STORE_IMPL(fsd, reg, val)
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
   STORE(ra, buf->__pc);
@@ -64,4 +64,4 @@ LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/setjmp/setjmp_impl.h b/libc/src/setjmp/setjmp_impl.h
index 52c835c7414c7..fa24cff60fd1d 100644
--- a/libc/src/setjmp/setjmp_impl.h
+++ b/libc/src/setjmp/setjmp_impl.h
@@ -13,10 +13,10 @@
 // public header setjmp.h which is also included. here.
 #include <setjmp.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int setjmp(__jmp_buf *buf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SETJMP_SETJMP_IMPL_H
diff --git a/libc/src/setjmp/x86_64/longjmp.cpp b/libc/src/setjmp/x86_64/longjmp.cpp
index 32340463e9f37..2a3574ef3f4d3 100644
--- a/libc/src/setjmp/x86_64/longjmp.cpp
+++ b/libc/src/setjmp/x86_64/longjmp.cpp
@@ -13,7 +13,7 @@
 #error "Invalid file include"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) {
   register __UINT64_TYPE__ rbx __asm__("rbx");
@@ -41,4 +41,4 @@ LLVM_LIBC_FUNCTION(void, longjmp, (__jmp_buf * buf, int val)) {
   LIBC_INLINE_ASM("jmp *%0\n\t" : : "m"(buf->rip));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/setjmp/x86_64/setjmp.cpp b/libc/src/setjmp/x86_64/setjmp.cpp
index 8b6981d4cc34a..ba280c73dae4c 100644
--- a/libc/src/setjmp/x86_64/setjmp.cpp
+++ b/libc/src/setjmp/x86_64/setjmp.cpp
@@ -13,7 +13,7 @@
 #error "Invalid file include"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
   register __UINT64_TYPE__ rbx __asm__("rbx");
@@ -53,4 +53,4 @@ LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/kill.h b/libc/src/signal/kill.h
index a6d18935459ca..3a7fde3c7a642 100644
--- a/libc/src/signal/kill.h
+++ b/libc/src/signal/kill.h
@@ -11,10 +11,10 @@
 
 #include <signal.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int kill(pid_t pid, int sig);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_KILL_H
diff --git a/libc/src/signal/linux/__restore.cpp b/libc/src/signal/linux/__restore.cpp
index 36fa375d672e1..6da2f4e5b00b2 100644
--- a/libc/src/signal/linux/__restore.cpp
+++ b/libc/src/signal/linux/__restore.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" void __restore_rt()
     __attribute__((no_sanitize("all"),
@@ -24,4 +24,4 @@ extern "C" void __restore_rt() {
   LIBC_NAMESPACE::syscall_impl<long>(SYS_rt_sigreturn);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/kill.cpp b/libc/src/signal/linux/kill.cpp
index a02b3b1d14003..5af11fa78657d 100644
--- a/libc/src/signal/linux/kill.cpp
+++ b/libc/src/signal/linux/kill.cpp
@@ -16,7 +16,7 @@
 #include <signal.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, kill, (pid_t pid, int sig)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_kill, pid, sig);
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, kill, (pid_t pid, int sig)) {
   return ret; // always 0
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/raise.cpp b/libc/src/signal/linux/raise.cpp
index 2250df5478444..a5dd678398f0e 100644
--- a/libc/src/signal/linux/raise.cpp
+++ b/libc/src/signal/linux/raise.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/common.h"
 #include "src/signal/linux/signal_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, raise, (int sig)) {
   sigset_t sigset;
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, raise, (int sig)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigaction.cpp b/libc/src/signal/linux/sigaction.cpp
index 7b220e5c37f6f..a3013750b6972 100644
--- a/libc/src/signal/linux/sigaction.cpp
+++ b/libc/src/signal/linux/sigaction.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TOOD: Some architectures will have their signal trampoline functions in the
 // vdso, use those when available.
@@ -46,4 +46,4 @@ LLVM_LIBC_FUNCTION(int, sigaction,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigaddset.cpp b/libc/src/signal/linux/sigaddset.cpp
index 8fc5d43180e28..6d68250d5b04b 100644
--- a/libc/src/signal/linux/sigaddset.cpp
+++ b/libc/src/signal/linux/sigaddset.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigaddset, (sigset_t * set, int signum)) {
   if (set != nullptr && add_signal(*set, signum))
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, sigaddset, (sigset_t * set, int signum)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigaltstack.cpp b/libc/src/signal/linux/sigaltstack.cpp
index 47e0b23f4bad5..f09835971ecc8 100644
--- a/libc/src/signal/linux/sigaltstack.cpp
+++ b/libc/src/signal/linux/sigaltstack.cpp
@@ -15,7 +15,7 @@
 #include <signal.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigaltstack,
                    (const stack_t *__restrict ss, stack_t *__restrict oss)) {
@@ -42,4 +42,4 @@ LLVM_LIBC_FUNCTION(int, sigaltstack,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigdelset.cpp b/libc/src/signal/linux/sigdelset.cpp
index 997f4574c05d0..82a7dd15758c1 100644
--- a/libc/src/signal/linux/sigdelset.cpp
+++ b/libc/src/signal/linux/sigdelset.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigdelset, (sigset_t * set, int signum)) {
   if (set != nullptr && delete_signal(*set, signum))
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, sigdelset, (sigset_t * set, int signum)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigemptyset.cpp b/libc/src/signal/linux/sigemptyset.cpp
index d08191e8ce4e0..6cdcf9a944e4f 100644
--- a/libc/src/signal/linux/sigemptyset.cpp
+++ b/libc/src/signal/linux/sigemptyset.cpp
@@ -14,7 +14,7 @@
 
 #include <signal.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigemptyset, (sigset_t * set)) {
   if (!set) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, sigemptyset, (sigset_t * set)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/sigfillset.cpp b/libc/src/signal/linux/sigfillset.cpp
index d98bbf7f619cc..7b9fcdd7dd51a 100644
--- a/libc/src/signal/linux/sigfillset.cpp
+++ b/libc/src/signal/linux/sigfillset.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigfillset, (sigset_t * set)) {
   if (!set) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, sigfillset, (sigset_t * set)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/signal.cpp b/libc/src/signal/linux/signal.cpp
index 0d5463553eb78..8bcdd3ccd25d4 100644
--- a/libc/src/signal/linux/signal.cpp
+++ b/libc/src/signal/linux/signal.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/signal/sigaction.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(sighandler_t, signal, (int signum, sighandler_t handler)) {
   struct sigaction action, old;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(sighandler_t, signal, (int signum, sighandler_t handler)) {
              : old.sa_handler;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/linux/signal_utils.h b/libc/src/signal/linux/signal_utils.h
index 3fd0cc0b7b459..e9c7ef68abe3d 100644
--- a/libc/src/signal/linux/signal_utils.h
+++ b/libc/src/signal/linux/signal_utils.h
@@ -17,7 +17,7 @@
 #include <stddef.h>
 #include <sys/syscall.h>          // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The POSIX definition of struct sigaction and the sigaction data structure
 // expected by the rt_sigaction syscall differ in their definition. So, we
@@ -106,6 +106,6 @@ LIBC_INLINE int restore_signals(const sigset_t &set) {
                                            &set, nullptr, sizeof(sigset_t));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_LINUX_SIGNAL_UTILS_H
diff --git a/libc/src/signal/linux/sigprocmask.cpp b/libc/src/signal/linux/sigprocmask.cpp
index 0e94efb6400c0..5c7dcad434449 100644
--- a/libc/src/signal/linux/sigprocmask.cpp
+++ b/libc/src/signal/linux/sigprocmask.cpp
@@ -16,7 +16,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sigprocmask,
                    (int how, const sigset_t *__restrict set,
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, sigprocmask,
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/signal/raise.h b/libc/src/signal/raise.h
index ee4f3c9f826a9..0b4e72535cfc3 100644
--- a/libc/src/signal/raise.h
+++ b/libc/src/signal/raise.h
@@ -11,10 +11,10 @@
 
 #include <signal.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int raise(int sig);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_RAISE_H
diff --git a/libc/src/signal/sigaction.h b/libc/src/signal/sigaction.h
index 15b689b7dacc7..253b624a4e780 100644
--- a/libc/src/signal/sigaction.h
+++ b/libc/src/signal/sigaction.h
@@ -11,11 +11,11 @@
 
 #include "hdr/types/struct_sigaction.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigaction(int signal, const struct sigaction *__restrict libc_new,
               struct sigaction *__restrict libc_old);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGACTION_H
diff --git a/libc/src/signal/sigaddset.h b/libc/src/signal/sigaddset.h
index c703b46bc6059..89aeaa22b0d7c 100644
--- a/libc/src/signal/sigaddset.h
+++ b/libc/src/signal/sigaddset.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/sigset_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigaddset(sigset_t *set, int signum);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGADDSET_H
diff --git a/libc/src/signal/sigaltstack.h b/libc/src/signal/sigaltstack.h
index 705bd368ce47b..90cea76755d4a 100644
--- a/libc/src/signal/sigaltstack.h
+++ b/libc/src/signal/sigaltstack.h
@@ -11,10 +11,10 @@
 
 #include <signal.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigaltstack(const stack_t *__restrict ss, stack_t *__restrict oss);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGALTSTACK_H
diff --git a/libc/src/signal/sigdelset.h b/libc/src/signal/sigdelset.h
index 7bdb6e6d18fdd..78436f756eb3e 100644
--- a/libc/src/signal/sigdelset.h
+++ b/libc/src/signal/sigdelset.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/sigset_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigdelset(sigset_t *set, int signum);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGDELSET_H
diff --git a/libc/src/signal/sigemptyset.h b/libc/src/signal/sigemptyset.h
index 661fd33b888e0..2b6d9b5aa8a18 100644
--- a/libc/src/signal/sigemptyset.h
+++ b/libc/src/signal/sigemptyset.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/sigset_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigemptyset(sigset_t *set);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGEMPTYSET_H
diff --git a/libc/src/signal/sigfillset.h b/libc/src/signal/sigfillset.h
index 2849aacf953b1..790d74880b519 100644
--- a/libc/src/signal/sigfillset.h
+++ b/libc/src/signal/sigfillset.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/sigset_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigfillset(sigset_t *set);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGFILLSET_H
diff --git a/libc/src/signal/signal.h b/libc/src/signal/signal.h
index 15bb5f01232ee..4be53082078c8 100644
--- a/libc/src/signal/signal.h
+++ b/libc/src/signal/signal.h
@@ -11,12 +11,12 @@
 
 #include <signal.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using sighandler_t = __sighandler_t;
 
 sighandler_t signal(int signum, sighandler_t handler);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGNAL_H
diff --git a/libc/src/signal/sigprocmask.h b/libc/src/signal/sigprocmask.h
index 8569578eb68ca..ea5ee9220cd96 100644
--- a/libc/src/signal/sigprocmask.h
+++ b/libc/src/signal/sigprocmask.h
@@ -11,11 +11,11 @@
 
 #include "hdr/types/sigset_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sigprocmask(int how, const sigset_t *__restrict set,
                 sigset_t *__restrict oldset);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SIGNAL_SIGPROCMASK_H
diff --git a/libc/src/spawn/file_actions.h b/libc/src/spawn/file_actions.h
index 7113256bf49cb..943eddfb71010 100644
--- a/libc/src/spawn/file_actions.h
+++ b/libc/src/spawn/file_actions.h
@@ -12,7 +12,7 @@
 #include <spawn.h> // For mode_t
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct BaseSpawnFileAction {
   enum ActionType {
@@ -67,6 +67,6 @@ struct SpawnFileDup2Action : public BaseSpawnFileAction {
         newfd(new_fdesc) {}
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_FILE_ACTIONS_H
diff --git a/libc/src/spawn/linux/posix_spawn.cpp b/libc/src/spawn/linux/posix_spawn.cpp
index 0a0467df4959e..9951a122a9e70 100644
--- a/libc/src/spawn/linux/posix_spawn.cpp
+++ b/libc/src/spawn/linux/posix_spawn.cpp
@@ -18,7 +18,7 @@
 #include <spawn.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -145,4 +145,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn.h b/libc/src/spawn/posix_spawn.h
index 354b94c2d2d73..64f579324024f 100644
--- a/libc/src/spawn/posix_spawn.h
+++ b/libc/src/spawn/posix_spawn.h
@@ -11,13 +11,13 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn(pid_t *__restrict pid, const char *__restrict path,
                 const posix_spawn_file_actions_t *file_actions,
                 const posix_spawnattr_t *__restrict attr,
                 char *const *__restrict argv, char *const *__restrict envp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_H
diff --git a/libc/src/spawn/posix_spawn_file_actions_addclose.cpp b/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
index 9b3c4885dfd77..a84c2befe9c05 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
@@ -15,7 +15,7 @@
 #include <errno.h>
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_addclose,
                    (posix_spawn_file_actions_t *__restrict actions, int fd)) {
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_addclose,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn_file_actions_addclose.h b/libc/src/spawn/posix_spawn_file_actions_addclose.h
index c84965180fa7a..04d783b5b6598 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addclose.h
+++ b/libc/src/spawn/posix_spawn_file_actions_addclose.h
@@ -11,11 +11,11 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn_file_actions_addclose(
     posix_spawn_file_actions_t *__restrict actions, int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE_H
diff --git a/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp b/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
index caa558e2a9a5f..dfd2d7d61463f 100644
--- a/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
@@ -15,7 +15,7 @@
 #include <errno.h>
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_adddup2,
                    (posix_spawn_file_actions_t * actions, int fd, int newfd)) {
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_adddup2,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn_file_actions_adddup2.h b/libc/src/spawn/posix_spawn_file_actions_adddup2.h
index 7a7f3a5fb5bfd..339e38c380a46 100644
--- a/libc/src/spawn/posix_spawn_file_actions_adddup2.h
+++ b/libc/src/spawn/posix_spawn_file_actions_adddup2.h
@@ -11,11 +11,11 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *actions,
                                      int fd, int newfd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2_H
diff --git a/libc/src/spawn/posix_spawn_file_actions_addopen.cpp b/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
index c544f04bd54ae..4abeeda085074 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
@@ -15,7 +15,7 @@
 #include <errno.h>
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_addopen,
                    (posix_spawn_file_actions_t *__restrict actions, int fd,
@@ -34,4 +34,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_addopen,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn_file_actions_addopen.h b/libc/src/spawn/posix_spawn_file_actions_addopen.h
index 121213abe50f8..ea7d91b8b60a4 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addopen.h
+++ b/libc/src/spawn/posix_spawn_file_actions_addopen.h
@@ -11,12 +11,12 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn_file_actions_addopen(
     posix_spawn_file_actions_t *__restrict actions, int fd,
     const char *__restrict path, int oflag, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN_H
diff --git a/libc/src/spawn/posix_spawn_file_actions_destroy.cpp b/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
index 73e0ac828cd69..b7b2c7411a695 100644
--- a/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
@@ -15,7 +15,7 @@
 #include <errno.h>
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_destroy,
                    (posix_spawn_file_actions_t * actions)) {
@@ -49,4 +49,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_destroy,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn_file_actions_destroy.h b/libc/src/spawn/posix_spawn_file_actions_destroy.h
index 28b9b05b9e79a..3487893253700 100644
--- a/libc/src/spawn/posix_spawn_file_actions_destroy.h
+++ b/libc/src/spawn/posix_spawn_file_actions_destroy.h
@@ -11,10 +11,10 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *actions);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_DESTROY_H
diff --git a/libc/src/spawn/posix_spawn_file_actions_init.cpp b/libc/src/spawn/posix_spawn_file_actions_init.cpp
index 04e5610c717c6..f9367afab2ae6 100644
--- a/libc/src/spawn/posix_spawn_file_actions_init.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_init.cpp
@@ -12,7 +12,7 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_init,
                    (posix_spawn_file_actions_t * actions)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, posix_spawn_file_actions_init,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/spawn/posix_spawn_file_actions_init.h b/libc/src/spawn/posix_spawn_file_actions_init.h
index d7b228fff08d0..a19d9966aeb8a 100644
--- a/libc/src/spawn/posix_spawn_file_actions_init.h
+++ b/libc/src/spawn/posix_spawn_file_actions_init.h
@@ -11,10 +11,10 @@
 
 #include <spawn.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_spawn_file_actions_init(posix_spawn_file_actions_t *actions);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_INIT_H
diff --git a/libc/src/stdbit/stdc_bit_ceil_uc.cpp b/libc/src/stdbit/stdc_bit_ceil_uc.cpp
index 675ae4a0edb02..11a49c62310c1 100644
--- a/libc/src/stdbit/stdc_bit_ceil_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned char, stdc_bit_ceil_uc, (unsigned char value)) {
   return cpp::bit_ceil(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_ceil_uc.h b/libc/src/stdbit/stdc_bit_ceil_uc.h
index 204261e410812..65e1aeef4cde0 100644
--- a/libc/src/stdbit/stdc_bit_ceil_uc.h
+++ b/libc/src/stdbit/stdc_bit_ceil_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned char stdc_bit_ceil_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UC_H
diff --git a/libc/src/stdbit/stdc_bit_ceil_ui.cpp b/libc/src/stdbit/stdc_bit_ceil_ui.cpp
index a8ac9726179bc..1ab1bf60d89aa 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_ceil_ui, (unsigned value)) {
   return cpp::bit_ceil(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_ceil_ui.h b/libc/src/stdbit/stdc_bit_ceil_ui.h
index db66c336e3662..84befd6c95919 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ui.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_ceil_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UI_H
diff --git a/libc/src/stdbit/stdc_bit_ceil_ul.cpp b/libc/src/stdbit/stdc_bit_ceil_ul.cpp
index 18a9c38b5b4cf..837e8eb854360 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long, stdc_bit_ceil_ul, (unsigned long value)) {
   return cpp::bit_ceil(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_ceil_ul.h b/libc/src/stdbit/stdc_bit_ceil_ul.h
index f8393a42fcbfc..484b0e4a58f69 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ul.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long stdc_bit_ceil_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UL_H
diff --git a/libc/src/stdbit/stdc_bit_ceil_ull.cpp b/libc/src/stdbit/stdc_bit_ceil_ull.cpp
index 0989f36ab7685..811e38f57feef 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long long, stdc_bit_ceil_ull,
                    (unsigned long long value)) {
   return cpp::bit_ceil(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_ceil_ull.h b/libc/src/stdbit/stdc_bit_ceil_ull.h
index e65f537efb172..420d29ffd0347 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ull.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long stdc_bit_ceil_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_ULL_H
diff --git a/libc/src/stdbit/stdc_bit_ceil_us.cpp b/libc/src/stdbit/stdc_bit_ceil_us.cpp
index f86a216bb840e..b266de1013939 100644
--- a/libc/src/stdbit/stdc_bit_ceil_us.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short, stdc_bit_ceil_us, (unsigned short value)) {
   return cpp::bit_ceil(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_ceil_us.h b/libc/src/stdbit/stdc_bit_ceil_us.h
index 16a14e51b7433..eaf1859099a0d 100644
--- a/libc/src/stdbit/stdc_bit_ceil_us.h
+++ b/libc/src/stdbit/stdc_bit_ceil_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short stdc_bit_ceil_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_US_H
diff --git a/libc/src/stdbit/stdc_bit_floor_uc.cpp b/libc/src/stdbit/stdc_bit_floor_uc.cpp
index 6cb04c9eb43e6..ed0458e03cbfd 100644
--- a/libc/src/stdbit/stdc_bit_floor_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned char, stdc_bit_floor_uc, (unsigned char value)) {
   return cpp::bit_floor(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_floor_uc.h b/libc/src/stdbit/stdc_bit_floor_uc.h
index d6f53c5f69979..859267823181a 100644
--- a/libc/src/stdbit/stdc_bit_floor_uc.h
+++ b/libc/src/stdbit/stdc_bit_floor_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned char stdc_bit_floor_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UC_H
diff --git a/libc/src/stdbit/stdc_bit_floor_ui.cpp b/libc/src/stdbit/stdc_bit_floor_ui.cpp
index 149b63f190cf3..47d9d54163942 100644
--- a/libc/src/stdbit/stdc_bit_floor_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_floor_ui, (unsigned value)) {
   return cpp::bit_floor(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_floor_ui.h b/libc/src/stdbit/stdc_bit_floor_ui.h
index fcc606386f86d..53619f0e7e05b 100644
--- a/libc/src/stdbit/stdc_bit_floor_ui.h
+++ b/libc/src/stdbit/stdc_bit_floor_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_floor_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UI_H
diff --git a/libc/src/stdbit/stdc_bit_floor_ul.cpp b/libc/src/stdbit/stdc_bit_floor_ul.cpp
index a29a044545684..83dfe6a85eba3 100644
--- a/libc/src/stdbit/stdc_bit_floor_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long, stdc_bit_floor_ul, (unsigned long value)) {
   return cpp::bit_floor(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_floor_ul.h b/libc/src/stdbit/stdc_bit_floor_ul.h
index 08327aa60c906..5c44767d738fc 100644
--- a/libc/src/stdbit/stdc_bit_floor_ul.h
+++ b/libc/src/stdbit/stdc_bit_floor_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long stdc_bit_floor_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UL_H
diff --git a/libc/src/stdbit/stdc_bit_floor_ull.cpp b/libc/src/stdbit/stdc_bit_floor_ull.cpp
index d1084b6357322..1e5a7f34d6428 100644
--- a/libc/src/stdbit/stdc_bit_floor_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long long, stdc_bit_floor_ull,
                    (unsigned long long value)) {
   return cpp::bit_floor(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_floor_ull.h b/libc/src/stdbit/stdc_bit_floor_ull.h
index 8f360b23855ad..170ecec0b5176 100644
--- a/libc/src/stdbit/stdc_bit_floor_ull.h
+++ b/libc/src/stdbit/stdc_bit_floor_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long stdc_bit_floor_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_ULL_H
diff --git a/libc/src/stdbit/stdc_bit_floor_us.cpp b/libc/src/stdbit/stdc_bit_floor_us.cpp
index d1357a980e3a8..09a0ece28613f 100644
--- a/libc/src/stdbit/stdc_bit_floor_us.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short, stdc_bit_floor_us, (unsigned short value)) {
   return cpp::bit_floor(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_floor_us.h b/libc/src/stdbit/stdc_bit_floor_us.h
index fcd0b9e3c549a..542d2be8e447b 100644
--- a/libc/src/stdbit/stdc_bit_floor_us.h
+++ b/libc/src/stdbit/stdc_bit_floor_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short stdc_bit_floor_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_US_H
diff --git a/libc/src/stdbit/stdc_bit_width_uc.cpp b/libc/src/stdbit/stdc_bit_width_uc.cpp
index 2c361c1bbb1cf..370fe101324cb 100644
--- a/libc/src/stdbit/stdc_bit_width_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_width_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::bit_width(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_width_uc.h b/libc/src/stdbit/stdc_bit_width_uc.h
index 70c038aaf1dfe..4c2a92a77bada 100644
--- a/libc/src/stdbit/stdc_bit_width_uc.h
+++ b/libc/src/stdbit/stdc_bit_width_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UC_H
diff --git a/libc/src/stdbit/stdc_bit_width_ui.cpp b/libc/src/stdbit/stdc_bit_width_ui.cpp
index b94452b09bd50..461b12e214b2d 100644
--- a/libc/src/stdbit/stdc_bit_width_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::bit_width(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_width_ui.h b/libc/src/stdbit/stdc_bit_width_ui.h
index 9e8de3d6ef46e..bf2c93eddf0d7 100644
--- a/libc/src/stdbit/stdc_bit_width_ui.h
+++ b/libc/src/stdbit/stdc_bit_width_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UI_H
diff --git a/libc/src/stdbit/stdc_bit_width_ul.cpp b/libc/src/stdbit/stdc_bit_width_ul.cpp
index 80044314e4b21..8342baef34763 100644
--- a/libc/src/stdbit/stdc_bit_width_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::bit_width(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_width_ul.h b/libc/src/stdbit/stdc_bit_width_ul.h
index 447a2918e2f2b..938cb206a47c3 100644
--- a/libc/src/stdbit/stdc_bit_width_ul.h
+++ b/libc/src/stdbit/stdc_bit_width_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UL_H
diff --git a/libc/src/stdbit/stdc_bit_width_ull.cpp b/libc/src/stdbit/stdc_bit_width_ull.cpp
index 006fa20b2de5e..34fbcdf647d08 100644
--- a/libc/src/stdbit/stdc_bit_width_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ull.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_ull, (unsigned long long value)) {
   return static_cast<unsigned>(cpp::bit_width(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_width_ull.h b/libc/src/stdbit/stdc_bit_width_ull.h
index bc51897f448fc..00e6e44fc7d0a 100644
--- a/libc/src/stdbit/stdc_bit_width_ull.h
+++ b/libc/src/stdbit/stdc_bit_width_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_ULL_H
diff --git a/libc/src/stdbit/stdc_bit_width_us.cpp b/libc/src/stdbit/stdc_bit_width_us.cpp
index 3d9f72bf5d060..bb33034524623 100644
--- a/libc/src/stdbit/stdc_bit_width_us.cpp
+++ b/libc/src/stdbit/stdc_bit_width_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_bit_width_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::bit_width(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_bit_width_us.h b/libc/src/stdbit/stdc_bit_width_us.h
index 02cd37426eb4c..debd3baaf0a78 100644
--- a/libc/src/stdbit/stdc_bit_width_us.h
+++ b/libc/src/stdbit/stdc_bit_width_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_US_H
diff --git a/libc/src/stdbit/stdc_count_ones_uc.cpp b/libc/src/stdbit/stdc_count_ones_uc.cpp
index 1e998ff521b7d..dbffd118fdbda 100644
--- a/libc/src/stdbit/stdc_count_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_count_ones_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_ones_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::popcount(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_ones_uc.h b/libc/src/stdbit/stdc_count_ones_uc.h
index eed3ee5f181b6..2b5f63bccba32 100644
--- a/libc/src/stdbit/stdc_count_ones_uc.h
+++ b/libc/src/stdbit/stdc_count_ones_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UC_H
diff --git a/libc/src/stdbit/stdc_count_ones_ui.cpp b/libc/src/stdbit/stdc_count_ones_ui.cpp
index e457dd793db33..0d840d8acaeb7 100644
--- a/libc/src/stdbit/stdc_count_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_ones_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::popcount(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_ones_ui.h b/libc/src/stdbit/stdc_count_ones_ui.h
index 1f7ccb9c502f6..be75466a21d39 100644
--- a/libc/src/stdbit/stdc_count_ones_ui.h
+++ b/libc/src/stdbit/stdc_count_ones_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UI_H
diff --git a/libc/src/stdbit/stdc_count_ones_ul.cpp b/libc/src/stdbit/stdc_count_ones_ul.cpp
index ed86653fc7ee2..9d97940a90128 100644
--- a/libc/src/stdbit/stdc_count_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_ones_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::popcount(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_ones_ul.h b/libc/src/stdbit/stdc_count_ones_ul.h
index bde349a2fb94f..904f6cdebbf2a 100644
--- a/libc/src/stdbit/stdc_count_ones_ul.h
+++ b/libc/src/stdbit/stdc_count_ones_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UL_H
diff --git a/libc/src/stdbit/stdc_count_ones_ull.cpp b/libc/src/stdbit/stdc_count_ones_ull.cpp
index c5ecc3cda6477..4015888b6131e 100644
--- a/libc/src/stdbit/stdc_count_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ull.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_ones_ull, (unsigned long long value)) {
   return static_cast<unsigned>(cpp::popcount(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_ones_ull.h b/libc/src/stdbit/stdc_count_ones_ull.h
index 830239f8874b0..aa4c01b175a75 100644
--- a/libc/src/stdbit/stdc_count_ones_ull.h
+++ b/libc/src/stdbit/stdc_count_ones_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_ULL_H
diff --git a/libc/src/stdbit/stdc_count_ones_us.cpp b/libc/src/stdbit/stdc_count_ones_us.cpp
index 465c5c374e7c6..acdbf533eff2b 100644
--- a/libc/src/stdbit/stdc_count_ones_us.cpp
+++ b/libc/src/stdbit/stdc_count_ones_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_ones_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::popcount(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_ones_us.h b/libc/src/stdbit/stdc_count_ones_us.h
index 08fd4e76eaae6..44fd7e61a974c 100644
--- a/libc/src/stdbit/stdc_count_ones_us.h
+++ b/libc/src/stdbit/stdc_count_ones_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_US_H
diff --git a/libc/src/stdbit/stdc_count_zeros_uc.cpp b/libc/src/stdbit/stdc_count_zeros_uc.cpp
index 309ebb55e0fac..25b7c912c9d1e 100644
--- a/libc/src/stdbit/stdc_count_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_zeros_uc, (unsigned char value)) {
   return static_cast<unsigned>(count_zeros(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_zeros_uc.h b/libc/src/stdbit/stdc_count_zeros_uc.h
index 34b4636ee3f9e..7550fa510c5a1 100644
--- a/libc/src/stdbit/stdc_count_zeros_uc.h
+++ b/libc/src/stdbit/stdc_count_zeros_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UC_H
diff --git a/libc/src/stdbit/stdc_count_zeros_ui.cpp b/libc/src/stdbit/stdc_count_zeros_ui.cpp
index 31ea907b24de8..de9b7a843a887 100644
--- a/libc/src/stdbit/stdc_count_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_zeros_ui, (unsigned value)) {
   return static_cast<unsigned>(count_zeros(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_zeros_ui.h b/libc/src/stdbit/stdc_count_zeros_ui.h
index 48e8630f6f097..93259e0c8aa92 100644
--- a/libc/src/stdbit/stdc_count_zeros_ui.h
+++ b/libc/src/stdbit/stdc_count_zeros_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UI_H
diff --git a/libc/src/stdbit/stdc_count_zeros_ul.cpp b/libc/src/stdbit/stdc_count_zeros_ul.cpp
index f5df5c49f1312..513e6dc271771 100644
--- a/libc/src/stdbit/stdc_count_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_zeros_ul, (unsigned long value)) {
   return static_cast<unsigned>(count_zeros(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_zeros_ul.h b/libc/src/stdbit/stdc_count_zeros_ul.h
index b88387741adef..e0116efc623f3 100644
--- a/libc/src/stdbit/stdc_count_zeros_ul.h
+++ b/libc/src/stdbit/stdc_count_zeros_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UL_H
diff --git a/libc/src/stdbit/stdc_count_zeros_ull.cpp b/libc/src/stdbit/stdc_count_zeros_ull.cpp
index 6a9c8f04a799f..f7ca736e7dd42 100644
--- a/libc/src/stdbit/stdc_count_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ull.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_zeros_ull, (unsigned long long value)) {
   return static_cast<unsigned>(count_zeros(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_zeros_ull.h b/libc/src/stdbit/stdc_count_zeros_ull.h
index e15b33011ab7f..a48120a5f3674 100644
--- a/libc/src/stdbit/stdc_count_zeros_ull.h
+++ b/libc/src/stdbit/stdc_count_zeros_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_ULL_H
diff --git a/libc/src/stdbit/stdc_count_zeros_us.cpp b/libc/src/stdbit/stdc_count_zeros_us.cpp
index c08186ec6e87c..d75c5f6f25e9b 100644
--- a/libc/src/stdbit/stdc_count_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_count_zeros_us, (unsigned short value)) {
   return static_cast<unsigned>(count_zeros(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_count_zeros_us.h b/libc/src/stdbit/stdc_count_zeros_us.h
index d422377f076bc..99bedbe6fa3c6 100644
--- a/libc/src/stdbit/stdc_count_zeros_us.h
+++ b/libc/src/stdbit/stdc_count_zeros_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_US_H
diff --git a/libc/src/stdbit/stdc_first_leading_one_uc.cpp b/libc/src/stdbit/stdc_first_leading_one_uc.cpp
index 2e28ed3bb6f82..089816b2e027e 100644
--- a/libc/src/stdbit/stdc_first_leading_one_uc.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_one_uc, (unsigned char value)) {
   return static_cast<unsigned>(first_leading_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_one_uc.h b/libc/src/stdbit/stdc_first_leading_one_uc.h
index 58892c3f0ff29..bdd93d7553ac4 100644
--- a/libc/src/stdbit/stdc_first_leading_one_uc.h
+++ b/libc/src/stdbit/stdc_first_leading_one_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UC_H
diff --git a/libc/src/stdbit/stdc_first_leading_one_ui.cpp b/libc/src/stdbit/stdc_first_leading_one_ui.cpp
index a07a39b09d9f4..544fddb8f20fe 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ui.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_one_ui, (unsigned value)) {
   return static_cast<unsigned>(first_leading_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_one_ui.h b/libc/src/stdbit/stdc_first_leading_one_ui.h
index 613adf4e1ff76..653c783e01bf2 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ui.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UI_H
diff --git a/libc/src/stdbit/stdc_first_leading_one_ul.cpp b/libc/src/stdbit/stdc_first_leading_one_ul.cpp
index 4350fb7826b49..37832be21bd18 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ul.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_one_ul, (unsigned long value)) {
   return static_cast<unsigned>(first_leading_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_one_ul.h b/libc/src/stdbit/stdc_first_leading_one_ul.h
index 47c179f3fbacd..3da9a8314bde7 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ul.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UL_H
diff --git a/libc/src/stdbit/stdc_first_leading_one_ull.cpp b/libc/src/stdbit/stdc_first_leading_one_ull.cpp
index 57a5ae368e11a..d74945358b588 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ull.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_one_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(first_leading_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_one_ull.h b/libc/src/stdbit/stdc_first_leading_one_ull.h
index 344d03f7100f4..125b93d775ddc 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ull.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_ULL_H
diff --git a/libc/src/stdbit/stdc_first_leading_one_us.cpp b/libc/src/stdbit/stdc_first_leading_one_us.cpp
index f14433b13f350..73203ad29b39c 100644
--- a/libc/src/stdbit/stdc_first_leading_one_us.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_us.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_one_us,
                    (unsigned short value)) {
   return static_cast<unsigned>(first_leading_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_one_us.h b/libc/src/stdbit/stdc_first_leading_one_us.h
index 9d5feaf1e92f0..6cc5c7080a90a 100644
--- a/libc/src/stdbit/stdc_first_leading_one_us.h
+++ b/libc/src/stdbit/stdc_first_leading_one_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_US_H
diff --git a/libc/src/stdbit/stdc_first_leading_zero_uc.cpp b/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
index 6e2164256f172..013fbf0c78410 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_zero_uc,
                    (unsigned char value)) {
   return static_cast<unsigned>(first_leading_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_zero_uc.h b/libc/src/stdbit/stdc_first_leading_zero_uc.h
index 63ecd20acc618..38c9bed9ba76f 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_uc.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UC_H
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ui.cpp b/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
index cb733a94c0d84..f9dcf6c61de0f 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_zero_ui, (unsigned value)) {
   return static_cast<unsigned>(first_leading_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ui.h b/libc/src/stdbit/stdc_first_leading_zero_ui.h
index d8d5d9345010f..85674ed2698aa 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ui.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UI_H
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ul.cpp b/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
index 8a3930a271ed9..8f33887c9ba8b 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_zero_ul,
                    (unsigned long value)) {
   return static_cast<unsigned>(first_leading_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ul.h b/libc/src/stdbit/stdc_first_leading_zero_ul.h
index 8df1b55c2c3aa..55cf5fa10692e 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ul.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UL_H
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ull.cpp b/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
index 5a69197a82996..f94172d5b74e0 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_zero_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(first_leading_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ull.h b/libc/src/stdbit/stdc_first_leading_zero_ull.h
index 9aec5e7e55453..fd3626ec4d83b 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ull.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_ULL_H
diff --git a/libc/src/stdbit/stdc_first_leading_zero_us.cpp b/libc/src/stdbit/stdc_first_leading_zero_us.cpp
index 6482c8654db3b..e1136da791890 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_us.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_us.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_leading_zero_us,
                    (unsigned short value)) {
   return static_cast<unsigned>(first_leading_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_leading_zero_us.h b/libc/src/stdbit/stdc_first_leading_zero_us.h
index 8587378069ce1..4004ed2ef451a 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_us.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_US_H
diff --git a/libc/src/stdbit/stdc_first_trailing_one_uc.cpp b/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
index d3e8825eef00f..69314764c8214 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_one_uc,
                    (unsigned char value)) {
   return static_cast<unsigned>(first_trailing_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_one_uc.h b/libc/src/stdbit/stdc_first_trailing_one_uc.h
index d733ce850de0f..0b80de7d02d34 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_uc.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UC_H
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ui.cpp b/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
index 842bd69950501..7934dd04f5bfa 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_one_ui, (unsigned value)) {
   return static_cast<unsigned>(first_trailing_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ui.h b/libc/src/stdbit/stdc_first_trailing_one_ui.h
index 6a6a5046709ae..aab2756a37b24 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ui.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UI_H
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ul.cpp b/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
index 0497d1d77811e..b9b94829fb9cd 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_one_ul,
                    (unsigned long value)) {
   return static_cast<unsigned>(first_trailing_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ul.h b/libc/src/stdbit/stdc_first_trailing_one_ul.h
index 09b6a9bbbe34a..0ca4baf8b18c7 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ul.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UL_H
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ull.cpp b/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
index 6e062dd27cdd6..ce6dc775a2d3a 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_one_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(first_trailing_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ull.h b/libc/src/stdbit/stdc_first_trailing_one_ull.h
index 3e12a1d745669..547e5b0c9ffc4 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ull.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_ULL_H
diff --git a/libc/src/stdbit/stdc_first_trailing_one_us.cpp b/libc/src/stdbit/stdc_first_trailing_one_us.cpp
index e90158f102049..5b00530562973 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_us.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_us.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_one_us,
                    (unsigned short value)) {
   return static_cast<unsigned>(first_trailing_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_one_us.h b/libc/src/stdbit/stdc_first_trailing_one_us.h
index f380898fc68cd..4d8de7a995f52 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_us.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_US_H
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp b/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
index a6939f6286b34..1e2a0c0ce663c 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_zero_uc,
                    (unsigned char value)) {
   return static_cast<unsigned>(first_trailing_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_uc.h b/libc/src/stdbit/stdc_first_trailing_zero_uc.h
index 242472ae34f2e..c7bdb47af570f 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_uc.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UC_H
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
index 7a50b696afff7..f1a044eb96b65 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_zero_ui, (unsigned value)) {
   return static_cast<unsigned>(first_trailing_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ui.h b/libc/src/stdbit/stdc_first_trailing_zero_ui.h
index cc308f762b2b6..1903b323bc5fe 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ui.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UI_H
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
index 88acbabdf2d9f..a5781181d8f61 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_zero_ul,
                    (unsigned long value)) {
   return static_cast<unsigned>(first_trailing_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ul.h b/libc/src/stdbit/stdc_first_trailing_zero_ul.h
index 8241337334174..7d1422b280435 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ul.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UL_H
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
index 92df8f284e8b5..f8cde1137f953 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_zero_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(first_trailing_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ull.h b/libc/src/stdbit/stdc_first_trailing_zero_ull.h
index 3737fc1be2d43..a112606f2de02 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ull.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_ULL_H
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_us.cpp b/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
index 86caa20dd3bd6..945b561f3d3d6 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/__support/math_extras.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_first_trailing_zero_us,
                    (unsigned short value)) {
   return static_cast<unsigned>(first_trailing_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_us.h b/libc/src/stdbit/stdc_first_trailing_zero_us.h
index 608b052296964..adb1f04fb4645 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_us.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_US_H
diff --git a/libc/src/stdbit/stdc_has_single_bit_uc.cpp b/libc/src/stdbit/stdc_has_single_bit_uc.cpp
index e5acdc2a71b4b..ece141057d971 100644
--- a/libc/src/stdbit/stdc_has_single_bit_uc.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(bool, stdc_has_single_bit_uc, (unsigned char value)) {
   return cpp::has_single_bit(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_has_single_bit_uc.h b/libc/src/stdbit/stdc_has_single_bit_uc.h
index 028d4ee710505..c4d00e2c8c0f3 100644
--- a/libc/src/stdbit/stdc_has_single_bit_uc.h
+++ b/libc/src/stdbit/stdc_has_single_bit_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UC_H
diff --git a/libc/src/stdbit/stdc_has_single_bit_ui.cpp b/libc/src/stdbit/stdc_has_single_bit_ui.cpp
index 37578882324aa..dc6b723acc4b5 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ui.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(bool, stdc_has_single_bit_ui, (unsigned value)) {
   return cpp::has_single_bit(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_has_single_bit_ui.h b/libc/src/stdbit/stdc_has_single_bit_ui.h
index 1e8cd9afaee88..fb9271f12ce0f 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ui.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UI_H
diff --git a/libc/src/stdbit/stdc_has_single_bit_ul.cpp b/libc/src/stdbit/stdc_has_single_bit_ul.cpp
index 85133ab81cc60..596f509b0519b 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ul.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(bool, stdc_has_single_bit_ul, (unsigned long value)) {
   return cpp::has_single_bit(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_has_single_bit_ul.h b/libc/src/stdbit/stdc_has_single_bit_ul.h
index 9b924fca9f065..1a485f2ec741e 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ul.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UL_H
diff --git a/libc/src/stdbit/stdc_has_single_bit_ull.cpp b/libc/src/stdbit/stdc_has_single_bit_ull.cpp
index 4491cf2b98b6d..d37465f3a650c 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ull.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ull.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(bool, stdc_has_single_bit_ull, (unsigned long long value)) {
   return cpp::has_single_bit(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_has_single_bit_ull.h b/libc/src/stdbit/stdc_has_single_bit_ull.h
index d4802bc287274..1e53d749a7b45 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ull.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_ULL_H
diff --git a/libc/src/stdbit/stdc_has_single_bit_us.cpp b/libc/src/stdbit/stdc_has_single_bit_us.cpp
index 7a42ae553aa2e..d053d1fe64b12 100644
--- a/libc/src/stdbit/stdc_has_single_bit_us.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(bool, stdc_has_single_bit_us, (unsigned short value)) {
   return cpp::has_single_bit(value);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_has_single_bit_us.h b/libc/src/stdbit/stdc_has_single_bit_us.h
index 201ff4954c3b7..eeee9808c7ef5 100644
--- a/libc/src/stdbit/stdc_has_single_bit_us.h
+++ b/libc/src/stdbit/stdc_has_single_bit_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_US_H
diff --git a/libc/src/stdbit/stdc_leading_ones_uc.cpp b/libc/src/stdbit/stdc_leading_ones_uc.cpp
index 69322d957dbf2..c074ed795eecc 100644
--- a/libc/src/stdbit/stdc_leading_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_ones_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::countl_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_ones_uc.h b/libc/src/stdbit/stdc_leading_ones_uc.h
index fc4d2bdf623a6..c66548d8a25c3 100644
--- a/libc/src/stdbit/stdc_leading_ones_uc.h
+++ b/libc/src/stdbit/stdc_leading_ones_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UC_H
diff --git a/libc/src/stdbit/stdc_leading_ones_ui.cpp b/libc/src/stdbit/stdc_leading_ones_ui.cpp
index 2a73c2ccfa49b..58def446ed235 100644
--- a/libc/src/stdbit/stdc_leading_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_ones_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::countl_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_ones_ui.h b/libc/src/stdbit/stdc_leading_ones_ui.h
index c381eb50e9732..a0b669e5ae73d 100644
--- a/libc/src/stdbit/stdc_leading_ones_ui.h
+++ b/libc/src/stdbit/stdc_leading_ones_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UI_H
diff --git a/libc/src/stdbit/stdc_leading_ones_ul.cpp b/libc/src/stdbit/stdc_leading_ones_ul.cpp
index 5b2f61d43b027..d315538814275 100644
--- a/libc/src/stdbit/stdc_leading_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_ones_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::countl_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_ones_ul.h b/libc/src/stdbit/stdc_leading_ones_ul.h
index 3441edf861361..5bda5e938aed7 100644
--- a/libc/src/stdbit/stdc_leading_ones_ul.h
+++ b/libc/src/stdbit/stdc_leading_ones_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UL_H
diff --git a/libc/src/stdbit/stdc_leading_ones_ull.cpp b/libc/src/stdbit/stdc_leading_ones_ull.cpp
index 05660b9fed653..b92e433b7cdbb 100644
--- a/libc/src/stdbit/stdc_leading_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_ones_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(cpp::countl_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_ones_ull.h b/libc/src/stdbit/stdc_leading_ones_ull.h
index 167eb732794d7..c2a82322e3765 100644
--- a/libc/src/stdbit/stdc_leading_ones_ull.h
+++ b/libc/src/stdbit/stdc_leading_ones_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_ULL_H
diff --git a/libc/src/stdbit/stdc_leading_ones_us.cpp b/libc/src/stdbit/stdc_leading_ones_us.cpp
index d93327db739b5..7bf92adf2c66b 100644
--- a/libc/src/stdbit/stdc_leading_ones_us.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_ones_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::countl_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_ones_us.h b/libc/src/stdbit/stdc_leading_ones_us.h
index 2a552d784b195..6b8f618a6cf65 100644
--- a/libc/src/stdbit/stdc_leading_ones_us.h
+++ b/libc/src/stdbit/stdc_leading_ones_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_US_H
diff --git a/libc/src/stdbit/stdc_leading_zeros_uc.cpp b/libc/src/stdbit/stdc_leading_zeros_uc.cpp
index dbd2d7662c44f..c60382ef014e8 100644
--- a/libc/src/stdbit/stdc_leading_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_zeros_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::countl_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_zeros_uc.h b/libc/src/stdbit/stdc_leading_zeros_uc.h
index 1edca66e13448..237f165d5343d 100644
--- a/libc/src/stdbit/stdc_leading_zeros_uc.h
+++ b/libc/src/stdbit/stdc_leading_zeros_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UC_H
diff --git a/libc/src/stdbit/stdc_leading_zeros_ui.cpp b/libc/src/stdbit/stdc_leading_zeros_ui.cpp
index 99bc0eb70f33b..1893aceb47b70 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_zeros_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::countl_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_zeros_ui.h b/libc/src/stdbit/stdc_leading_zeros_ui.h
index 14113d486b54a..7723e7a6f30d2 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ui.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UI_H
diff --git a/libc/src/stdbit/stdc_leading_zeros_ul.cpp b/libc/src/stdbit/stdc_leading_zeros_ul.cpp
index 0d5ff886fe991..87b91f998fd42 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_zeros_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::countl_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_zeros_ul.h b/libc/src/stdbit/stdc_leading_zeros_ul.h
index 5bac6df1b14dc..dbcd52402633e 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ul.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UL_H
diff --git a/libc/src/stdbit/stdc_leading_zeros_ull.cpp b/libc/src/stdbit/stdc_leading_zeros_ull.cpp
index b23cea7c3ee44..4b30185dceb10 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_zeros_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(cpp::countl_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_zeros_ull.h b/libc/src/stdbit/stdc_leading_zeros_ull.h
index e13624345fc78..3a1a1da2b1c27 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ull.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_ULL_H
diff --git a/libc/src/stdbit/stdc_leading_zeros_us.cpp b/libc/src/stdbit/stdc_leading_zeros_us.cpp
index 424fdc7282563..2091c3a4df0d3 100644
--- a/libc/src/stdbit/stdc_leading_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_leading_zeros_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::countl_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_leading_zeros_us.h b/libc/src/stdbit/stdc_leading_zeros_us.h
index 6a3969002daf5..cbfc5b837ce8a 100644
--- a/libc/src/stdbit/stdc_leading_zeros_us.h
+++ b/libc/src/stdbit/stdc_leading_zeros_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_US_H
diff --git a/libc/src/stdbit/stdc_trailing_ones_uc.cpp b/libc/src/stdbit/stdc_trailing_ones_uc.cpp
index eabb21367e285..261460a509662 100644
--- a/libc/src/stdbit/stdc_trailing_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_ones_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::countr_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_ones_uc.h b/libc/src/stdbit/stdc_trailing_ones_uc.h
index 9736e21e1f280..44fb987428b88 100644
--- a/libc/src/stdbit/stdc_trailing_ones_uc.h
+++ b/libc/src/stdbit/stdc_trailing_ones_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UC_H
diff --git a/libc/src/stdbit/stdc_trailing_ones_ui.cpp b/libc/src/stdbit/stdc_trailing_ones_ui.cpp
index 87eb54fe5f026..e9d1eaa6ef644 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_ones_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::countr_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_ones_ui.h b/libc/src/stdbit/stdc_trailing_ones_ui.h
index aad7fcf0daf55..3f44920919a32 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ui.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UI_H
diff --git a/libc/src/stdbit/stdc_trailing_ones_ul.cpp b/libc/src/stdbit/stdc_trailing_ones_ul.cpp
index 6d358a21ac337..0a6a662db3415 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_ones_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::countr_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_ones_ul.h b/libc/src/stdbit/stdc_trailing_ones_ul.h
index 80589501b1ed2..6ae482e44b5e1 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ul.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UL_H
diff --git a/libc/src/stdbit/stdc_trailing_ones_ull.cpp b/libc/src/stdbit/stdc_trailing_ones_ull.cpp
index fb5fffe07817d..dfd231d756e12 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_ones_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(cpp::countr_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_ones_ull.h b/libc/src/stdbit/stdc_trailing_ones_ull.h
index 3d3f0b306789a..f9cb9874af924 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ull.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_ULL_H
diff --git a/libc/src/stdbit/stdc_trailing_ones_us.cpp b/libc/src/stdbit/stdc_trailing_ones_us.cpp
index ee7ff4f78d489..837927388ec25 100644
--- a/libc/src/stdbit/stdc_trailing_ones_us.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_ones_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::countr_one(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_ones_us.h b/libc/src/stdbit/stdc_trailing_ones_us.h
index b783cd22ad2de..9b1e2d4a5eb3f 100644
--- a/libc/src/stdbit/stdc_trailing_ones_us.h
+++ b/libc/src/stdbit/stdc_trailing_ones_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_US_H
diff --git a/libc/src/stdbit/stdc_trailing_zeros_uc.cpp b/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
index 36924c5a053ad..b45369d2fda08 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_zeros_uc, (unsigned char value)) {
   return static_cast<unsigned>(cpp::countr_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_zeros_uc.h b/libc/src/stdbit/stdc_trailing_zeros_uc.h
index 866201e5acea8..2d74b83a8b686 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_uc.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_uc.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_uc(unsigned char value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UC_H
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ui.cpp b/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
index a264fd97f251f..468cf3cdb03f7 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_zeros_ui, (unsigned value)) {
   return static_cast<unsigned>(cpp::countr_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ui.h b/libc/src/stdbit/stdc_trailing_zeros_ui.h
index 0642e312f4fe7..36d47213eed4f 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ui.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ui.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ui(unsigned value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UI_H
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ul.cpp b/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
index 8e0c36cb09965..3e4e2ce4569e8 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_zeros_ul, (unsigned long value)) {
   return static_cast<unsigned>(cpp::countr_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ul.h b/libc/src/stdbit/stdc_trailing_zeros_ul.h
index e10b4474753a0..2a6c67332caf4 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ul.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ul(unsigned long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UL_H
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ull.cpp b/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
index 77cb20cb1ba45..48d6e83a847ed 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_zeros_ull,
                    (unsigned long long value)) {
   return static_cast<unsigned>(cpp::countr_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ull.h b/libc/src/stdbit/stdc_trailing_zeros_ull.h
index f95169d29f45e..218c15b1492b6 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ull.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ull.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_ULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ull(unsigned long long value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_ULL_H
diff --git a/libc/src/stdbit/stdc_trailing_zeros_us.cpp b/libc/src/stdbit/stdc_trailing_zeros_us.cpp
index a5b9f4a7d8498..e9d63e2afe45f 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_us.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned, stdc_trailing_zeros_us, (unsigned short value)) {
   return static_cast<unsigned>(cpp::countr_zero(value));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdbit/stdc_trailing_zeros_us.h b/libc/src/stdbit/stdc_trailing_zeros_us.h
index ddbdf0d647abd..0096d7b37f98d 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_us.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_us.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_US_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_us(unsigned short value);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_US_H
diff --git a/libc/src/stdfix/abshk.cpp b/libc/src/stdfix/abshk.cpp
index d76a5e64e6107..90ee6ae4968e0 100644
--- a/libc/src/stdfix/abshk.cpp
+++ b/libc/src/stdfix/abshk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(short accum, abshk, (short accum x)) {
   return fixed_point::abs(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/abshk.h b/libc/src/stdfix/abshk.h
index 13c9300caab88..4a33ec2f30a0f 100644
--- a/libc/src/stdfix/abshk.h
+++ b/libc/src/stdfix/abshk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 short accum abshk(short accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSHK_H
diff --git a/libc/src/stdfix/abshr.cpp b/libc/src/stdfix/abshr.cpp
index db887046b662c..b539d08748681 100644
--- a/libc/src/stdfix/abshr.cpp
+++ b/libc/src/stdfix/abshr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(short fract, abshr, (short fract x)) {
   return fixed_point::abs(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/abshr.h b/libc/src/stdfix/abshr.h
index 5acd0cfc4a60d..b136f11aee006 100644
--- a/libc/src/stdfix/abshr.h
+++ b/libc/src/stdfix/abshr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 short fract abshr(short fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSHR_H
diff --git a/libc/src/stdfix/absk.cpp b/libc/src/stdfix/absk.cpp
index ca231d95a0ab7..a152588cc3d99 100644
--- a/libc/src/stdfix/absk.cpp
+++ b/libc/src/stdfix/absk.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(accum, absk, (accum x)) { return fixed_point::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/absk.h b/libc/src/stdfix/absk.h
index 73dfcac0ac8e7..14122687df98c 100644
--- a/libc/src/stdfix/absk.h
+++ b/libc/src/stdfix/absk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 accum absk(accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSK_H
diff --git a/libc/src/stdfix/abslk.cpp b/libc/src/stdfix/abslk.cpp
index 5e085198ce428..a21089780ca5a 100644
--- a/libc/src/stdfix/abslk.cpp
+++ b/libc/src/stdfix/abslk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long accum, abslk, (long accum x)) {
   return fixed_point::abs(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/abslk.h b/libc/src/stdfix/abslk.h
index 7de116fa22793..5b478a2c69f49 100644
--- a/libc/src/stdfix/abslk.h
+++ b/libc/src/stdfix/abslk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long accum abslk(long accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSLK_H
diff --git a/libc/src/stdfix/abslr.cpp b/libc/src/stdfix/abslr.cpp
index 0f8969510a505..c3dce11698f07 100644
--- a/libc/src/stdfix/abslr.cpp
+++ b/libc/src/stdfix/abslr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long fract, abslr, (long fract x)) {
   return fixed_point::abs(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/abslr.h b/libc/src/stdfix/abslr.h
index bf5b585bbbb66..b9ee7d99b2326 100644
--- a/libc/src/stdfix/abslr.h
+++ b/libc/src/stdfix/abslr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long fract abslr(long fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSLR_H
diff --git a/libc/src/stdfix/absr.cpp b/libc/src/stdfix/absr.cpp
index dbbecb4947da9..30647b2d65a21 100644
--- a/libc/src/stdfix/absr.cpp
+++ b/libc/src/stdfix/absr.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(fract, absr, (fract x)) { return fixed_point::abs(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/absr.h b/libc/src/stdfix/absr.h
index b5ead7ce14e2a..2feecf109a91b 100644
--- a/libc/src/stdfix/absr.h
+++ b/libc/src/stdfix/absr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 fract absr(fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ABSR_H
diff --git a/libc/src/stdfix/exphk.cpp b/libc/src/stdfix/exphk.cpp
index 19a972b390c71..3d026cb500133 100644
--- a/libc/src/stdfix/exphk.cpp
+++ b/libc/src/stdfix/exphk.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -89,4 +89,4 @@ LLVM_LIBC_FUNCTION(short accum, exphk, (short accum x)) {
   return (exp_hi * (exp_mid * (0x1.0p0hk + lo)));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/exphk.h b/libc/src/stdfix/exphk.h
index da03bb76d53f5..0f0ef05a9ea88 100644
--- a/libc/src/stdfix/exphk.h
+++ b/libc/src/stdfix/exphk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 short accum exphk(short accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_EXPHK_H
diff --git a/libc/src/stdfix/expk.cpp b/libc/src/stdfix/expk.cpp
index 57227fd27769c..73e31229f7450 100644
--- a/libc/src/stdfix/expk.cpp
+++ b/libc/src/stdfix/expk.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -101,4 +101,4 @@ LLVM_LIBC_FUNCTION(accum, expk, (accum x)) {
   return (exp_hi * (exp_mid * l2));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/expk.h b/libc/src/stdfix/expk.h
index 4526686a200b4..43eddf61abcfc 100644
--- a/libc/src/stdfix/expk.h
+++ b/libc/src/stdfix/expk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 accum expk(accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_EXPK_H
diff --git a/libc/src/stdfix/roundhk.cpp b/libc/src/stdfix/roundhk.cpp
index a4f459ea0d653..666606aa34318 100644
--- a/libc/src/stdfix/roundhk.cpp
+++ b/libc/src/stdfix/roundhk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(short accum, roundhk, (short accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundhk.h b/libc/src/stdfix/roundhk.h
index 9a5c874cc030d..9ae670140d963 100644
--- a/libc/src/stdfix/roundhk.h
+++ b/libc/src/stdfix/roundhk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 short accum roundhk(short accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDHK_H
diff --git a/libc/src/stdfix/roundhr.cpp b/libc/src/stdfix/roundhr.cpp
index 7757d1cc735f4..338c47d2a1a81 100644
--- a/libc/src/stdfix/roundhr.cpp
+++ b/libc/src/stdfix/roundhr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(short fract, roundhr, (short fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundhr.h b/libc/src/stdfix/roundhr.h
index ba5a67945d6c3..e325dc39ae6a5 100644
--- a/libc/src/stdfix/roundhr.h
+++ b/libc/src/stdfix/roundhr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 short fract roundhr(short fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDHR_H
diff --git a/libc/src/stdfix/roundk.cpp b/libc/src/stdfix/roundk.cpp
index bf47dd9898d8f..814df2e7ebd0a 100644
--- a/libc/src/stdfix/roundk.cpp
+++ b/libc/src/stdfix/roundk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(accum, roundk, (accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundk.h b/libc/src/stdfix/roundk.h
index e9fa6d8f9c3b8..990b603e00515 100644
--- a/libc/src/stdfix/roundk.h
+++ b/libc/src/stdfix/roundk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 accum roundk(accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDK_H
diff --git a/libc/src/stdfix/roundlk.cpp b/libc/src/stdfix/roundlk.cpp
index d2ffe8ab03785..da20a1d7e8c4e 100644
--- a/libc/src/stdfix/roundlk.cpp
+++ b/libc/src/stdfix/roundlk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long accum, roundlk, (long accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundlk.h b/libc/src/stdfix/roundlk.h
index 5fa0e90e855a6..547792bcc09f1 100644
--- a/libc/src/stdfix/roundlk.h
+++ b/libc/src/stdfix/roundlk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long accum roundlk(long accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDLK_H
diff --git a/libc/src/stdfix/roundlr.cpp b/libc/src/stdfix/roundlr.cpp
index cd4c911ffe68e..3129bf47cb088 100644
--- a/libc/src/stdfix/roundlr.cpp
+++ b/libc/src/stdfix/roundlr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long fract, roundlr, (long fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundlr.h b/libc/src/stdfix/roundlr.h
index c015292e8f3f2..1aab28f501234 100644
--- a/libc/src/stdfix/roundlr.h
+++ b/libc/src/stdfix/roundlr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long fract roundlr(long fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDLR_H
diff --git a/libc/src/stdfix/roundr.cpp b/libc/src/stdfix/roundr.cpp
index 24216936d5f9b..22aa5d4ee00fd 100644
--- a/libc/src/stdfix/roundr.cpp
+++ b/libc/src/stdfix/roundr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(fract, roundr, (fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundr.h b/libc/src/stdfix/roundr.h
index b5b1375c882e0..59ad05ca2d47f 100644
--- a/libc/src/stdfix/roundr.h
+++ b/libc/src/stdfix/roundr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 fract roundr(fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDR_H
diff --git a/libc/src/stdfix/rounduhk.cpp b/libc/src/stdfix/rounduhk.cpp
index 22561588e0336..0da80b9db0360 100644
--- a/libc/src/stdfix/rounduhk.cpp
+++ b/libc/src/stdfix/rounduhk.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short accum, rounduhk,
                    (unsigned short accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/rounduhk.h b/libc/src/stdfix/rounduhk.h
index 85ebf2903ec7e..cfbeb5e4685fe 100644
--- a/libc/src/stdfix/rounduhk.h
+++ b/libc/src/stdfix/rounduhk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short accum rounduhk(unsigned short accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDUHK_H
diff --git a/libc/src/stdfix/rounduhr.cpp b/libc/src/stdfix/rounduhr.cpp
index e2e3435c15ef3..ccd1c4c604f3c 100644
--- a/libc/src/stdfix/rounduhr.cpp
+++ b/libc/src/stdfix/rounduhr.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short fract, rounduhr,
                    (unsigned short fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/rounduhr.h b/libc/src/stdfix/rounduhr.h
index 1be0aab1f5a79..398eda034cf50 100644
--- a/libc/src/stdfix/rounduhr.h
+++ b/libc/src/stdfix/rounduhr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short fract rounduhr(unsigned short fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDUHR_H
diff --git a/libc/src/stdfix/rounduk.cpp b/libc/src/stdfix/rounduk.cpp
index b9f8522aed35d..d27727e7a1297 100644
--- a/libc/src/stdfix/rounduk.cpp
+++ b/libc/src/stdfix/rounduk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned accum, rounduk, (unsigned accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/rounduk.h b/libc/src/stdfix/rounduk.h
index 8dae89586c490..1d771ec1536c7 100644
--- a/libc/src/stdfix/rounduk.h
+++ b/libc/src/stdfix/rounduk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned accum rounduk(unsigned accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDUK_H
diff --git a/libc/src/stdfix/roundulk.cpp b/libc/src/stdfix/roundulk.cpp
index 241b2c2c9a061..8b9583d18bdca 100644
--- a/libc/src/stdfix/roundulk.cpp
+++ b/libc/src/stdfix/roundulk.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long accum, roundulk,
                    (unsigned long accum x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundulk.h b/libc/src/stdfix/roundulk.h
index 81dfd1dceb600..bbe32148b4391 100644
--- a/libc/src/stdfix/roundulk.h
+++ b/libc/src/stdfix/roundulk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long accum roundulk(unsigned long accum x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDULK_H
diff --git a/libc/src/stdfix/roundulr.cpp b/libc/src/stdfix/roundulr.cpp
index 6c32074520cd5..0c57af856029c 100644
--- a/libc/src/stdfix/roundulr.cpp
+++ b/libc/src/stdfix/roundulr.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long fract, roundulr,
                    (unsigned long fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundulr.h b/libc/src/stdfix/roundulr.h
index 002fc94907c61..21d264345f101 100644
--- a/libc/src/stdfix/roundulr.h
+++ b/libc/src/stdfix/roundulr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long fract roundulr(unsigned long fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDULR_H
diff --git a/libc/src/stdfix/roundur.cpp b/libc/src/stdfix/roundur.cpp
index e91b7f1103753..e7057b12f2f5f 100644
--- a/libc/src/stdfix/roundur.cpp
+++ b/libc/src/stdfix/roundur.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned fract, roundur, (unsigned fract x, int n)) {
   return fixed_point::round(x, n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/roundur.h b/libc/src/stdfix/roundur.h
index 72de44b1e0c4e..929635de2a73d 100644
--- a/libc/src/stdfix/roundur.h
+++ b/libc/src/stdfix/roundur.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned fract roundur(unsigned fract x, int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_ROUNDUR_H
diff --git a/libc/src/stdfix/sqrtuhk.cpp b/libc/src/stdfix/sqrtuhk.cpp
index e8dc842c8a998..3946fa1bf6f83 100644
--- a/libc/src/stdfix/sqrtuhk.cpp
+++ b/libc/src/stdfix/sqrtuhk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short accum, sqrtuhk, (unsigned short accum x)) {
   return fixed_point::sqrt(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/sqrtuhk.h b/libc/src/stdfix/sqrtuhk.h
index 80000a0079696..58e0f70a2d729 100644
--- a/libc/src/stdfix/sqrtuhk.h
+++ b/libc/src/stdfix/sqrtuhk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short accum sqrtuhk(unsigned short accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_SQRTUHK_H
diff --git a/libc/src/stdfix/sqrtuhr.cpp b/libc/src/stdfix/sqrtuhr.cpp
index 6bba07aa20d59..a168658156dcc 100644
--- a/libc/src/stdfix/sqrtuhr.cpp
+++ b/libc/src/stdfix/sqrtuhr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short fract, sqrtuhr, (unsigned short fract x)) {
   return fixed_point::sqrt(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/sqrtuhr.h b/libc/src/stdfix/sqrtuhr.h
index fd95f0924e8d4..6abfa616173c6 100644
--- a/libc/src/stdfix/sqrtuhr.h
+++ b/libc/src/stdfix/sqrtuhr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short fract sqrtuhr(unsigned short fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_SQRTUHR_H
diff --git a/libc/src/stdfix/sqrtuk.cpp b/libc/src/stdfix/sqrtuk.cpp
index 6e5d8118c83b7..9412fc123cdcc 100644
--- a/libc/src/stdfix/sqrtuk.cpp
+++ b/libc/src/stdfix/sqrtuk.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned accum, sqrtuk, (unsigned accum x)) {
   return fixed_point::sqrt(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/sqrtuk.h b/libc/src/stdfix/sqrtuk.h
index 04d0adadde9ad..5949d186242bf 100644
--- a/libc/src/stdfix/sqrtuk.h
+++ b/libc/src/stdfix/sqrtuk.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned accum sqrtuk(unsigned accum x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_SQRTUK_H
diff --git a/libc/src/stdfix/sqrtulr.cpp b/libc/src/stdfix/sqrtulr.cpp
index c9e5cd51f66bc..9effbbbd8f031 100644
--- a/libc/src/stdfix/sqrtulr.cpp
+++ b/libc/src/stdfix/sqrtulr.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long fract, sqrtulr, (unsigned long fract x)) {
   return fixed_point::sqrt(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/sqrtulr.h b/libc/src/stdfix/sqrtulr.h
index 284adaaf35bf5..c8fc7b3cf11ed 100644
--- a/libc/src/stdfix/sqrtulr.h
+++ b/libc/src/stdfix/sqrtulr.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long fract sqrtulr(unsigned long fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_SQRTULR_H
diff --git a/libc/src/stdfix/sqrtur.cpp b/libc/src/stdfix/sqrtur.cpp
index ac5be84910849..71b3a43eb7d9b 100644
--- a/libc/src/stdfix/sqrtur.cpp
+++ b/libc/src/stdfix/sqrtur.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned fract, sqrtur, (unsigned fract x)) {
   return fixed_point::sqrt(x);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/sqrtur.h b/libc/src/stdfix/sqrtur.h
index df9dfe5a0bf39..349ee44156f84 100644
--- a/libc/src/stdfix/sqrtur.h
+++ b/libc/src/stdfix/sqrtur.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned fract sqrtur(unsigned fract x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_SQRTUR_H
diff --git a/libc/src/stdfix/uhksqrtus.cpp b/libc/src/stdfix/uhksqrtus.cpp
index 335750ae902b2..3be3fd298b5d7 100644
--- a/libc/src/stdfix/uhksqrtus.cpp
+++ b/libc/src/stdfix/uhksqrtus.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned short accum, uhksqrtus, (unsigned short x)) {
 #ifdef LIBC_FAST_MATH
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(unsigned short accum, uhksqrtus, (unsigned short x)) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/uhksqrtus.h b/libc/src/stdfix/uhksqrtus.h
index c24846a800303..1a29e7f8b5e72 100644
--- a/libc/src/stdfix/uhksqrtus.h
+++ b/libc/src/stdfix/uhksqrtus.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned short accum uhksqrtus(unsigned short x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_UHKSQRTUS_H
diff --git a/libc/src/stdfix/uksqrtui.cpp b/libc/src/stdfix/uksqrtui.cpp
index ee1ae1335027a..9a3d727e0fa2f 100644
--- a/libc/src/stdfix/uksqrtui.cpp
+++ b/libc/src/stdfix/uksqrtui.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned accum, uksqrtui, (unsigned int x)) {
 #ifdef LIBC_FAST_MATH
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(unsigned accum, uksqrtui, (unsigned int x)) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdfix/uksqrtui.h b/libc/src/stdfix/uksqrtui.h
index cd4ff41ea100a..360c6a9179dec 100644
--- a/libc/src/stdfix/uksqrtui.h
+++ b/libc/src/stdfix/uksqrtui.h
@@ -11,10 +11,10 @@
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned accum uksqrtui(unsigned int x);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDFIX_UKSQRTUI_H
diff --git a/libc/src/stdio/baremetal/getchar.cpp b/libc/src/stdio/baremetal/getchar.cpp
index bbd5ba7a954fb..e2724bd840f36 100644
--- a/libc/src/stdio/baremetal/getchar.cpp
+++ b/libc/src/stdio/baremetal/getchar.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getchar, ()) {
   char buf[1];
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, getchar, ()) {
   return buf[0];
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/baremetal/printf.cpp b/libc/src/stdio/baremetal/printf.cpp
index b240371a0c20e..0a9d75789b22c 100644
--- a/libc/src/stdio/baremetal/printf.cpp
+++ b/libc/src/stdio/baremetal/printf.cpp
@@ -15,7 +15,7 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -48,4 +48,4 @@ LLVM_LIBC_FUNCTION(int, printf, (const char *__restrict format, ...)) {
   return retval;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/baremetal/putchar.cpp b/libc/src/stdio/baremetal/putchar.cpp
index 23e9745e9cf70..819f098cbaf38 100644
--- a/libc/src/stdio/baremetal/putchar.cpp
+++ b/libc/src/stdio/baremetal/putchar.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/OSUtil/io.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   char uc = static_cast<char>(c);
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/baremetal/puts.cpp b/libc/src/stdio/baremetal/puts.cpp
index 136cdb8acf800..a9a228864118f 100644
--- a/libc/src/stdio/baremetal/puts.cpp
+++ b/libc/src/stdio/baremetal/puts.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/OSUtil/io.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, puts, (const char *__restrict str)) {
   cpp::string_view str_view(str);
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, puts, (const char *__restrict str)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/baremetal/remove.cpp b/libc/src/stdio/baremetal/remove.cpp
index f4f2cdca7c69b..52bd4a35c53b8 100644
--- a/libc/src/stdio/baremetal/remove.cpp
+++ b/libc/src/stdio/baremetal/remove.cpp
@@ -10,10 +10,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: This is a temporary workaround for issue #85335.
 
 LLVM_LIBC_FUNCTION(int, remove, (const char *)) { return -1; }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/baremetal/vprintf.cpp b/libc/src/stdio/baremetal/vprintf.cpp
index cd1541297f3b6..d36a796db9803 100644
--- a/libc/src/stdio/baremetal/vprintf.cpp
+++ b/libc/src/stdio/baremetal/vprintf.cpp
@@ -15,7 +15,7 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -46,4 +46,4 @@ LLVM_LIBC_FUNCTION(int, vprintf,
   return retval;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/clearerr.h b/libc/src/stdio/clearerr.h
index b8e8d7c5cab82..48909f94bae98 100644
--- a/libc/src/stdio/clearerr.h
+++ b/libc/src/stdio/clearerr.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void clearerr(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_CLEARERR_H
diff --git a/libc/src/stdio/clearerr_unlocked.h b/libc/src/stdio/clearerr_unlocked.h
index ff447cea61370..69d033d2b84df 100644
--- a/libc/src/stdio/clearerr_unlocked.h
+++ b/libc/src/stdio/clearerr_unlocked.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void clearerr_unlocked(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_CLEARERR_UNLOCKED_H
diff --git a/libc/src/stdio/fclose.h b/libc/src/stdio/fclose.h
index 7fe6951a080dc..404fc3f9c49db 100644
--- a/libc/src/stdio/fclose.h
+++ b/libc/src/stdio/fclose.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fclose(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FCLOSE_H
diff --git a/libc/src/stdio/fdopen.h b/libc/src/stdio/fdopen.h
index 158a133e7e131..814c9563a9af8 100644
--- a/libc/src/stdio/fdopen.h
+++ b/libc/src/stdio/fdopen.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 FILE *fdopen(int fd, const char *mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FDOPEN_H
diff --git a/libc/src/stdio/feof.h b/libc/src/stdio/feof.h
index 66a49bdd25701..774803726e8ee 100644
--- a/libc/src/stdio/feof.h
+++ b/libc/src/stdio/feof.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feof(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FEOF_H
diff --git a/libc/src/stdio/feof_unlocked.h b/libc/src/stdio/feof_unlocked.h
index 359609c597900..611895f308f5c 100644
--- a/libc/src/stdio/feof_unlocked.h
+++ b/libc/src/stdio/feof_unlocked.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int feof_unlocked(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FEOF_UNLOCKED_H
diff --git a/libc/src/stdio/ferror.h b/libc/src/stdio/ferror.h
index 194dff6320c83..220307fe591af 100644
--- a/libc/src/stdio/ferror.h
+++ b/libc/src/stdio/ferror.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ferror(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FERROR_H
diff --git a/libc/src/stdio/ferror_unlocked.h b/libc/src/stdio/ferror_unlocked.h
index 86281025368c3..5ffa3231ebf4b 100644
--- a/libc/src/stdio/ferror_unlocked.h
+++ b/libc/src/stdio/ferror_unlocked.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ferror_unlocked(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FERROR_UNLOCKED_H
diff --git a/libc/src/stdio/fflush.h b/libc/src/stdio/fflush.h
index 839fd986f15b5..ee767f369a187 100644
--- a/libc/src/stdio/fflush.h
+++ b/libc/src/stdio/fflush.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fflush(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FFLUSH_H
diff --git a/libc/src/stdio/fgetc.h b/libc/src/stdio/fgetc.h
index 26a32482a3ba7..afa69a7b2557d 100644
--- a/libc/src/stdio/fgetc.h
+++ b/libc/src/stdio/fgetc.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fgetc(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FGETC_H
diff --git a/libc/src/stdio/fgetc_unlocked.h b/libc/src/stdio/fgetc_unlocked.h
index f765e8d502be7..a1c80cfbab883 100644
--- a/libc/src/stdio/fgetc_unlocked.h
+++ b/libc/src/stdio/fgetc_unlocked.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fgetc_unlocked(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FGETC_UNLOCKED_H
diff --git a/libc/src/stdio/fgets.h b/libc/src/stdio/fgets.h
index 4264557862479..6f73fa7bf03de 100644
--- a/libc/src/stdio/fgets.h
+++ b/libc/src/stdio/fgets.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *fgets(char *__restrict str, int count, ::FILE *__restrict raw_stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FGETS_H
diff --git a/libc/src/stdio/fileno.h b/libc/src/stdio/fileno.h
index d41f112226c51..1d328448f26e7 100644
--- a/libc/src/stdio/fileno.h
+++ b/libc/src/stdio/fileno.h
@@ -12,10 +12,10 @@
 
 #include "include/llvm-libc-types/FILE.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fileno(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FILENO_H
diff --git a/libc/src/stdio/flockfile.cpp b/libc/src/stdio/flockfile.cpp
index 62606c92b9ea9..f40e34b91b385 100644
--- a/libc/src/stdio/flockfile.cpp
+++ b/libc/src/stdio/flockfile.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, flockfile, (::FILE * stream)) {
   reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->lock();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/flockfile.h b/libc/src/stdio/flockfile.h
index 1509c140c5e71..4b0436a802663 100644
--- a/libc/src/stdio/flockfile.h
+++ b/libc/src/stdio/flockfile.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void flockfile(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FLOCKFILE_H
diff --git a/libc/src/stdio/fopen.h b/libc/src/stdio/fopen.h
index 68f93f5168f07..f359ffecba6c2 100644
--- a/libc/src/stdio/fopen.h
+++ b/libc/src/stdio/fopen.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ::FILE *fopen(const char *__restrict name, const char *__restrict mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FOPEN_H
diff --git a/libc/src/stdio/fopencookie.cpp b/libc/src/stdio/fopencookie.cpp
index 17b8ae199d3db..49cf700d8bfdf 100644
--- a/libc/src/stdio/fopencookie.cpp
+++ b/libc/src/stdio/fopencookie.cpp
@@ -14,7 +14,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -95,4 +95,4 @@ LLVM_LIBC_FUNCTION(::FILE *, fopencookie,
   return reinterpret_cast<::FILE *>(file);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/fopencookie.h b/libc/src/stdio/fopencookie.h
index 3dff8949dd435..c977618b948ad 100644
--- a/libc/src/stdio/fopencookie.h
+++ b/libc/src/stdio/fopencookie.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ::FILE *fopencookie(void *cookie, const char *__restrict mode,
                     cookie_io_functions_t desc);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FOPENCOOKIE_H
diff --git a/libc/src/stdio/fprintf.cpp b/libc/src/stdio/fprintf.cpp
index 87b0e74ae09bf..35ef48a0b9b49 100644
--- a/libc/src/stdio/fprintf.cpp
+++ b/libc/src/stdio/fprintf.cpp
@@ -15,7 +15,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fprintf,
                    (::FILE *__restrict stream, const char *__restrict format,
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, fprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/fprintf.h b/libc/src/stdio/fprintf.h
index 41cd8a858b430..952b306c39f00 100644
--- a/libc/src/stdio/fprintf.h
+++ b/libc/src/stdio/fprintf.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fprintf(::FILE *__restrict stream, const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FPRINTF_H
diff --git a/libc/src/stdio/fputc.h b/libc/src/stdio/fputc.h
index 578e569072a1f..4ccaff896918c 100644
--- a/libc/src/stdio/fputc.h
+++ b/libc/src/stdio/fputc.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fputc(int c, ::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FPUTC_H
diff --git a/libc/src/stdio/fputs.h b/libc/src/stdio/fputs.h
index 0238e46e628a6..de6e97fc72f9c 100644
--- a/libc/src/stdio/fputs.h
+++ b/libc/src/stdio/fputs.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fputs(const char *__restrict str, ::FILE *__restrict stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FPUTS_H
diff --git a/libc/src/stdio/fread.h b/libc/src/stdio/fread.h
index ae2295095b9cf..abf6635cae582 100644
--- a/libc/src/stdio/fread.h
+++ b/libc/src/stdio/fread.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t fread(void *__restrict buffer, size_t size, size_t nmemb,
              ::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FREAD_H
diff --git a/libc/src/stdio/fread_unlocked.h b/libc/src/stdio/fread_unlocked.h
index 7cd0ed3e35c57..2661d241fbe00 100644
--- a/libc/src/stdio/fread_unlocked.h
+++ b/libc/src/stdio/fread_unlocked.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t fread_unlocked(void *__restrict buffer, size_t size, size_t nmemb,
                       ::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FREAD_UNLOCKED_H
diff --git a/libc/src/stdio/fscanf.cpp b/libc/src/stdio/fscanf.cpp
index 188e28e50d0bd..7f80c962d5d1f 100644
--- a/libc/src/stdio/fscanf.cpp
+++ b/libc/src/stdio/fscanf.cpp
@@ -15,7 +15,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fscanf,
                    (::FILE *__restrict stream, const char *__restrict format,
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, fscanf,
   return (ret_val == -1) ? EOF : ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/fscanf.h b/libc/src/stdio/fscanf.h
index 0e2247d74f0e5..3871a8ee5e575 100644
--- a/libc/src/stdio/fscanf.h
+++ b/libc/src/stdio/fscanf.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fscanf(::FILE *__restrict stream, const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FSCANF_H
diff --git a/libc/src/stdio/fseek.h b/libc/src/stdio/fseek.h
index 6a7f715d2f998..a3c8683e6602c 100644
--- a/libc/src/stdio/fseek.h
+++ b/libc/src/stdio/fseek.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fseek(::FILE *stream, long offset, int whence);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FSEEK_H
diff --git a/libc/src/stdio/fseeko.h b/libc/src/stdio/fseeko.h
index 77fb41215c318..e541da43f427a 100644
--- a/libc/src/stdio/fseeko.h
+++ b/libc/src/stdio/fseeko.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fseeko(::FILE *stream, off_t offset, int whence);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FSEEKO_H
diff --git a/libc/src/stdio/ftell.h b/libc/src/stdio/ftell.h
index e72bb8b32bd94..a2d80b089e649 100644
--- a/libc/src/stdio/ftell.h
+++ b/libc/src/stdio/ftell.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long ftell(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FTELL_H
diff --git a/libc/src/stdio/ftello.h b/libc/src/stdio/ftello.h
index 5ab17f9244a5a..102abe7cf4e1c 100644
--- a/libc/src/stdio/ftello.h
+++ b/libc/src/stdio/ftello.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 off_t ftello(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FTELLO_H
diff --git a/libc/src/stdio/funlockfile.cpp b/libc/src/stdio/funlockfile.cpp
index 88e2eaef8ba03..71e3a8fd1df35 100644
--- a/libc/src/stdio/funlockfile.cpp
+++ b/libc/src/stdio/funlockfile.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, funlockfile, (::FILE * stream)) {
   reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->unlock();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/funlockfile.h b/libc/src/stdio/funlockfile.h
index c50f9dd1d7009..d7de7d0ebe63e 100644
--- a/libc/src/stdio/funlockfile.h
+++ b/libc/src/stdio/funlockfile.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void funlockfile(::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FUNLOCKFILE_H
diff --git a/libc/src/stdio/fwrite.h b/libc/src/stdio/fwrite.h
index a71f20cff023a..92012782c42f0 100644
--- a/libc/src/stdio/fwrite.h
+++ b/libc/src/stdio/fwrite.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t fwrite(const void *__restrict ptr, size_t size, size_t nmemb,
               ::FILE *__restrict stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FWRITE_H
diff --git a/libc/src/stdio/fwrite_unlocked.h b/libc/src/stdio/fwrite_unlocked.h
index 7012e0d16737a..e5c92503d99d0 100644
--- a/libc/src/stdio/fwrite_unlocked.h
+++ b/libc/src/stdio/fwrite_unlocked.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t fwrite_unlocked(const void *__restrict ptr, size_t size, size_t nmemb,
                        ::FILE *__restrict stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_FWRITE_UNLOCKED_H
diff --git a/libc/src/stdio/generic/clearerr.cpp b/libc/src/stdio/generic/clearerr.cpp
index 1f1ce38639f50..69aa0f932bcb3 100644
--- a/libc/src/stdio/generic/clearerr.cpp
+++ b/libc/src/stdio/generic/clearerr.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, clearerr, (::FILE * stream)) {
   reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->clearerr();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/clearerr_unlocked.cpp b/libc/src/stdio/generic/clearerr_unlocked.cpp
index 2840e3703ca93..bb3d8fe18aeca 100644
--- a/libc/src/stdio/generic/clearerr_unlocked.cpp
+++ b/libc/src/stdio/generic/clearerr_unlocked.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, clearerr_unlocked, (::FILE * stream)) {
   reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->clearerr_unlocked();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fclose.cpp b/libc/src/stdio/generic/fclose.cpp
index cc163ab21e78d..ac0403df84025 100644
--- a/libc/src/stdio/generic/fclose.cpp
+++ b/libc/src/stdio/generic/fclose.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fclose, (::FILE * stream)) {
   int result = reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->close();
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fclose, (::FILE * stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/feof.cpp b/libc/src/stdio/generic/feof.cpp
index 311561c4271f0..aabad6009252b 100644
--- a/libc/src/stdio/generic/feof.cpp
+++ b/libc/src/stdio/generic/feof.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feof, (::FILE * stream)) {
   return reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->iseof();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/feof_unlocked.cpp b/libc/src/stdio/generic/feof_unlocked.cpp
index e8c718c136961..4208bd749df74 100644
--- a/libc/src/stdio/generic/feof_unlocked.cpp
+++ b/libc/src/stdio/generic/feof_unlocked.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feof_unlocked, (::FILE * stream)) {
   return reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->iseof_unlocked();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/ferror.cpp b/libc/src/stdio/generic/ferror.cpp
index 65cf99fe48473..f8c7dddb709e8 100644
--- a/libc/src/stdio/generic/ferror.cpp
+++ b/libc/src/stdio/generic/ferror.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ferror, (::FILE * stream)) {
   return reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->error();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/ferror_unlocked.cpp b/libc/src/stdio/generic/ferror_unlocked.cpp
index 089ea4ab36b57..d502fb26c358b 100644
--- a/libc/src/stdio/generic/ferror_unlocked.cpp
+++ b/libc/src/stdio/generic/ferror_unlocked.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ferror_unlocked, (::FILE * stream)) {
   return reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->error_unlocked();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fflush.cpp b/libc/src/stdio/generic/fflush.cpp
index dc5275b1cd08e..dba8c6abfd1ef 100644
--- a/libc/src/stdio/generic/fflush.cpp
+++ b/libc/src/stdio/generic/fflush.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fflush, (::FILE * stream)) {
   int result = reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->flush();
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fflush, (::FILE * stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fgetc.cpp b/libc/src/stdio/generic/fgetc.cpp
index 771811382fd59..61d1191c56e06 100644
--- a/libc/src/stdio/generic/fgetc.cpp
+++ b/libc/src/stdio/generic/fgetc.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fgetc, (::FILE * stream)) {
   unsigned char c;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, fgetc, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fgetc_unlocked.cpp b/libc/src/stdio/generic/fgetc_unlocked.cpp
index e7aaf9dc8ea22..a3fd140cb3529 100644
--- a/libc/src/stdio/generic/fgetc_unlocked.cpp
+++ b/libc/src/stdio/generic/fgetc_unlocked.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fgetc_unlocked, (::FILE * stream)) {
   unsigned char c;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, fgetc_unlocked, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fgets.cpp b/libc/src/stdio/generic/fgets.cpp
index 8c9dac8bd3b31..17229460adfea 100644
--- a/libc/src/stdio/generic/fgets.cpp
+++ b/libc/src/stdio/generic/fgets.cpp
@@ -13,7 +13,7 @@
 #include <stddef.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, fgets,
                    (char *__restrict str, int count,
@@ -52,4 +52,4 @@ LLVM_LIBC_FUNCTION(char *, fgets,
   return str;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fileno.cpp b/libc/src/stdio/generic/fileno.cpp
index 663ba92663762..71bb1eebe9500 100644
--- a/libc/src/stdio/generic/fileno.cpp
+++ b/libc/src/stdio/generic/fileno.cpp
@@ -12,10 +12,10 @@
 #include "include/llvm-libc-types/FILE.h"
 #include "src/__support/File/file.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fileno, (::FILE * stream)) {
   return get_fileno(reinterpret_cast<LIBC_NAMESPACE::File *>(stream));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fopen.cpp b/libc/src/stdio/generic/fopen.cpp
index 794ef0366dd66..fc4a55532f236 100644
--- a/libc/src/stdio/generic/fopen.cpp
+++ b/libc/src/stdio/generic/fopen.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(::FILE *, fopen,
                    (const char *__restrict name, const char *__restrict mode)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(::FILE *, fopen,
   return reinterpret_cast<::FILE *>(result.value());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fputc.cpp b/libc/src/stdio/generic/fputc.cpp
index ecbe45e97208d..7c928855c58ef 100644
--- a/libc/src/stdio/generic/fputc.cpp
+++ b/libc/src/stdio/generic/fputc.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fputc, (int c, ::FILE *stream)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, fputc, (int c, ::FILE *stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fputs.cpp b/libc/src/stdio/generic/fputs.cpp
index ef77ad43a1b42..3374f571f1e90 100644
--- a/libc/src/stdio/generic/fputs.cpp
+++ b/libc/src/stdio/generic/fputs.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fputs,
                    (const char *__restrict str, ::FILE *__restrict stream)) {
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, fputs,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fread.cpp b/libc/src/stdio/generic/fread.cpp
index e8bd2517df6f8..aa87664eaf30b 100644
--- a/libc/src/stdio/generic/fread.cpp
+++ b/libc/src/stdio/generic/fread.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fread,
                    (void *__restrict buffer, size_t size, size_t nmemb,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(size_t, fread,
   return result.value / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fread_unlocked.cpp b/libc/src/stdio/generic/fread_unlocked.cpp
index 9810c9d6519d9..5c8096925b3b1 100644
--- a/libc/src/stdio/generic/fread_unlocked.cpp
+++ b/libc/src/stdio/generic/fread_unlocked.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fread_unlocked,
                    (void *__restrict buffer, size_t size, size_t nmemb,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(size_t, fread_unlocked,
   return result.value / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fseek.cpp b/libc/src/stdio/generic/fseek.cpp
index c5edc8d4198c7..6d3feb08583af 100644
--- a/libc/src/stdio/generic/fseek.cpp
+++ b/libc/src/stdio/generic/fseek.cpp
@@ -11,7 +11,7 @@
 
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fseek, (::FILE * stream, long offset, int whence)) {
   auto result =
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fseek, (::FILE * stream, long offset, int whence)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fseeko.cpp b/libc/src/stdio/generic/fseeko.cpp
index 215da759937f6..d0ccfc4a9903c 100644
--- a/libc/src/stdio/generic/fseeko.cpp
+++ b/libc/src/stdio/generic/fseeko.cpp
@@ -11,7 +11,7 @@
 
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fseeko, (::FILE * stream, off_t offset, int whence)) {
   auto result =
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fseeko, (::FILE * stream, off_t offset, int whence)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/ftell.cpp b/libc/src/stdio/generic/ftell.cpp
index 16487cabf6380..51bc1723b382e 100644
--- a/libc/src/stdio/generic/ftell.cpp
+++ b/libc/src/stdio/generic/ftell.cpp
@@ -11,7 +11,7 @@
 
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, ftell, (::FILE * stream)) {
   auto result = reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->tell();
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(long, ftell, (::FILE * stream)) {
   return static_cast<long>(result.value());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/ftello.cpp b/libc/src/stdio/generic/ftello.cpp
index c72e56ea6eb1a..f3a5d4784a087 100644
--- a/libc/src/stdio/generic/ftello.cpp
+++ b/libc/src/stdio/generic/ftello.cpp
@@ -11,7 +11,7 @@
 
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(off_t, ftello, (::FILE * stream)) {
   auto result = reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->tell();
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(off_t, ftello, (::FILE * stream)) {
   return result.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fwrite.cpp b/libc/src/stdio/generic/fwrite.cpp
index bd11f62a7121c..e5f2df74346f1 100644
--- a/libc/src/stdio/generic/fwrite.cpp
+++ b/libc/src/stdio/generic/fwrite.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fwrite,
                    (const void *__restrict buffer, size_t size, size_t nmemb,
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(size_t, fwrite,
   return result.value / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/fwrite_unlocked.cpp b/libc/src/stdio/generic/fwrite_unlocked.cpp
index 5ab7c766087b7..efda26f8bc413 100644
--- a/libc/src/stdio/generic/fwrite_unlocked.cpp
+++ b/libc/src/stdio/generic/fwrite_unlocked.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fwrite_unlocked,
                    (const void *__restrict buffer, size_t size, size_t nmemb,
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(size_t, fwrite_unlocked,
   return result.value / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/getc.cpp b/libc/src/stdio/generic/getc.cpp
index 5cea28d506f6b..aaa5b8cbef80d 100644
--- a/libc/src/stdio/generic/getc.cpp
+++ b/libc/src/stdio/generic/getc.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getc, (::FILE * stream)) {
   unsigned char c;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, getc, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/getc_unlocked.cpp b/libc/src/stdio/generic/getc_unlocked.cpp
index 883405e84bad0..8a5a6056e2738 100644
--- a/libc/src/stdio/generic/getc_unlocked.cpp
+++ b/libc/src/stdio/generic/getc_unlocked.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getc_unlocked, (::FILE * stream)) {
   unsigned char c;
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, getc_unlocked, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/getchar.cpp b/libc/src/stdio/generic/getchar.cpp
index 181999fe56c42..d41711df796e0 100644
--- a/libc/src/stdio/generic/getchar.cpp
+++ b/libc/src/stdio/generic/getchar.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getchar, ()) {
   unsigned char c;
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, getchar, ()) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/getchar_unlocked.cpp b/libc/src/stdio/generic/getchar_unlocked.cpp
index be98d0333ec87..6c10e7112608e 100644
--- a/libc/src/stdio/generic/getchar_unlocked.cpp
+++ b/libc/src/stdio/generic/getchar_unlocked.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getchar_unlocked, ()) {
   unsigned char c;
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, getchar_unlocked, ()) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/printf.cpp b/libc/src/stdio/generic/printf.cpp
index 5701ca9eb2704..3c98084cb96a7 100644
--- a/libc/src/stdio/generic/printf.cpp
+++ b/libc/src/stdio/generic/printf.cpp
@@ -21,7 +21,7 @@
 #define PRINTF_STDOUT ::stdout
 #endif // LIBC_COPT_STDIO_USE_SYSTEM_FILE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, printf, (const char *__restrict format, ...)) {
   va_list vlist;
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, printf, (const char *__restrict format, ...)) {
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/putc.cpp b/libc/src/stdio/generic/putc.cpp
index 58e3b4d1bae4d..2f08c8ee7a713 100644
--- a/libc/src/stdio/generic/putc.cpp
+++ b/libc/src/stdio/generic/putc.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, putc, (int c, ::FILE *stream)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, putc, (int c, ::FILE *stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/putchar.cpp b/libc/src/stdio/generic/putchar.cpp
index 4a4aeb54c9c6f..21c621698e4ff 100644
--- a/libc/src/stdio/generic/putchar.cpp
+++ b/libc/src/stdio/generic/putchar.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/puts.cpp b/libc/src/stdio/generic/puts.cpp
index 0f19ec5267671..63bf4e7b8ad64 100644
--- a/libc/src/stdio/generic/puts.cpp
+++ b/libc/src/stdio/generic/puts.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -53,4 +53,4 @@ LLVM_LIBC_FUNCTION(int, puts, (const char *__restrict str)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/ungetc.cpp b/libc/src/stdio/generic/ungetc.cpp
index ccfbfb0121c86..4c122e0026f26 100644
--- a/libc/src/stdio/generic/ungetc.cpp
+++ b/libc/src/stdio/generic/ungetc.cpp
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ungetc, (int c, ::FILE *stream)) {
   return reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->ungetc(c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/generic/vprintf.cpp b/libc/src/stdio/generic/vprintf.cpp
index eff968d1e9134..11ff81ec2e25f 100644
--- a/libc/src/stdio/generic/vprintf.cpp
+++ b/libc/src/stdio/generic/vprintf.cpp
@@ -21,7 +21,7 @@
 #define PRINTF_STDOUT ::stdout
 #endif // LIBC_COPT_STDIO_USE_SYSTEM_FILE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, vprintf,
                    (const char *__restrict format, va_list vlist)) {
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, vprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/getc.h b/libc/src/stdio/getc.h
index c085d35d7de9c..60b856bef2f38 100644
--- a/libc/src/stdio/getc.h
+++ b/libc/src/stdio/getc.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int getc(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_GETC_H
diff --git a/libc/src/stdio/getc_unlocked.h b/libc/src/stdio/getc_unlocked.h
index f4e1165dd75dc..5e22c22f5face 100644
--- a/libc/src/stdio/getc_unlocked.h
+++ b/libc/src/stdio/getc_unlocked.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int getc_unlocked(::FILE *f);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_GETC_UNLOCKED_H
diff --git a/libc/src/stdio/getchar.h b/libc/src/stdio/getchar.h
index 4168808d3e329..45be96ddb4517 100644
--- a/libc/src/stdio/getchar.h
+++ b/libc/src/stdio/getchar.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETCHAR_H
 #define LLVM_LIBC_SRC_STDIO_GETCHAR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int getchar();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_GETCHAR_H
diff --git a/libc/src/stdio/getchar_unlocked.h b/libc/src/stdio/getchar_unlocked.h
index 24fdb752f5530..390da56b601e2 100644
--- a/libc/src/stdio/getchar_unlocked.h
+++ b/libc/src/stdio/getchar_unlocked.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETCHAR_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_GETCHAR_UNLOCKED_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int getchar_unlocked();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_GETCHAR_UNLOCKED_H
diff --git a/libc/src/stdio/gpu/clearerr.cpp b/libc/src/stdio/gpu/clearerr.cpp
index 2267fdf8115ee..25fab6ad3f085 100644
--- a/libc/src/stdio/gpu/clearerr.cpp
+++ b/libc/src/stdio/gpu/clearerr.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, clearerr, (::FILE * stream)) {
   rpc::Client::Port port = rpc::client.open<RPC_CLEARERR>();
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void, clearerr, (::FILE * stream)) {
   port.close();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fclose.cpp b/libc/src/stdio/gpu/fclose.cpp
index bdedbe51ec38e..e2c578a4e4a64 100644
--- a/libc/src/stdio/gpu/fclose.cpp
+++ b/libc/src/stdio/gpu/fclose.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fclose, (::FILE * stream)) {
   uint64_t ret = 0;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, fclose, (::FILE * stream)) {
   return static_cast<int>(ret);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/feof.cpp b/libc/src/stdio/gpu/feof.cpp
index ddcef384142c4..4bc03cd5b1700 100644
--- a/libc/src/stdio/gpu/feof.cpp
+++ b/libc/src/stdio/gpu/feof.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, feof, (::FILE * stream)) {
   int ret;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, feof, (::FILE * stream)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/ferror.cpp b/libc/src/stdio/gpu/ferror.cpp
index 9ed598fb67541..b456d22c87f3f 100644
--- a/libc/src/stdio/gpu/ferror.cpp
+++ b/libc/src/stdio/gpu/ferror.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ferror, (::FILE * stream)) {
   int ret;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, ferror, (::FILE * stream)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fflush.cpp b/libc/src/stdio/gpu/fflush.cpp
index 68192174e58a8..ef23795d55ccf 100644
--- a/libc/src/stdio/gpu/fflush.cpp
+++ b/libc/src/stdio/gpu/fflush.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fflush, (::FILE * stream)) {
   int ret;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fflush, (::FILE * stream)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fgetc.cpp b/libc/src/stdio/gpu/fgetc.cpp
index 56f42a04857fb..31246812cdd44 100644
--- a/libc/src/stdio/gpu/fgetc.cpp
+++ b/libc/src/stdio/gpu/fgetc.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fgetc, (::FILE * stream)) {
   unsigned char c;
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, fgetc, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fgets.cpp b/libc/src/stdio/gpu/fgets.cpp
index 5ea4bdcdc9e0f..865723012a0c7 100644
--- a/libc/src/stdio/gpu/fgets.cpp
+++ b/libc/src/stdio/gpu/fgets.cpp
@@ -14,7 +14,7 @@
 #include <stddef.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, fgets,
                    (char *__restrict str, int count,
@@ -39,4 +39,4 @@ LLVM_LIBC_FUNCTION(char *, fgets,
   return str;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/file.h b/libc/src/stdio/gpu/file.h
index 2cab2e6d36a25..8a0ab4351ab07 100644
--- a/libc/src/stdio/gpu/file.h
+++ b/libc/src/stdio/gpu/file.h
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace file {
 
 enum Stream {
@@ -94,4 +94,4 @@ LIBC_INLINE uint64_t read(::FILE *f, void *data, size_t size) {
 }
 
 } // namespace file
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fopen.cpp b/libc/src/stdio/gpu/fopen.cpp
index 41d2c89473168..17a99be82c5c8 100644
--- a/libc/src/stdio/gpu/fopen.cpp
+++ b/libc/src/stdio/gpu/fopen.cpp
@@ -12,7 +12,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(::FILE *, fopen,
                    (const char *__restrict path, const char *__restrict mode)) {
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(::FILE *, fopen,
   return reinterpret_cast<FILE *>(file);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fputc.cpp b/libc/src/stdio/gpu/fputc.cpp
index e6ef12f4b2f80..ef15654fcf53d 100644
--- a/libc/src/stdio/gpu/fputc.cpp
+++ b/libc/src/stdio/gpu/fputc.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fputc, (int c, ::FILE *stream)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fputc, (int c, ::FILE *stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fputs.cpp b/libc/src/stdio/gpu/fputs.cpp
index 1b6e0732b98cd..fc666e4532e7a 100644
--- a/libc/src/stdio/gpu/fputs.cpp
+++ b/libc/src/stdio/gpu/fputs.cpp
@@ -13,7 +13,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fputs,
                    (const char *__restrict str, ::FILE *__restrict stream)) {
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, fputs,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fread.cpp b/libc/src/stdio/gpu/fread.cpp
index fe367ae1aa249..48d1ec29a1e45 100644
--- a/libc/src/stdio/gpu/fread.cpp
+++ b/libc/src/stdio/gpu/fread.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fread,
                    (void *__restrict buffer, size_t size, size_t nmemb,
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(size_t, fread,
   return result / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fseek.cpp b/libc/src/stdio/gpu/fseek.cpp
index 3e93ddb46bf97..2ebde22420fbb 100644
--- a/libc/src/stdio/gpu/fseek.cpp
+++ b/libc/src/stdio/gpu/fseek.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fseek, (::FILE * stream, long offset, int whence)) {
   int ret;
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, fseek, (::FILE * stream, long offset, int whence)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/ftell.cpp b/libc/src/stdio/gpu/ftell.cpp
index aea3e8b229fce..5e75a616045eb 100644
--- a/libc/src/stdio/gpu/ftell.cpp
+++ b/libc/src/stdio/gpu/ftell.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, ftell, (::FILE * stream)) {
   long ret;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(long, ftell, (::FILE * stream)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/fwrite.cpp b/libc/src/stdio/gpu/fwrite.cpp
index a059bd5ea3b71..fc71aea0f0c56 100644
--- a/libc/src/stdio/gpu/fwrite.cpp
+++ b/libc/src/stdio/gpu/fwrite.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, fwrite,
                    (const void *__restrict buffer, size_t size, size_t nmemb,
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(size_t, fwrite,
   return result / size;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/getc.cpp b/libc/src/stdio/gpu/getc.cpp
index b50e3963c31a1..844797b1f9349 100644
--- a/libc/src/stdio/gpu/getc.cpp
+++ b/libc/src/stdio/gpu/getc.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getc, (::FILE * stream)) {
   unsigned char c;
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, getc, (::FILE * stream)) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/getchar.cpp b/libc/src/stdio/gpu/getchar.cpp
index c8a004124a2e5..fd7fdd421cf8b 100644
--- a/libc/src/stdio/gpu/getchar.cpp
+++ b/libc/src/stdio/gpu/getchar.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getchar, ()) {
   unsigned char c;
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, getchar, ()) {
   return c;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/putc.cpp b/libc/src/stdio/gpu/putc.cpp
index b5ecbfc65d677..c231b0c6bcb2c 100644
--- a/libc/src/stdio/gpu/putc.cpp
+++ b/libc/src/stdio/gpu/putc.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, putc, (int c, ::FILE *stream)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, putc, (int c, ::FILE *stream)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/putchar.cpp b/libc/src/stdio/gpu/putchar.cpp
index 57663eec40f3b..2efffe9b13103 100644
--- a/libc/src/stdio/gpu/putchar.cpp
+++ b/libc/src/stdio/gpu/putchar.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   unsigned char uc = static_cast<unsigned char>(c);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, putchar, (int c)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/puts.cpp b/libc/src/stdio/gpu/puts.cpp
index 10573a862a4c2..081d53f7995f6 100644
--- a/libc/src/stdio/gpu/puts.cpp
+++ b/libc/src/stdio/gpu/puts.cpp
@@ -13,7 +13,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, puts, (const char *__restrict str)) {
   cpp::string_view str_view(str);
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, puts, (const char *__restrict str)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/remove.cpp b/libc/src/stdio/gpu/remove.cpp
index 398be5f7ef436..bea8d61fc1426 100644
--- a/libc/src/stdio/gpu/remove.cpp
+++ b/libc/src/stdio/gpu/remove.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, remove, (const char *path)) {
   int ret;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, remove, (const char *path)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/gpu/stderr.cpp b/libc/src/stdio/gpu/stderr.cpp
index 70846827064a3..d0682f92c3b17 100644
--- a/libc/src/stdio/gpu/stderr.cpp
+++ b/libc/src/stdio/gpu/stderr.cpp
@@ -8,9 +8,9 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 static struct {
 } stub;
 FILE *stderr = reinterpret_cast<FILE *>(&stub);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 extern "C" FILE *stderr = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::stub);
diff --git a/libc/src/stdio/gpu/stdin.cpp b/libc/src/stdio/gpu/stdin.cpp
index 1a58461c3dec9..2e00b185b2306 100644
--- a/libc/src/stdio/gpu/stdin.cpp
+++ b/libc/src/stdio/gpu/stdin.cpp
@@ -8,9 +8,9 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 static struct {
 } stub;
 FILE *stdin = reinterpret_cast<FILE *>(&stub);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 extern "C" FILE *stdin = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::stub);
diff --git a/libc/src/stdio/gpu/stdout.cpp b/libc/src/stdio/gpu/stdout.cpp
index abeeff2ce9f53..0db8971ffc601 100644
--- a/libc/src/stdio/gpu/stdout.cpp
+++ b/libc/src/stdio/gpu/stdout.cpp
@@ -8,9 +8,9 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 static struct {
 } stub;
 FILE *stdout = reinterpret_cast<FILE *>(&stub);
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 extern "C" FILE *stdout = reinterpret_cast<FILE *>(&LIBC_NAMESPACE::stub);
diff --git a/libc/src/stdio/gpu/ungetc.cpp b/libc/src/stdio/gpu/ungetc.cpp
index 373164a0c53a3..84844bd64ead1 100644
--- a/libc/src/stdio/gpu/ungetc.cpp
+++ b/libc/src/stdio/gpu/ungetc.cpp
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ungetc, (int c, ::FILE *stream)) {
   int ret;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, ungetc, (int c, ::FILE *stream)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/linux/fdopen.cpp b/libc/src/stdio/linux/fdopen.cpp
index a1d08eecbfdee..6efe1571db789 100644
--- a/libc/src/stdio/linux/fdopen.cpp
+++ b/libc/src/stdio/linux/fdopen.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/File/linux/file.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(::FILE *, fdopen, (int fd, const char *mode)) {
   auto result = LIBC_NAMESPACE::create_file_from_fd(fd, mode);
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(::FILE *, fdopen, (int fd, const char *mode)) {
   return reinterpret_cast<::FILE *>(result.value());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/linux/remove.cpp b/libc/src/stdio/linux/remove.cpp
index b2742c29a3e26..86690a48f59a9 100644
--- a/libc/src/stdio/linux/remove.cpp
+++ b/libc/src/stdio/linux/remove.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>       // For AT_* macros.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, remove, (const char *path)) {
   // We first try unlinking it as a file. If it is ia file, it will succeed. If
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, remove, (const char *path)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/linux/rename.cpp b/libc/src/stdio/linux/rename.cpp
index 379a6ef3c0c84..bd69935e39926 100644
--- a/libc/src/stdio/linux/rename.cpp
+++ b/libc/src/stdio/linux/rename.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, rename, (const char *oldpath, const char *newpath)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_renameat2, AT_FDCWD, oldpath,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, rename, (const char *oldpath, const char *newpath)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/printf.h b/libc/src/stdio/printf.h
index c5b4603c589d5..9ccc27da5b7cd 100644
--- a/libc/src/stdio/printf.h
+++ b/libc/src/stdio/printf.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int printf(const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_H
diff --git a/libc/src/stdio/printf_core/char_converter.h b/libc/src/stdio/printf_core/char_converter.h
index 13596b8ed4f23..8a1dbe172ba7a 100644
--- a/libc/src/stdio/printf_core/char_converter.h
+++ b/libc/src/stdio/printf_core/char_converter.h
@@ -13,7 +13,7 @@
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE int convert_char(Writer *writer, const FormatSection &to_conv) {
@@ -42,6 +42,6 @@ LIBC_INLINE int convert_char(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CHAR_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/converter.cpp b/libc/src/stdio/printf_core/converter.cpp
index 613d693c3cfcb..bdfb857ed34df 100644
--- a/libc/src/stdio/printf_core/converter.cpp
+++ b/libc/src/stdio/printf_core/converter.cpp
@@ -22,7 +22,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 int convert(Writer *writer, const FormatSection &to_conv) {
@@ -96,4 +96,4 @@ int convert(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/printf_core/converter.h b/libc/src/stdio/printf_core/converter.h
index d653f1e56dc28..f98986cfbd693 100644
--- a/libc/src/stdio/printf_core/converter.h
+++ b/libc/src/stdio/printf_core/converter.h
@@ -14,7 +14,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 // convert will call a conversion function to convert the FormatSection into
@@ -23,6 +23,6 @@ namespace printf_core {
 int convert(Writer *writer, const FormatSection &to_conv);
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/converter_utils.h b/libc/src/stdio/printf_core/converter_utils.h
index a0e96a11be5bf..163107cfa915f 100644
--- a/libc/src/stdio/printf_core/converter_utils.h
+++ b/libc/src/stdio/printf_core/converter_utils.h
@@ -15,7 +15,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE uintmax_t apply_length_modifier(uintmax_t num,
@@ -69,6 +69,6 @@ LIBC_INLINE uintmax_t apply_length_modifier(uintmax_t num,
 enum class RoundDirection { Up, Down, Even };
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CONVERTER_UTILS_H
diff --git a/libc/src/stdio/printf_core/core_structs.h b/libc/src/stdio/printf_core/core_structs.h
index bfe362becad1e..76d006b813dd1 100644
--- a/libc/src/stdio/printf_core/core_structs.h
+++ b/libc/src/stdio/printf_core/core_structs.h
@@ -19,7 +19,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 // These length modifiers match the length modifiers in the format string, which
@@ -136,6 +136,6 @@ constexpr int INT_CONVERSION_ERROR = -4;
 constexpr int FIXED_POINT_CONVERSION_ERROR = -5;
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CORE_STRUCTS_H
diff --git a/libc/src/stdio/printf_core/fixed_converter.h b/libc/src/stdio/printf_core/fixed_converter.h
index de69c603be6b6..5c590fbe8caa2 100644
--- a/libc/src/stdio/printf_core/fixed_converter.h
+++ b/libc/src/stdio/printf_core/fixed_converter.h
@@ -22,7 +22,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 // This is just for assertions. It will be compiled out for release builds.
@@ -304,6 +304,6 @@ LIBC_INLINE int convert_fixed(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_FIXED_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/float_dec_converter.h b/libc/src/stdio/printf_core/float_dec_converter.h
index 1237db62e428a..060ec7447af2d 100644
--- a/libc/src/stdio/printf_core/float_dec_converter.h
+++ b/libc/src/stdio/printf_core/float_dec_converter.h
@@ -24,7 +24,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 using StorageType = fputil::FPBits<long double>::StorageType;
@@ -1170,6 +1170,6 @@ LIBC_INLINE int convert_float_dec_auto(Writer *writer,
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_FLOAT_DEC_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/float_hex_converter.h b/libc/src/stdio/printf_core/float_hex_converter.h
index 8fac36df3d1e2..92dcd0a87c965 100644
--- a/libc/src/stdio/printf_core/float_hex_converter.h
+++ b/libc/src/stdio/printf_core/float_hex_converter.h
@@ -20,7 +20,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE int convert_float_hex_exp(Writer *writer,
@@ -255,6 +255,6 @@ LIBC_INLINE int convert_float_hex_exp(Writer *writer,
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_FLOAT_HEX_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/float_inf_nan_converter.h b/libc/src/stdio/printf_core/float_inf_nan_converter.h
index f755ef6e31f26..327914454a32b 100644
--- a/libc/src/stdio/printf_core/float_inf_nan_converter.h
+++ b/libc/src/stdio/printf_core/float_inf_nan_converter.h
@@ -17,7 +17,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 using StorageType = fputil::FPBits<long double>::StorageType;
@@ -78,6 +78,6 @@ LIBC_INLINE int convert_inf_nan(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_FLOAT_INF_NAN_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/int_converter.h b/libc/src/stdio/printf_core/int_converter.h
index 496e7bd1a56d9..4879a50ef2ec3 100644
--- a/libc/src/stdio/printf_core/int_converter.h
+++ b/libc/src/stdio/printf_core/int_converter.h
@@ -19,7 +19,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 // These functions only work on characters that are already known to be in the
@@ -209,6 +209,6 @@ LIBC_INLINE int convert_int(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_INT_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/parser.h b/libc/src/stdio/printf_core/parser.h
index b9a8f303dd673..165c7f1592e77 100644
--- a/libc/src/stdio/printf_core/parser.h
+++ b/libc/src/stdio/printf_core/parser.h
@@ -23,7 +23,7 @@
 #include "src/__support/fixed_point/fx_rep.h"
 #endif // LIBC_INTERNAL_PRINTF_HAS_FIXED_POINT
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 template <typename T> struct int_type_of {
@@ -668,6 +668,6 @@ template <typename ArgProvider> class Parser {
 };
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PARSER_H
diff --git a/libc/src/stdio/printf_core/printf_main.cpp b/libc/src/stdio/printf_core/printf_main.cpp
index 54e70f58c87fe..b1fa257551141 100644
--- a/libc/src/stdio/printf_core/printf_main.cpp
+++ b/libc/src/stdio/printf_core/printf_main.cpp
@@ -16,7 +16,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 int printf_main(Writer *writer, const char *__restrict str,
@@ -39,4 +39,4 @@ int printf_main(Writer *writer, const char *__restrict str,
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/printf_core/printf_main.h b/libc/src/stdio/printf_core/printf_main.h
index 15c6977622afb..548f8dab2589f 100644
--- a/libc/src/stdio/printf_core/printf_main.h
+++ b/libc/src/stdio/printf_core/printf_main.h
@@ -14,13 +14,13 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 int printf_main(Writer *writer, const char *__restrict str,
                 internal::ArgList &args);
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PRINTF_MAIN_H
diff --git a/libc/src/stdio/printf_core/ptr_converter.h b/libc/src/stdio/printf_core/ptr_converter.h
index c5d4086647ec3..796080c5a3dfb 100644
--- a/libc/src/stdio/printf_core/ptr_converter.h
+++ b/libc/src/stdio/printf_core/ptr_converter.h
@@ -14,7 +14,7 @@
 #include "src/stdio/printf_core/string_converter.h"
 #include "src/stdio/printf_core/writer.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE int convert_pointer(Writer *writer, const FormatSection &to_conv) {
@@ -35,6 +35,6 @@ LIBC_INLINE int convert_pointer(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PTR_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/string_converter.h b/libc/src/stdio/printf_core/string_converter.h
index 9e05591079faa..de844964a4f38 100644
--- a/libc/src/stdio/printf_core/string_converter.h
+++ b/libc/src/stdio/printf_core/string_converter.h
@@ -16,7 +16,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE int convert_string(Writer *writer, const FormatSection &to_conv) {
@@ -58,6 +58,6 @@ LIBC_INLINE int convert_string(Writer *writer, const FormatSection &to_conv) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_STRING_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/vfprintf_internal.h b/libc/src/stdio/printf_core/vfprintf_internal.h
index c16c3ae15fb7c..4546f3ba7b1db 100644
--- a/libc/src/stdio/printf_core/vfprintf_internal.h
+++ b/libc/src/stdio/printf_core/vfprintf_internal.h
@@ -18,7 +18,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace internal {
 #ifndef LIBC_COPT_STDIO_USE_SYSTEM_FILE
@@ -84,6 +84,6 @@ LIBC_INLINE int vfprintf_internal(::FILE *__restrict stream,
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_VFPRINTF_INTERNAL_H
diff --git a/libc/src/stdio/printf_core/write_int_converter.h b/libc/src/stdio/printf_core/write_int_converter.h
index 18aa5c79897ec..87679af50dff1 100644
--- a/libc/src/stdio/printf_core/write_int_converter.h
+++ b/libc/src/stdio/printf_core/write_int_converter.h
@@ -15,7 +15,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 LIBC_INLINE int convert_write_int(Writer *writer,
@@ -64,6 +64,6 @@ LIBC_INLINE int convert_write_int(Writer *writer,
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_WRITE_INT_CONVERTER_H
diff --git a/libc/src/stdio/printf_core/writer.cpp b/libc/src/stdio/printf_core/writer.cpp
index f8ecd829af3a6..dd24cceed961d 100644
--- a/libc/src/stdio/printf_core/writer.cpp
+++ b/libc/src/stdio/printf_core/writer.cpp
@@ -12,7 +12,7 @@
 #include "src/string/memory_utils/inline_memset.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 int Writer::pad(char new_char, size_t length) {
@@ -42,4 +42,4 @@ int Writer::pad(char new_char, size_t length) {
 }
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/printf_core/writer.h b/libc/src/stdio/printf_core/writer.h
index 67513eca97288..fc95ead56dc2c 100644
--- a/libc/src/stdio/printf_core/writer.h
+++ b/libc/src/stdio/printf_core/writer.h
@@ -17,7 +17,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace printf_core {
 
 struct WriteBuffer {
@@ -134,6 +134,6 @@ class Writer final {
 };
 
 } // namespace printf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PRINTF_CORE_WRITER_H
diff --git a/libc/src/stdio/putc.h b/libc/src/stdio/putc.h
index a8fb5b7fa97eb..c36441b9970ef 100644
--- a/libc/src/stdio/putc.h
+++ b/libc/src/stdio/putc.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int putc(int c, ::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PUTC_H
diff --git a/libc/src/stdio/putchar.h b/libc/src/stdio/putchar.h
index e458e3179ed6b..84ecd7c40d894 100644
--- a/libc/src/stdio/putchar.h
+++ b/libc/src/stdio/putchar.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PUTCHAR_H
 #define LLVM_LIBC_SRC_STDIO_PUTCHAR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int putchar(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PUTCHAR_H
diff --git a/libc/src/stdio/puts.h b/libc/src/stdio/puts.h
index 68d5225b00a17..72b0eba7de42e 100644
--- a/libc/src/stdio/puts.h
+++ b/libc/src/stdio/puts.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PUTS_H
 #define LLVM_LIBC_SRC_STDIO_PUTS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int puts(const char *__restrict str);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_PUTS_H
diff --git a/libc/src/stdio/remove.h b/libc/src/stdio/remove.h
index 8c52fe5eee8e8..1bdd6e0ee7a66 100644
--- a/libc/src/stdio/remove.h
+++ b/libc/src/stdio/remove.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int remove(const char *path);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_REMOVE_H
diff --git a/libc/src/stdio/rename.h b/libc/src/stdio/rename.h
index eadda7c3eac9b..298577b13a3c0 100644
--- a/libc/src/stdio/rename.h
+++ b/libc/src/stdio/rename.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_RENAME_H
 #define LLVM_LIBC_SRC_STDIO_RENAME_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int rename(const char *oldpath, const char *newpath);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_RENAME_H
diff --git a/libc/src/stdio/scanf.cpp b/libc/src/stdio/scanf.cpp
index 3a9fafab38be3..5d98498a6af77 100644
--- a/libc/src/stdio/scanf.cpp
+++ b/libc/src/stdio/scanf.cpp
@@ -21,7 +21,7 @@
 #define SCANF_STDIN ::stdin
 #endif // LIBC_COPT_STDIO_USE_SYSTEM_FILE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, scanf, (const char *__restrict format, ...)) {
   va_list vlist;
@@ -37,4 +37,4 @@ LLVM_LIBC_FUNCTION(int, scanf, (const char *__restrict format, ...)) {
   return (ret_val == -1) ? EOF : ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf.h b/libc/src/stdio/scanf.h
index 58e42d1fac185..bf83a0667e0fb 100644
--- a/libc/src/stdio/scanf.h
+++ b/libc/src/stdio/scanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int scanf(const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_H
diff --git a/libc/src/stdio/scanf_core/converter.cpp b/libc/src/stdio/scanf_core/converter.cpp
index 5334af1be98e1..3f12afda34ec6 100644
--- a/libc/src/stdio/scanf_core/converter.cpp
+++ b/libc/src/stdio/scanf_core/converter.cpp
@@ -22,7 +22,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert(Reader *reader, const FormatSection &to_conv) {
@@ -99,4 +99,4 @@ int raw_match(Reader *reader, cpp::string_view raw_string) {
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/converter.h b/libc/src/stdio/scanf_core/converter.h
index f741840da304e..9f16a4d3971eb 100644
--- a/libc/src/stdio/scanf_core/converter.h
+++ b/libc/src/stdio/scanf_core/converter.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 // convert will call a conversion function to convert the FormatSection into
@@ -28,6 +28,6 @@ int convert(Reader *reader, const FormatSection &to_conv);
 int raw_match(Reader *reader, cpp::string_view raw_string);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/converter_utils.h b/libc/src/stdio/scanf_core/converter_utils.h
index a25e8a73e99a4..9822b0f63a09d 100644
--- a/libc/src/stdio/scanf_core/converter_utils.h
+++ b/libc/src/stdio/scanf_core/converter_utils.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 LIBC_INLINE constexpr char to_lower(char a) { return a | 32; }
@@ -106,6 +106,6 @@ LIBC_INLINE void write_float_with_length(char *str,
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_CONVERTER_UTILS_H
diff --git a/libc/src/stdio/scanf_core/core_structs.h b/libc/src/stdio/scanf_core/core_structs.h
index 29e1bf2e47f39..68578a3abb9d4 100644
--- a/libc/src/stdio/scanf_core/core_structs.h
+++ b/libc/src/stdio/scanf_core/core_structs.h
@@ -15,7 +15,7 @@
 #include <inttypes.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 // These length modifiers match the length modifiers in the format string, which
@@ -86,6 +86,6 @@ enum ErrorCodes : int {
   ALLOCATION_FAILURE = -4,
 };
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_CORE_STRUCTS_H
diff --git a/libc/src/stdio/scanf_core/current_pos_converter.h b/libc/src/stdio/scanf_core/current_pos_converter.h
index be25cefed151a..9db9ac0bda6dc 100644
--- a/libc/src/stdio/scanf_core/current_pos_converter.h
+++ b/libc/src/stdio/scanf_core/current_pos_converter.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 LIBC_INLINE int convert_current_pos(Reader *reader,
@@ -25,6 +25,6 @@ LIBC_INLINE int convert_current_pos(Reader *reader,
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_CURRENT_POS_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/float_converter.cpp b/libc/src/stdio/scanf_core/float_converter.cpp
index 8500d98f4121a..ebb5a1eec6a97 100644
--- a/libc/src/stdio/scanf_core/float_converter.cpp
+++ b/libc/src/stdio/scanf_core/float_converter.cpp
@@ -17,7 +17,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 // All of the floating point conversions are the same for scanf, every name will
@@ -223,4 +223,4 @@ int convert_float(Reader *reader, const FormatSection &to_conv) {
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/float_converter.h b/libc/src/stdio/scanf_core/float_converter.h
index a3ea1da86a3f4..fa34e3600c409 100644
--- a/libc/src/stdio/scanf_core/float_converter.h
+++ b/libc/src/stdio/scanf_core/float_converter.h
@@ -14,12 +14,12 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert_float(Reader *reader, const FormatSection &to_conv);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_FLOAT_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/int_converter.cpp b/libc/src/stdio/scanf_core/int_converter.cpp
index 05d6ed6e0fd35..bbd6e1c8be5ba 100644
--- a/libc/src/stdio/scanf_core/int_converter.cpp
+++ b/libc/src/stdio/scanf_core/int_converter.cpp
@@ -16,7 +16,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 // This code is very similar to the code in __support/str_to_integer.h but is
@@ -212,4 +212,4 @@ int convert_int(Reader *reader, const FormatSection &to_conv) {
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/int_converter.h b/libc/src/stdio/scanf_core/int_converter.h
index 7c9d8b4fbae32..97385372c3d9b 100644
--- a/libc/src/stdio/scanf_core/int_converter.h
+++ b/libc/src/stdio/scanf_core/int_converter.h
@@ -14,12 +14,12 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert_int(Reader *reader, const FormatSection &to_conv);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_INT_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/parser.h b/libc/src/stdio/scanf_core/parser.h
index 5ae9009bc4a23..92497520701bc 100644
--- a/libc/src/stdio/scanf_core/parser.h
+++ b/libc/src/stdio/scanf_core/parser.h
@@ -17,7 +17,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 #ifndef LIBC_COPT_SCANF_DISABLE_INDEX_MODE
@@ -279,6 +279,6 @@ template <typename ArgProvider> class Parser {
 };
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_PARSER_H
diff --git a/libc/src/stdio/scanf_core/ptr_converter.cpp b/libc/src/stdio/scanf_core/ptr_converter.cpp
index cc233c3656290..35e28cd1271dc 100644
--- a/libc/src/stdio/scanf_core/ptr_converter.cpp
+++ b/libc/src/stdio/scanf_core/ptr_converter.cpp
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 int convert_pointer(Reader *reader, const FormatSection &to_conv) {
   static const char nullptr_string[] = "(nullptr)";
@@ -40,4 +40,4 @@ int convert_pointer(Reader *reader, const FormatSection &to_conv) {
   return convert_int(reader, to_conv);
 }
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/ptr_converter.h b/libc/src/stdio/scanf_core/ptr_converter.h
index 363d9aacde7be..7723803b4b561 100644
--- a/libc/src/stdio/scanf_core/ptr_converter.h
+++ b/libc/src/stdio/scanf_core/ptr_converter.h
@@ -14,12 +14,12 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert_pointer(Reader *reader, const FormatSection &to_conv);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_PTR_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/reader.cpp b/libc/src/stdio/scanf_core/reader.cpp
index eca0e3784dc8d..dc848316cadae 100644
--- a/libc/src/stdio/scanf_core/reader.cpp
+++ b/libc/src/stdio/scanf_core/reader.cpp
@@ -9,7 +9,7 @@
 #include "src/stdio/scanf_core/reader.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 void Reader::ungetc(char c) {
@@ -25,4 +25,4 @@ void Reader::ungetc(char c) {
   stream_ungetc(static_cast<int>(c), input_stream);
 }
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/reader.h b/libc/src/stdio/scanf_core/reader.h
index f750c4341a8d7..9965be6b3527e 100644
--- a/libc/src/stdio/scanf_core/reader.h
+++ b/libc/src/stdio/scanf_core/reader.h
@@ -12,7 +12,7 @@
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 using StreamGetc = int (*)(void *);
@@ -68,6 +68,6 @@ class Reader {
 };
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_READER_H
diff --git a/libc/src/stdio/scanf_core/scanf_main.cpp b/libc/src/stdio/scanf_core/scanf_main.cpp
index dc7740d64b665..c7915dc779c9e 100644
--- a/libc/src/stdio/scanf_core/scanf_main.cpp
+++ b/libc/src/stdio/scanf_core/scanf_main.cpp
@@ -16,7 +16,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int scanf_main(Reader *reader, const char *__restrict str,
@@ -42,4 +42,4 @@ int scanf_main(Reader *reader, const char *__restrict str,
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/scanf_main.h b/libc/src/stdio/scanf_core/scanf_main.h
index f1688d648ccc8..82acd0bd0edd4 100644
--- a/libc/src/stdio/scanf_core/scanf_main.h
+++ b/libc/src/stdio/scanf_core/scanf_main.h
@@ -14,13 +14,13 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int scanf_main(Reader *reader, const char *__restrict str,
                internal::ArgList &args);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_SCANF_MAIN_H
diff --git a/libc/src/stdio/scanf_core/string_converter.cpp b/libc/src/stdio/scanf_core/string_converter.cpp
index 94a7fc4e5fe0d..4eb2a497db27b 100644
--- a/libc/src/stdio/scanf_core/string_converter.cpp
+++ b/libc/src/stdio/scanf_core/string_converter.cpp
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert_string(Reader *reader, const FormatSection &to_conv) {
@@ -73,4 +73,4 @@ int convert_string(Reader *reader, const FormatSection &to_conv) {
 }
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/scanf_core/string_converter.h b/libc/src/stdio/scanf_core/string_converter.h
index 165fc47e4bdf7..ad135c6473bf3 100644
--- a/libc/src/stdio/scanf_core/string_converter.h
+++ b/libc/src/stdio/scanf_core/string_converter.h
@@ -14,12 +14,12 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace scanf_core {
 
 int convert_string(Reader *reader, const FormatSection &to_conv);
 
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_STRING_CONVERTER_H
diff --git a/libc/src/stdio/scanf_core/vfscanf_internal.h b/libc/src/stdio/scanf_core/vfscanf_internal.h
index 8081136d471a2..f865135fbee7d 100644
--- a/libc/src/stdio/scanf_core/vfscanf_internal.h
+++ b/libc/src/stdio/scanf_core/vfscanf_internal.h
@@ -16,7 +16,7 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace internal {
 
@@ -84,6 +84,6 @@ LIBC_INLINE int vfscanf_internal(::FILE *__restrict stream,
   return retval;
 }
 } // namespace scanf_core
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SCANF_CORE_VFSCANF_INTERNAL_H
diff --git a/libc/src/stdio/setbuf.cpp b/libc/src/stdio/setbuf.cpp
index 8819901849a08..a8820b362072b 100644
--- a/libc/src/stdio/setbuf.cpp
+++ b/libc/src/stdio/setbuf.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, setbuf,
                    (::FILE *__restrict stream, char *__restrict buf)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(void, setbuf,
     libc_errno = err;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/setbuf.h b/libc/src/stdio/setbuf.h
index 9c7aab95d2c9e..fa0ed1262bfad 100644
--- a/libc/src/stdio/setbuf.h
+++ b/libc/src/stdio/setbuf.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void setbuf(::FILE *__restrict stream, char *__restrict buf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SETBUF_H
diff --git a/libc/src/stdio/setvbuf.cpp b/libc/src/stdio/setvbuf.cpp
index 5fdaebcdb75c2..b41aa96499be4 100644
--- a/libc/src/stdio/setvbuf.cpp
+++ b/libc/src/stdio/setvbuf.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setvbuf,
                    (::FILE *__restrict stream, char *__restrict buf, int type,
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, setvbuf,
   return err;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/setvbuf.h b/libc/src/stdio/setvbuf.h
index 21d9c9918ffa1..f3ecdabb3e354 100644
--- a/libc/src/stdio/setvbuf.h
+++ b/libc/src/stdio/setvbuf.h
@@ -11,11 +11,11 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int setvbuf(::FILE *__restrict stream, char *__restrict buf, int type,
             size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SETVBUF_H
diff --git a/libc/src/stdio/snprintf.cpp b/libc/src/stdio/snprintf.cpp
index fbfc2b2180326..68fcebc1b19af 100644
--- a/libc/src/stdio/snprintf.cpp
+++ b/libc/src/stdio/snprintf.cpp
@@ -15,7 +15,7 @@
 #include <stdarg.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, snprintf,
                    (char *__restrict buffer, size_t buffsz,
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, snprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/snprintf.h b/libc/src/stdio/snprintf.h
index 0e4e398abc391..458a5d9c13698 100644
--- a/libc/src/stdio/snprintf.h
+++ b/libc/src/stdio/snprintf.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int snprintf(char *__restrict buffer, size_t buffsz,
              const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SNPRINTF_H
diff --git a/libc/src/stdio/sprintf.cpp b/libc/src/stdio/sprintf.cpp
index 11f2f1a8634ff..9595f0dbc6a89 100644
--- a/libc/src/stdio/sprintf.cpp
+++ b/libc/src/stdio/sprintf.cpp
@@ -15,7 +15,7 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sprintf,
                    (char *__restrict buffer, const char *__restrict format,
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, sprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/sprintf.h b/libc/src/stdio/sprintf.h
index 14bb4fa121f42..4e4893910e0e9 100644
--- a/libc/src/stdio/sprintf.h
+++ b/libc/src/stdio/sprintf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_SPRINTF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sprintf(char *__restrict buffer, const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SPRINTF_H
diff --git a/libc/src/stdio/sscanf.cpp b/libc/src/stdio/sscanf.cpp
index 9bbd813514ffa..156594bbb4c00 100644
--- a/libc/src/stdio/sscanf.cpp
+++ b/libc/src/stdio/sscanf.cpp
@@ -16,7 +16,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, sscanf,
                    (const char *__restrict buffer,
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(int, sscanf,
   return (ret_val == -1) ? EOF : ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/sscanf.h b/libc/src/stdio/sscanf.h
index 9e4b28e0033cf..9b28c7abab7cd 100644
--- a/libc/src/stdio/sscanf.h
+++ b/libc/src/stdio/sscanf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SSCANF_H
 #define LLVM_LIBC_SRC_STDIO_SSCANF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int sscanf(const char *__restrict buffer, const char *__restrict format, ...);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_SSCANF_H
diff --git a/libc/src/stdio/ungetc.h b/libc/src/stdio/ungetc.h
index c24d8e5600cad..77002796a337d 100644
--- a/libc/src/stdio/ungetc.h
+++ b/libc/src/stdio/ungetc.h
@@ -11,10 +11,10 @@
 
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ungetc(int c, ::FILE *stream);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_UNGETC_H
diff --git a/libc/src/stdio/vfprintf.cpp b/libc/src/stdio/vfprintf.cpp
index 2504ce8a20bac..2252ed2f93da3 100644
--- a/libc/src/stdio/vfprintf.cpp
+++ b/libc/src/stdio/vfprintf.cpp
@@ -15,7 +15,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, vfprintf,
                    (::FILE *__restrict stream, const char *__restrict format,
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, vfprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/vfprintf.h b/libc/src/stdio/vfprintf.h
index 01827c59d6ce1..c5425a041c183 100644
--- a/libc/src/stdio/vfprintf.h
+++ b/libc/src/stdio/vfprintf.h
@@ -12,11 +12,11 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int vfprintf(::FILE *__restrict stream, const char *__restrict format,
              va_list vlist);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_VFPRINTF_H
diff --git a/libc/src/stdio/vprintf.h b/libc/src/stdio/vprintf.h
index fe4252bd86203..d198b21db6217 100644
--- a/libc/src/stdio/vprintf.h
+++ b/libc/src/stdio/vprintf.h
@@ -12,10 +12,10 @@
 #include <stdarg.h>
 #include <stdio.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int vprintf(const char *__restrict format, va_list vlist);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_VPRINTF_H
diff --git a/libc/src/stdio/vsnprintf.cpp b/libc/src/stdio/vsnprintf.cpp
index 9446d3b223506..599ab637c35e1 100644
--- a/libc/src/stdio/vsnprintf.cpp
+++ b/libc/src/stdio/vsnprintf.cpp
@@ -15,7 +15,7 @@
 #include <stdarg.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, vsnprintf,
                    (char *__restrict buffer, size_t buffsz,
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, vsnprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/vsnprintf.h b/libc/src/stdio/vsnprintf.h
index 6da25fc66f792..85026622cfad7 100644
--- a/libc/src/stdio/vsnprintf.h
+++ b/libc/src/stdio/vsnprintf.h
@@ -12,11 +12,11 @@
 #include <stdarg.h>
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int vsnprintf(char *__restrict buffer, size_t buffsz,
               const char *__restrict format, va_list vlist);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_VSNPRINTF_H
diff --git a/libc/src/stdio/vsprintf.cpp b/libc/src/stdio/vsprintf.cpp
index 5ebdf9a2a539f..ab116c0aa0c83 100644
--- a/libc/src/stdio/vsprintf.cpp
+++ b/libc/src/stdio/vsprintf.cpp
@@ -15,7 +15,7 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, vsprintf,
                    (char *__restrict buffer, const char *__restrict format,
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, vsprintf,
   return ret_val;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdio/vsprintf.h b/libc/src/stdio/vsprintf.h
index fe8def5994214..95328ec2972cc 100644
--- a/libc/src/stdio/vsprintf.h
+++ b/libc/src/stdio/vsprintf.h
@@ -11,11 +11,11 @@
 
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int vsprintf(char *__restrict buffer, const char *__restrict format,
              va_list vlist);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDIO_VSPRINTF_H
diff --git a/libc/src/stdlib/_Exit.cpp b/libc/src/stdlib/_Exit.cpp
index 03a766261014e..c7b89c0cfcb78 100644
--- a/libc/src/stdlib/_Exit.cpp
+++ b/libc/src/stdlib/_Exit.cpp
@@ -11,10 +11,10 @@
 
 #include "src/stdlib/_Exit.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] LLVM_LIBC_FUNCTION(void, _Exit, (int status)) {
   internal::exit(status);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/_Exit.h b/libc/src/stdlib/_Exit.h
index bc05fafeb766b..ed2ca7a23a104 100644
--- a/libc/src/stdlib/_Exit.h
+++ b/libc/src/stdlib/_Exit.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB__EXIT_H
 #define LLVM_LIBC_SRC_STDLIB__EXIT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void _Exit(int status);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB__EXIT_H
diff --git a/libc/src/stdlib/abort.h b/libc/src/stdlib/abort.h
index d3bf1e9e477c2..626dd2641348e 100644
--- a/libc/src/stdlib/abort.h
+++ b/libc/src/stdlib/abort.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ABORT_H
 #define LLVM_LIBC_SRC_STDLIB_ABORT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void abort();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ABORT_H
diff --git a/libc/src/stdlib/abs.cpp b/libc/src/stdlib/abs.cpp
index 6be63e0468f52..1287257ac879a 100644
--- a/libc/src/stdlib/abs.cpp
+++ b/libc/src/stdlib/abs.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, abs, (int n)) { return integer_abs(n); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/abs.h b/libc/src/stdlib/abs.h
index 19cef1446bd36..f2902105db77c 100644
--- a/libc/src/stdlib/abs.h
+++ b/libc/src/stdlib/abs.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ABS_H
 #define LLVM_LIBC_SRC_STDLIB_ABS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int abs(int n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ABS_H
diff --git a/libc/src/stdlib/aligned_alloc.h b/libc/src/stdlib/aligned_alloc.h
index 7f294c8114d49..32e86afc8275e 100644
--- a/libc/src/stdlib/aligned_alloc.h
+++ b/libc/src/stdlib/aligned_alloc.h
@@ -11,10 +11,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ALIGNED_ALLOC_H
 #define LLVM_LIBC_SRC_STDLIB_ALIGNED_ALLOC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *aligned_alloc(size_t alignment, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ALIGNED_ALLOC_H
diff --git a/libc/src/stdlib/at_quick_exit.cpp b/libc/src/stdlib/at_quick_exit.cpp
index 752d67e7fe44d..94a3159359215 100644
--- a/libc/src/stdlib/at_quick_exit.cpp
+++ b/libc/src/stdlib/at_quick_exit.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/stdlib/exit_handler.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, at_quick_exit, (__atexithandler_t callback)) {
   return add_atexit_unit(
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, at_quick_exit, (__atexithandler_t callback)) {
       {&stdc_at_exit_func, reinterpret_cast<void *>(callback)});
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/at_quick_exit.h b/libc/src/stdlib/at_quick_exit.h
index c36c797088aba..96381795ef4b8 100644
--- a/libc/src/stdlib/at_quick_exit.h
+++ b/libc/src/stdlib/at_quick_exit.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/atexithandler_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int at_quick_exit(__atexithandler_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_AT_QUICK_EXIT_H
diff --git a/libc/src/stdlib/atexit.cpp b/libc/src/stdlib/atexit.cpp
index ca3cbfe87a88c..c3a2a3c2b9aa6 100644
--- a/libc/src/stdlib/atexit.cpp
+++ b/libc/src/stdlib/atexit.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/stdlib/exit_handler.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, atexit, (__atexithandler_t callback)) {
       {&stdc_at_exit_func, reinterpret_cast<void *>(callback)});
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/atexit.h b/libc/src/stdlib/atexit.h
index 7faaf654247c2..0ee048388d644 100644
--- a/libc/src/stdlib/atexit.h
+++ b/libc/src/stdlib/atexit.h
@@ -10,10 +10,10 @@
 #define LLVM_LIBC_SRC_STDLIB_ATEXIT_H
 
 #include "hdr/types/atexithandler_t.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int atexit(__atexithandler_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ATEXIT_H
diff --git a/libc/src/stdlib/atof.cpp b/libc/src/stdlib/atof.cpp
index 61eb7db0056f1..38db8c4ab2d17 100644
--- a/libc/src/stdlib/atof.cpp
+++ b/libc/src/stdlib/atof.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, atof, (const char *str)) {
   auto result = internal::strtofloatingpoint<double>(str);
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(double, atof, (const char *str)) {
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/atof.h b/libc/src/stdlib/atof.h
index cc9ae5157d6a5..a3a34e1679eba 100644
--- a/libc/src/stdlib/atof.h
+++ b/libc/src/stdlib/atof.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOF_H
 #define LLVM_LIBC_SRC_STDLIB_ATOF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double atof(const char *str);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ATOF_H
diff --git a/libc/src/stdlib/atoi.cpp b/libc/src/stdlib/atoi.cpp
index d1dc3203d3c57..93dc2782f93d5 100644
--- a/libc/src/stdlib/atoi.cpp
+++ b/libc/src/stdlib/atoi.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, atoi, (const char *str)) {
   // This is done because the standard specifies that atoi is identical to
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, atoi, (const char *str)) {
   return static_cast<int>(result);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/atoi.h b/libc/src/stdlib/atoi.h
index fb5de31860d02..fd09657592db7 100644
--- a/libc/src/stdlib/atoi.h
+++ b/libc/src/stdlib/atoi.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOI_H
 #define LLVM_LIBC_SRC_STDLIB_ATOI_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int atoi(const char *str);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ATOI_H
diff --git a/libc/src/stdlib/atol.cpp b/libc/src/stdlib/atol.cpp
index 5586db7838c6b..761c6f7f3c4f9 100644
--- a/libc/src/stdlib/atol.cpp
+++ b/libc/src/stdlib/atol.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, atol, (const char *str)) {
   auto result = internal::strtointeger<long>(str, 10);
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(long, atol, (const char *str)) {
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/atol.h b/libc/src/stdlib/atol.h
index 690731f8714d8..09546b0d5f2da 100644
--- a/libc/src/stdlib/atol.h
+++ b/libc/src/stdlib/atol.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOL_H
 #define LLVM_LIBC_SRC_STDLIB_ATOL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long atol(const char *str);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ATOL_H
diff --git a/libc/src/stdlib/atoll.cpp b/libc/src/stdlib/atoll.cpp
index 921459ddc3ac3..59293bbf9437b 100644
--- a/libc/src/stdlib/atoll.cpp
+++ b/libc/src/stdlib/atoll.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, atoll, (const char *str)) {
   auto result = internal::strtointeger<long long>(str, 10);
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(long long, atoll, (const char *str)) {
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/atoll.h b/libc/src/stdlib/atoll.h
index 4746eb1e5e307..5c26d111885ed 100644
--- a/libc/src/stdlib/atoll.h
+++ b/libc/src/stdlib/atoll.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOLL_H
 #define LLVM_LIBC_SRC_STDLIB_ATOLL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long atoll(const char *str);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_ATOLL_H
diff --git a/libc/src/stdlib/baremetal/abort.cpp b/libc/src/stdlib/baremetal/abort.cpp
index 4dd85367411e6..e2345dfefd936 100644
--- a/libc/src/stdlib/baremetal/abort.cpp
+++ b/libc/src/stdlib/baremetal/abort.cpp
@@ -10,8 +10,8 @@
 
 #include "src/stdlib/abort.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, abort, ()) { __builtin_trap(); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/bsearch.cpp b/libc/src/stdlib/bsearch.cpp
index 4292d6b6fe046..5dea7d5da239b 100644
--- a/libc/src/stdlib/bsearch.cpp
+++ b/libc/src/stdlib/bsearch.cpp
@@ -11,7 +11,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, bsearch,
                    (const void *key, const void *array, size_t array_size,
@@ -44,4 +44,4 @@ LLVM_LIBC_FUNCTION(void *, bsearch,
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/bsearch.h b/libc/src/stdlib/bsearch.h
index 3590198ba5570..da5838a7d92f6 100644
--- a/libc/src/stdlib/bsearch.h
+++ b/libc/src/stdlib/bsearch.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *bsearch(const void *key, const void *array, size_t array_size,
               size_t elem_size, int (*compare)(const void *, const void *));
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //LLVM_LIBC_SRC_STDLIB_BSEARCH_H
diff --git a/libc/src/stdlib/calloc.h b/libc/src/stdlib/calloc.h
index bdb025b9d0d1c..f2c71082c69f4 100644
--- a/libc/src/stdlib/calloc.h
+++ b/libc/src/stdlib/calloc.h
@@ -11,10 +11,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_CALLOC_H
 #define LLVM_LIBC_SRC_STDLIB_CALLOC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *calloc(size_t num, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_CALLOC_H
diff --git a/libc/src/stdlib/div.cpp b/libc/src/stdlib/div.cpp
index ee7c335bdb7fd..d87c5f3c31fb8 100644
--- a/libc/src/stdlib/div.cpp
+++ b/libc/src/stdlib/div.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(div_t, div, (int x, int y)) {
   div_t res;
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(div_t, div, (int x, int y)) {
   return res;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/div.h b/libc/src/stdlib/div.h
index 3a6853f7c95f5..a647ed1131056 100644
--- a/libc/src/stdlib/div.h
+++ b/libc/src/stdlib/div.h
@@ -11,10 +11,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 div_t div(int x, int y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_DIV_H
diff --git a/libc/src/stdlib/exit.cpp b/libc/src/stdlib/exit.cpp
index 1afeec5a460da..1573f3d22eed3 100644
--- a/libc/src/stdlib/exit.cpp
+++ b/libc/src/stdlib/exit.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" void __cxa_finalize(void *);
 
@@ -19,4 +19,4 @@ extern "C" void __cxa_finalize(void *);
   internal::exit(status);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/exit.h b/libc/src/stdlib/exit.h
index b13573547fbf8..4c7f63feb27bc 100644
--- a/libc/src/stdlib/exit.h
+++ b/libc/src/stdlib/exit.h
@@ -11,10 +11,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void exit(int status);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_EXIT_H
diff --git a/libc/src/stdlib/exit_handler.cpp b/libc/src/stdlib/exit_handler.cpp
index ed41247e4a31d..8d15ebb756e34 100644
--- a/libc/src/stdlib/exit_handler.cpp
+++ b/libc/src/stdlib/exit_handler.cpp
@@ -9,7 +9,7 @@
 #include "src/stdlib/exit_handler.h"
 #include "src/__support/CPP/mutex.h" // lock_guard
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constinit ExitCallbackList at_quick_exit_callbacks;
 constinit ExitCallbackList atexit_callbacks;
@@ -39,4 +39,4 @@ int add_atexit_unit(ExitCallbackList &callbacks, const AtExitUnit &unit) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/exit_handler.h b/libc/src/stdlib/exit_handler.h
index 8494c2f2e526e..30f6797e9c4ff 100644
--- a/libc/src/stdlib/exit_handler.h
+++ b/libc/src/stdlib/exit_handler.h
@@ -15,7 +15,7 @@
 #include "src/__support/fixedvector.h"
 #include "src/__support/threads/mutex.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using AtExitCallback = void(void *);
 using StdCAtExitCallback = void(void);
@@ -48,6 +48,6 @@ void call_exit_callbacks(ExitCallbackList &callbacks);
 
 int add_atexit_unit(ExitCallbackList &callbacks, const AtExitUnit &unit);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_EXIT_HANDLER_H
diff --git a/libc/src/stdlib/free.h b/libc/src/stdlib/free.h
index b3970fd967740..5500b53b81ad5 100644
--- a/libc/src/stdlib/free.h
+++ b/libc/src/stdlib/free.h
@@ -11,10 +11,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_FREE_H
 #define LLVM_LIBC_SRC_STDLIB_FREE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void free(void *ptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_FREE_H
diff --git a/libc/src/stdlib/freelist_malloc.cpp b/libc/src/stdlib/freelist_malloc.cpp
index 684c447a204e4..4f7a905acfa58 100644
--- a/libc/src/stdlib/freelist_malloc.cpp
+++ b/libc/src/stdlib/freelist_malloc.cpp
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 #ifdef LIBC_FREELIST_MALLOC_SIZE
@@ -47,4 +47,4 @@ LLVM_LIBC_FUNCTION(void *, aligned_alloc, (size_t alignment, size_t size)) {
   return freelist_heap->aligned_allocate(alignment, size);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/getenv.cpp b/libc/src/stdlib/getenv.cpp
index 7a8eb1943c0a9..b84119aa1a6fd 100644
--- a/libc/src/stdlib/getenv.cpp
+++ b/libc/src/stdlib/getenv.cpp
@@ -13,7 +13,7 @@
 
 #include <stddef.h> // For size_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, getenv, (const char *name)) {
   char **env_ptr = reinterpret_cast<char **>(LIBC_NAMESPACE::app.env_ptr);
@@ -41,4 +41,4 @@ LLVM_LIBC_FUNCTION(char *, getenv, (const char *name)) {
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/getenv.h b/libc/src/stdlib/getenv.h
index adb386b18ca81..ee2f089b396a1 100644
--- a/libc/src/stdlib/getenv.h
+++ b/libc/src/stdlib/getenv.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_GETENV_H
 #define LLVM_LIBC_SRC_STDLIB_GETENV_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *getenv(const char *name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_GETENV_H
diff --git a/libc/src/stdlib/gpu/abort.cpp b/libc/src/stdlib/gpu/abort.cpp
index f3b052be6d24d..9ca81c203833c 100644
--- a/libc/src/stdlib/gpu/abort.cpp
+++ b/libc/src/stdlib/gpu/abort.cpp
@@ -11,7 +11,7 @@
 
 #include "src/stdlib/abort.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, abort, ()) {
   // We want to first make sure the server is listening before we abort.
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(void, abort, ()) {
   gpu::end_program();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/gpu/free.cpp b/libc/src/stdlib/gpu/free.cpp
index fb5703b78ae6c..9135335958115 100644
--- a/libc/src/stdlib/gpu/free.cpp
+++ b/libc/src/stdlib/gpu/free.cpp
@@ -11,8 +11,8 @@
 #include "src/__support/GPU/allocator.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, free, (void *ptr)) { gpu::deallocate(ptr); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/gpu/malloc.cpp b/libc/src/stdlib/gpu/malloc.cpp
index 93558231d0811..e6486eaed0e69 100644
--- a/libc/src/stdlib/gpu/malloc.cpp
+++ b/libc/src/stdlib/gpu/malloc.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/GPU/allocator.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, malloc, (size_t size)) {
   return gpu::allocate(size);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/labs.cpp b/libc/src/stdlib/labs.cpp
index d9237fad910c5..facf8e6cdee34 100644
--- a/libc/src/stdlib/labs.cpp
+++ b/libc/src/stdlib/labs.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, labs, (long n)) { return integer_abs(n); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/labs.h b/libc/src/stdlib/labs.h
index b7af538cd52c0..9a7f896dbf4a6 100644
--- a/libc/src/stdlib/labs.h
+++ b/libc/src/stdlib/labs.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LABS_H
 #define LLVM_LIBC_SRC_STDLIB_LABS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long labs(long n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_LABS_H
diff --git a/libc/src/stdlib/ldiv.cpp b/libc/src/stdlib/ldiv.cpp
index 57e2250063375..ae0988533d7b3 100644
--- a/libc/src/stdlib/ldiv.cpp
+++ b/libc/src/stdlib/ldiv.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ldiv_t, ldiv, (long x, long y)) {
   ldiv_t res;
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(ldiv_t, ldiv, (long x, long y)) {
   return res;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/ldiv.h b/libc/src/stdlib/ldiv.h
index 0f0fafa7498b5..fa30fb5a3b123 100644
--- a/libc/src/stdlib/ldiv.h
+++ b/libc/src/stdlib/ldiv.h
@@ -11,10 +11,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ldiv_t ldiv(long x, long y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_LDIV_H
diff --git a/libc/src/stdlib/linux/abort.cpp b/libc/src/stdlib/linux/abort.cpp
index 59feec3e5a06d..93e0de042a7ca 100644
--- a/libc/src/stdlib/linux/abort.cpp
+++ b/libc/src/stdlib/linux/abort.cpp
@@ -12,7 +12,7 @@
 
 #include "src/stdlib/abort.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, abort, ()) {
   // TODO: When sigprocmask and sigaction land:
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(void, abort, ()) {
   LIBC_NAMESPACE::_Exit(127);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/llabs.cpp b/libc/src/stdlib/llabs.cpp
index f42c2b8a993dd..86faa46dfed4d 100644
--- a/libc/src/stdlib/llabs.cpp
+++ b/libc/src/stdlib/llabs.cpp
@@ -10,8 +10,8 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, llabs, (long long n)) { return integer_abs(n); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/llabs.h b/libc/src/stdlib/llabs.h
index 953fe1709c1a7..2a6fca5e79fdd 100644
--- a/libc/src/stdlib/llabs.h
+++ b/libc/src/stdlib/llabs.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LLABS_H
 #define LLVM_LIBC_SRC_STDLIB_LLABS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long llabs(long long n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_LLABS_H
diff --git a/libc/src/stdlib/lldiv.cpp b/libc/src/stdlib/lldiv.cpp
index ff2fdf8eff33d..dba564fdd27be 100644
--- a/libc/src/stdlib/lldiv.cpp
+++ b/libc/src/stdlib/lldiv.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(lldiv_t, lldiv, (long long x, long long y)) {
   lldiv_t res;
@@ -18,4 +18,4 @@ LLVM_LIBC_FUNCTION(lldiv_t, lldiv, (long long x, long long y)) {
   return res;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/lldiv.h b/libc/src/stdlib/lldiv.h
index ee7f4d37c7469..2f056dd4584a4 100644
--- a/libc/src/stdlib/lldiv.h
+++ b/libc/src/stdlib/lldiv.h
@@ -10,10 +10,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 lldiv_t lldiv(long long x, long long y);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_LLDIV_H
diff --git a/libc/src/stdlib/malloc.h b/libc/src/stdlib/malloc.h
index 514e2b133c7b1..6eaf2d99dc63c 100644
--- a/libc/src/stdlib/malloc.h
+++ b/libc/src/stdlib/malloc.h
@@ -11,10 +11,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_MALLOC_H
 #define LLVM_LIBC_SRC_STDLIB_MALLOC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *malloc(size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_MALLOC_H
diff --git a/libc/src/stdlib/qsort.cpp b/libc/src/stdlib/qsort.cpp
index f040f375ea59e..2495641a40502 100644
--- a/libc/src/stdlib/qsort.cpp
+++ b/libc/src/stdlib/qsort.cpp
@@ -12,7 +12,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, qsort,
                    (void *array, size_t array_size, size_t elem_size,
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(void, qsort,
                                       array_size, elem_size, c));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/qsort.h b/libc/src/stdlib/qsort.h
index 5c78481ad7013..483463088a8ae 100644
--- a/libc/src/stdlib/qsort.h
+++ b/libc/src/stdlib/qsort.h
@@ -11,11 +11,11 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void qsort(void *array, size_t array_size, size_t elem_size,
            int (*compare)(const void *, const void *));
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_QSORT_H
diff --git a/libc/src/stdlib/qsort_r.cpp b/libc/src/stdlib/qsort_r.cpp
index 758991848eff8..04e0600123c63 100644
--- a/libc/src/stdlib/qsort_r.cpp
+++ b/libc/src/stdlib/qsort_r.cpp
@@ -12,7 +12,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, qsort_r,
                    (void *array, size_t array_size, size_t elem_size,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(void, qsort_r,
                                       array_size, elem_size, c));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/qsort_r.h b/libc/src/stdlib/qsort_r.h
index fab0576ed803f..749343bac3e63 100644
--- a/libc/src/stdlib/qsort_r.h
+++ b/libc/src/stdlib/qsort_r.h
@@ -11,7 +11,7 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This qsort_r uses the glibc argument ordering instead of the BSD argument
 // ordering (which puts arg before the function pointer). Putting arg after the
@@ -21,6 +21,6 @@ namespace LIBC_NAMESPACE {
 void qsort_r(void *array, size_t array_size, size_t elem_size,
              int (*compare)(const void *, const void *, void *), void *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_QSORT_R_H
diff --git a/libc/src/stdlib/qsort_util.h b/libc/src/stdlib/qsort_util.h
index f4b8094d05a9a..3f69353ea23cb 100644
--- a/libc/src/stdlib/qsort_util.h
+++ b/libc/src/stdlib/qsort_util.h
@@ -13,7 +13,8 @@
 #include <stdint.h>
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 // A simple quicksort implementation using the Hoare partition scheme.
 
@@ -147,6 +148,7 @@ LIBC_INLINE void quicksort(const Array &array) {
   quicksort(array.make_array(split_index, array.size() - split_index));
 }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_QSORT_UTIL_H
diff --git a/libc/src/stdlib/quick_exit.cpp b/libc/src/stdlib/quick_exit.cpp
index 38f0a3db3e2cf..899b739114aa7 100644
--- a/libc/src/stdlib/quick_exit.cpp
+++ b/libc/src/stdlib/quick_exit.cpp
@@ -12,7 +12,7 @@
 #include "src/stdlib/exit_handler.h"
 
 // extern "C" void __cxa_finalize(void *);
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern ExitCallbackList at_quick_exit_callbacks;
 
@@ -21,4 +21,4 @@ extern ExitCallbackList at_quick_exit_callbacks;
   internal::exit(status);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/quick_exit.h b/libc/src/stdlib/quick_exit.h
index 9a3c20ccd9b17..1b7a35d5f3358 100644
--- a/libc/src/stdlib/quick_exit.h
+++ b/libc/src/stdlib/quick_exit.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_QUICK_EXIT_H
 #define LLVM_LIBC_SRC_STDLIB_QUICK_EXIT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void quick_exit(int status);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_QUICK_EXIT_H
diff --git a/libc/src/stdlib/rand.cpp b/libc/src/stdlib/rand.cpp
index ff3875c2f6959..62ad727f3b859 100644
--- a/libc/src/stdlib/rand.cpp
+++ b/libc/src/stdlib/rand.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/threads/sleep.h"
 #include "src/stdlib/rand_util.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // An implementation of the xorshift64star pseudo random number generator. This
 // is a good general purpose generator for most non-cryptographics applications.
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, rand, (void)) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/rand.h b/libc/src/stdlib/rand.h
index 72bb147849851..71743c28b0ad3 100644
--- a/libc/src/stdlib/rand.h
+++ b/libc/src/stdlib/rand.h
@@ -11,10 +11,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int rand(void);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_RAND_H
diff --git a/libc/src/stdlib/rand_util.cpp b/libc/src/stdlib/rand_util.cpp
index ff3478db70003..65e6bfb650f63 100644
--- a/libc/src/stdlib/rand_util.cpp
+++ b/libc/src/stdlib/rand_util.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // C standard 7.10p2: If 'rand' is called before 'srand' it is to
 // proceed as if the 'srand' function was called with a value of '1'.
 cpp::Atomic<unsigned long> rand_next = 1;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/rand_util.h b/libc/src/stdlib/rand_util.h
index 5d7febf8248d8..7a556da731d70 100644
--- a/libc/src/stdlib/rand_util.h
+++ b/libc/src/stdlib/rand_util.h
@@ -12,13 +12,13 @@
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/macros/attributes.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The ISO C standard does not explicitly require thread-safe behavior for the
 // generic `rand()` function. Some implementations expect it however, so we
 // provide it here.
 extern cpp::Atomic<unsigned long> rand_next;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_RAND_UTIL_H
diff --git a/libc/src/stdlib/realloc.h b/libc/src/stdlib/realloc.h
index 6e025faa7a8ce..a89f96fd147ca 100644
--- a/libc/src/stdlib/realloc.h
+++ b/libc/src/stdlib/realloc.h
@@ -11,10 +11,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_REALLOC_H
 #define LLVM_LIBC_SRC_STDLIB_REALLOC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *realloc(void *ptr, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_REALLOC_H
diff --git a/libc/src/stdlib/srand.cpp b/libc/src/stdlib/srand.cpp
index 21166c7a6754e..5cb177c3ca36b 100644
--- a/libc/src/stdlib/srand.cpp
+++ b/libc/src/stdlib/srand.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/stdlib/rand_util.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, srand, (unsigned int seed)) {
   rand_next.store(seed, cpp::MemoryOrder::RELAXED);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/srand.h b/libc/src/stdlib/srand.h
index 1bcf8de78c0a4..2417c3c4a5133 100644
--- a/libc/src/stdlib/srand.h
+++ b/libc/src/stdlib/srand.h
@@ -11,10 +11,10 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void srand(unsigned int seed);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_SRAND_H
diff --git a/libc/src/stdlib/str_from_util.h b/libc/src/stdlib/str_from_util.h
index 58afa98afc08e..777244033bad4 100644
--- a/libc/src/stdlib/str_from_util.h
+++ b/libc/src/stdlib/str_from_util.h
@@ -25,7 +25,8 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE::internal {
+namespace LIBC_NAMESPACE_DECL {
+namespace internal {
 
 template <typename T>
 using storage_type = typename fputil::FPBits<T>::StorageType;
@@ -133,6 +134,7 @@ int strfromfloat_convert(printf_core::Writer *writer,
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE::internal
+} // namespace internal
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRFROM_UTIL_H
diff --git a/libc/src/stdlib/strfromd.cpp b/libc/src/stdlib/strfromd.cpp
index 329f6fdcaff73..4d299961da9c3 100644
--- a/libc/src/stdlib/strfromd.cpp
+++ b/libc/src/stdlib/strfromd.cpp
@@ -9,7 +9,7 @@
 #include "src/stdlib/strfromd.h"
 #include "src/stdlib/str_from_util.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strfromd,
                    (char *__restrict s, size_t n, const char *__restrict format,
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(int, strfromd,
   return writer.get_chars_written();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strfromd.h b/libc/src/stdlib/strfromd.h
index d2c3fefb6300d..88e5873f90d5e 100644
--- a/libc/src/stdlib/strfromd.h
+++ b/libc/src/stdlib/strfromd.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strfromd(char *__restrict s, size_t n, const char *__restrict format,
              double fp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRFROMD_H
diff --git a/libc/src/stdlib/strfromf.cpp b/libc/src/stdlib/strfromf.cpp
index 80e1d74797c80..174843df7e6fe 100644
--- a/libc/src/stdlib/strfromf.cpp
+++ b/libc/src/stdlib/strfromf.cpp
@@ -9,7 +9,7 @@
 #include "src/stdlib/strfromf.h"
 #include "src/stdlib/str_from_util.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strfromf,
                    (char *__restrict s, size_t n, const char *__restrict format,
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(int, strfromf,
   return writer.get_chars_written();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strfromf.h b/libc/src/stdlib/strfromf.h
index 492c2c33cf080..8b9dc065cf83d 100644
--- a/libc/src/stdlib/strfromf.h
+++ b/libc/src/stdlib/strfromf.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strfromf(char *__restrict s, size_t n, const char *__restrict format,
              float fp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRFROMF_H
diff --git a/libc/src/stdlib/strfroml.cpp b/libc/src/stdlib/strfroml.cpp
index f0bc9354c7ad7..a2ded7044c6ae 100644
--- a/libc/src/stdlib/strfroml.cpp
+++ b/libc/src/stdlib/strfroml.cpp
@@ -9,7 +9,7 @@
 #include "src/stdlib/strfroml.h"
 #include "src/stdlib/str_from_util.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strfroml,
                    (char *__restrict s, size_t n, const char *__restrict format,
@@ -41,4 +41,4 @@ LLVM_LIBC_FUNCTION(int, strfroml,
   return writer.get_chars_written();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strfroml.h b/libc/src/stdlib/strfroml.h
index e99d035e4da60..1127c0d9c4b5c 100644
--- a/libc/src/stdlib/strfroml.h
+++ b/libc/src/stdlib/strfroml.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strfroml(char *__restrict s, size_t n, const char *__restrict format,
              long double fp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRFROML_H
diff --git a/libc/src/stdlib/strtod.cpp b/libc/src/stdlib/strtod.cpp
index 461f7feb5bf63..0d80907d8fce2 100644
--- a/libc/src/stdlib/strtod.cpp
+++ b/libc/src/stdlib/strtod.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, strtod,
                    (const char *__restrict str, char **__restrict str_end)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(double, strtod,
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtod.h b/libc/src/stdlib/strtod.h
index 5efad845fdee3..48bcb578ac8ea 100644
--- a/libc/src/stdlib/strtod.h
+++ b/libc/src/stdlib/strtod.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOD_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOD_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double strtod(const char *__restrict str, char **__restrict str_end);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOD_H
diff --git a/libc/src/stdlib/strtof.cpp b/libc/src/stdlib/strtof.cpp
index 554d096879c59..f9a2035fc11bc 100644
--- a/libc/src/stdlib/strtof.cpp
+++ b/libc/src/stdlib/strtof.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(float, strtof,
                    (const char *__restrict str, char **__restrict str_end)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(float, strtof,
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtof.h b/libc/src/stdlib/strtof.h
index d800b2233cf8e..1077c20c74a0d 100644
--- a/libc/src/stdlib/strtof.h
+++ b/libc/src/stdlib/strtof.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOF_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 float strtof(const char *__restrict str, char **__restrict str_end);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOF_H
diff --git a/libc/src/stdlib/strtol.cpp b/libc/src/stdlib/strtol.cpp
index e9bedf2371668..11b8c716ec12a 100644
--- a/libc/src/stdlib/strtol.cpp
+++ b/libc/src/stdlib/strtol.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, strtol,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(long, strtol,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtol.h b/libc/src/stdlib/strtol.h
index c46c650dc5b3e..20e351ec5b3c8 100644
--- a/libc/src/stdlib/strtol.h
+++ b/libc/src/stdlib/strtol.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long strtol(const char *__restrict str, char **__restrict str_end, int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOL_H
diff --git a/libc/src/stdlib/strtold.cpp b/libc/src/stdlib/strtold.cpp
index 9c3e1db900670..399c9212df051 100644
--- a/libc/src/stdlib/strtold.cpp
+++ b/libc/src/stdlib/strtold.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long double, strtold,
                    (const char *__restrict str, char **__restrict str_end)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(long double, strtold,
   return result.value;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtold.h b/libc/src/stdlib/strtold.h
index 6a0b5d450b58b..d923ab520cf8c 100644
--- a/libc/src/stdlib/strtold.h
+++ b/libc/src/stdlib/strtold.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOLD_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOLD_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long double strtold(const char *__restrict str, char **__restrict str_end);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOLD_H
diff --git a/libc/src/stdlib/strtoll.cpp b/libc/src/stdlib/strtoll.cpp
index 99e82056bcb5b..574cffd36dc6a 100644
--- a/libc/src/stdlib/strtoll.cpp
+++ b/libc/src/stdlib/strtoll.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long long, strtoll,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(long long, strtoll,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtoll.h b/libc/src/stdlib/strtoll.h
index d699785bfd710..c4f1c36132083 100644
--- a/libc/src/stdlib/strtoll.h
+++ b/libc/src/stdlib/strtoll.h
@@ -9,11 +9,11 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOLL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOLL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long long strtoll(const char *__restrict str, char **__restrict str_end,
                   int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOLL_H
diff --git a/libc/src/stdlib/strtoul.cpp b/libc/src/stdlib/strtoul.cpp
index f50ed7ea2dc36..80c26cd50baf5 100644
--- a/libc/src/stdlib/strtoul.cpp
+++ b/libc/src/stdlib/strtoul.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long, strtoul,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(unsigned long, strtoul,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtoul.h b/libc/src/stdlib/strtoul.h
index af839928d1b0c..a30a7dedde68a 100644
--- a/libc/src/stdlib/strtoul.h
+++ b/libc/src/stdlib/strtoul.h
@@ -9,11 +9,11 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOUL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOUL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long strtoul(const char *__restrict str, char **__restrict str_end,
                       int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOUL_H
diff --git a/libc/src/stdlib/strtoull.cpp b/libc/src/stdlib/strtoull.cpp
index de3a0d04b2cb1..1b2407f6db78d 100644
--- a/libc/src/stdlib/strtoull.cpp
+++ b/libc/src/stdlib/strtoull.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(unsigned long long, strtoull,
                    (const char *__restrict str, char **__restrict str_end,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(unsigned long long, strtoull,
   return result;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/stdlib/strtoull.h b/libc/src/stdlib/strtoull.h
index 47ed1019834ce..f7b0b90f2b93b 100644
--- a/libc/src/stdlib/strtoull.h
+++ b/libc/src/stdlib/strtoull.h
@@ -9,11 +9,11 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOULL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOULL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long strtoull(const char *__restrict str,
                             char **__restrict str_end, int base);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STDLIB_STRTOULL_H
diff --git a/libc/src/string/allocating_string_utils.h b/libc/src/string/allocating_string_utils.h
index 4112b7931d103..b3a8663c2f477 100644
--- a/libc/src/string/allocating_string_utils.h
+++ b/libc/src/string/allocating_string_utils.h
@@ -17,7 +17,7 @@
 
 #include <stddef.h> // For size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 LIBC_INLINE cpp::optional<char *> strdup(const char *src) {
@@ -33,6 +33,6 @@ LIBC_INLINE cpp::optional<char *> strdup(const char *src) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_ALLOCATING_STRING_UTILS_H
diff --git a/libc/src/string/bcmp.cpp b/libc/src/string/bcmp.cpp
index f18fa0c883eec..5e6847b5ca9d4 100644
--- a/libc/src/string/bcmp.cpp
+++ b/libc/src/string/bcmp.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_bcmp.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, bcmp,
                    (const void *lhs, const void *rhs, size_t count)) {
   return inline_bcmp(lhs, rhs, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/bcmp.h b/libc/src/string/bcmp.h
index 711aecf083501..e6abb3669c554 100644
--- a/libc/src/string/bcmp.h
+++ b/libc/src/string/bcmp.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int bcmp(const void *lhs, const void *rhs, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_BCMP_H
diff --git a/libc/src/string/bcopy.cpp b/libc/src/string/bcopy.cpp
index 9399d332dff7f..3b559385b18fd 100644
--- a/libc/src/string/bcopy.cpp
+++ b/libc/src/string/bcopy.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_memmove.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, bcopy, (const void *src, void *dst, size_t count)) {
   return inline_memmove(dst, src, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/bcopy.h b/libc/src/string/bcopy.h
index ec4d8cde1c6cb..7bac2106403cf 100644
--- a/libc/src/string/bcopy.h
+++ b/libc/src/string/bcopy.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void bcopy(const void *src, void *dest, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_BCOPY_H
diff --git a/libc/src/string/bzero.cpp b/libc/src/string/bzero.cpp
index c833cd8c2116d..3ea889e51052a 100644
--- a/libc/src/string/bzero.cpp
+++ b/libc/src/string/bzero.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_bzero.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, bzero, (void *ptr, size_t count)) {
   inline_bzero(reinterpret_cast<char *>(ptr), count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/bzero.h b/libc/src/string/bzero.h
index 3f52fe2128052..6054a879fbe71 100644
--- a/libc/src/string/bzero.h
+++ b/libc/src/string/bzero.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void bzero(void *ptr, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_BZERO_H
diff --git a/libc/src/string/index.cpp b/libc/src/string/index.cpp
index 4b2a3527d0ad8..7d202d782eeb2 100644
--- a/libc/src/string/index.cpp
+++ b/libc/src/string/index.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, index, (const char *src, int c)) {
   return internal::strchr_implementation(src, c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/index.h b/libc/src/string/index.h
index 993f060b6ac86..f00f7f961049c 100644
--- a/libc/src/string/index.h
+++ b/libc/src/string/index.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_INDEX_H
 #define LLVM_LIBC_SRC_STRING_INDEX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *index(const char *src, int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_INDEX_H
diff --git a/libc/src/string/memccpy.cpp b/libc/src/string/memccpy.cpp
index 200384e9f6190..1106902179332 100644
--- a/libc/src/string/memccpy.cpp
+++ b/libc/src/string/memccpy.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include <stddef.h> // For size_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memccpy,
                    (void *__restrict dest, const void *__restrict src, int c,
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(void *, memccpy,
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memccpy.h b/libc/src/string/memccpy.h
index ce12dfbddc289..c4b285839aba3 100644
--- a/libc/src/string/memccpy.h
+++ b/libc/src/string/memccpy.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memccpy(void *__restrict dest, const void *__restrict src, int c,
               size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMCCPY_H
diff --git a/libc/src/string/memchr.cpp b/libc/src/string/memchr.cpp
index 918bdd957b413..9e4eb54adbb3a 100644
--- a/libc/src/string/memchr.cpp
+++ b/libc/src/string/memchr.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/common.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Look at performance benefits of comparing words.
 LLVM_LIBC_FUNCTION(void *, memchr, (const void *src, int c, size_t n)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void *, memchr, (const void *src, int c, size_t n)) {
       static_cast<unsigned char>(c), n);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memchr.h b/libc/src/string/memchr.h
index b84c8317be55e..ddd727fcdb099 100644
--- a/libc/src/string/memchr.h
+++ b/libc/src/string/memchr.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memchr(const void *src, int c, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMCHR_H
diff --git a/libc/src/string/memcmp.cpp b/libc/src/string/memcmp.cpp
index adfbc1eca326a..8512adef909d1 100644
--- a/libc/src/string/memcmp.cpp
+++ b/libc/src/string/memcmp.cpp
@@ -11,11 +11,11 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, memcmp,
                    (const void *lhs, const void *rhs, size_t count)) {
   return inline_memcmp(lhs, rhs, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memcmp.h b/libc/src/string/memcmp.h
index f2c1dd3541cb2..f8c045366e881 100644
--- a/libc/src/string/memcmp.h
+++ b/libc/src/string/memcmp.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int memcmp(const void *lhs, const void *rhs, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMCMP_H
diff --git a/libc/src/string/memcpy.cpp b/libc/src/string/memcpy.cpp
index e6cf978dc3bc6..e1c52e3d10473 100644
--- a/libc/src/string/memcpy.cpp
+++ b/libc/src/string/memcpy.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memcpy,
                    (void *__restrict dst, const void *__restrict src,
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(void *, memcpy,
   return dst;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memcpy.h b/libc/src/string/memcpy.h
index ea34a2d3d8754..04bfdf7e89eaa 100644
--- a/libc/src/string/memcpy.h
+++ b/libc/src/string/memcpy.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memcpy(void *__restrict, const void *__restrict, size_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMCPY_H
diff --git a/libc/src/string/memmem.cpp b/libc/src/string/memmem.cpp
index c695a8d4b8b49..ede9f3a1e0014 100644
--- a/libc/src/string/memmem.cpp
+++ b/libc/src/string/memmem.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_memmem.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memmem,
                    (const void *haystack, size_t haystack_len,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void *, memmem,
   return inline_memmem(haystack, haystack_len, needle, needle_len, COMP);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memmem.h b/libc/src/string/memmem.h
index b1f84c8cf3234..6450e4b2e20b5 100644
--- a/libc/src/string/memmem.h
+++ b/libc/src/string/memmem.h
@@ -11,11 +11,11 @@
 
 #include <stddef.h> // For size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memmem(const void *haystack, size_t haystack_len, const void *needle,
              size_t needle_len);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMMEM_H
diff --git a/libc/src/string/memmove.cpp b/libc/src/string/memmove.cpp
index 19e38a3c8bdbe..2c864278c6f14 100644
--- a/libc/src/string/memmove.cpp
+++ b/libc/src/string/memmove.cpp
@@ -11,7 +11,7 @@
 #include "src/string/memory_utils/inline_memmove.h"
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memmove,
                    (void *dst, const void *src, size_t count)) {
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(void *, memmove,
   return dst;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memmove.h b/libc/src/string/memmove.h
index 4d78aadbd6620..1bf6db33f27cd 100644
--- a/libc/src/string/memmove.h
+++ b/libc/src/string/memmove.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memmove(void *dst, const void *src, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMMOVE_H
diff --git a/libc/src/string/memory_utils/aarch64/inline_bcmp.h b/libc/src/string/memory_utils/aarch64/inline_bcmp.h
index b80b578187634..12ea15dfdc638 100644
--- a/libc/src/string/memory_utils/aarch64/inline_bcmp.h
+++ b/libc/src/string/memory_utils/aarch64/inline_bcmp.h
@@ -16,7 +16,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE BcmpReturnType inline_bcmp_aarch64(CPtr p1,
                                                                 CPtr p2,
@@ -65,6 +65,6 @@ namespace LIBC_NAMESPACE {
   return aarch64::Bcmp<32>::loop_and_tail(p1, p2, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_BCMP_H
diff --git a/libc/src/string/memory_utils/aarch64/inline_memcmp.h b/libc/src/string/memory_utils/aarch64/inline_memcmp.h
index d0e0bd7cf025f..84f5a41230798 100644
--- a/libc/src/string/memory_utils/aarch64/inline_memcmp.h
+++ b/libc/src/string/memory_utils/aarch64/inline_memcmp.h
@@ -14,7 +14,7 @@
 #include "src/string/memory_utils/op_generic.h"
 #include "src/string/memory_utils/utils.h" // MemcmpReturnType
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE MemcmpReturnType
 inline_memcmp_generic_gt16(CPtr p1, CPtr p2, size_t count) {
@@ -66,6 +66,6 @@ LIBC_INLINE MemcmpReturnType inline_memcmp_aarch64(CPtr p1, CPtr p2,
   else
     return inline_memcmp_generic_gt16(p1, p2, count);
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMCMP_H
diff --git a/libc/src/string/memory_utils/aarch64/inline_memcpy.h b/libc/src/string/memory_utils/aarch64/inline_memcpy.h
index ea1a03f4fa0bf..2b34b675d8af2 100644
--- a/libc/src/string/memory_utils/aarch64/inline_memcpy.h
+++ b/libc/src/string/memory_utils/aarch64/inline_memcpy.h
@@ -14,7 +14,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE void
 inline_memcpy_aarch64(Ptr __restrict dst, CPtr __restrict src, size_t count) {
@@ -43,6 +43,6 @@ inline_memcpy_aarch64(Ptr __restrict dst, CPtr __restrict src, size_t count) {
   return builtin::Memcpy<64>::loop_and_tail(dst, src, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_MEMCPY_H
diff --git a/libc/src/string/memory_utils/aarch64/inline_memmove.h b/libc/src/string/memory_utils/aarch64/inline_memmove.h
index ca28655c91682..def82373fbfbe 100644
--- a/libc/src/string/memory_utils/aarch64/inline_memmove.h
+++ b/libc/src/string/memory_utils/aarch64/inline_memmove.h
@@ -16,7 +16,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE void inline_memmove_aarch64(Ptr dst, CPtr src, size_t count) {
   static_assert(aarch64::kNeon, "aarch64 supports vector types");
@@ -48,6 +48,6 @@ LIBC_INLINE void inline_memmove_aarch64(Ptr dst, CPtr src, size_t count) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_MEMMOVE_H
diff --git a/libc/src/string/memory_utils/aarch64/inline_memset.h b/libc/src/string/memory_utils/aarch64/inline_memset.h
index 91512acce6fc0..6ec17e9cf6cec 100644
--- a/libc/src/string/memory_utils/aarch64/inline_memset.h
+++ b/libc/src/string/memory_utils/aarch64/inline_memset.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE static void
 inline_memset_aarch64(Ptr dst, uint8_t value, size_t count) {
@@ -56,6 +56,6 @@ inline_memset_aarch64(Ptr dst, uint8_t value, size_t count) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_MEMSET_H
diff --git a/libc/src/string/memory_utils/generic/aligned_access.h b/libc/src/string/memory_utils/generic/aligned_access.h
index b6ece816756c5..7e480b8a1c2bb 100644
--- a/libc/src/string/memory_utils/generic/aligned_access.h
+++ b/libc/src/string/memory_utils/generic/aligned_access.h
@@ -20,7 +20,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE uint32_t load32_aligned(CPtr ptr, size_t offset,
                                                      size_t alignment) {
@@ -202,6 +202,6 @@ inline_memcmp_aligned_access_64bit(CPtr p1, CPtr p2, size_t count) {
   return inline_memcmp_byte_per_byte(p1, p2, count, offset);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_GENERIC_ALIGNED_ACCESS_H
diff --git a/libc/src/string/memory_utils/generic/builtin.h b/libc/src/string/memory_utils/generic/builtin.h
index ba4f4b8984088..c0aab33f2a1e3 100644
--- a/libc/src/string/memory_utils/generic/builtin.h
+++ b/libc/src/string/memory_utils/generic/builtin.h
@@ -14,7 +14,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if !__has_builtin(__builtin_memcpy) || !__has_builtin(__builtin_memset) ||    \
     !__has_builtin(__builtin_memmove)
@@ -36,6 +36,6 @@ inline_memset_builtin(Ptr dst, uint8_t value, size_t count, size_t offset = 0) {
   __builtin_memset(dst + offset, value, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_GENERIC_BUILTIN_H
diff --git a/libc/src/string/memory_utils/generic/byte_per_byte.h b/libc/src/string/memory_utils/generic/byte_per_byte.h
index 9515398794df4..eab5964bfe167 100644
--- a/libc/src/string/memory_utils/generic/byte_per_byte.h
+++ b/libc/src/string/memory_utils/generic/byte_per_byte.h
@@ -18,7 +18,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE void
 inline_memcpy_byte_per_byte(Ptr dst, CPtr src, size_t count,
@@ -73,6 +73,6 @@ inline_memcmp_byte_per_byte(CPtr p1, CPtr p2, size_t count, size_t offset = 0) {
   return MemcmpReturnType::zero();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_GENERIC_BYTE_PER_BYTE_H
diff --git a/libc/src/string/memory_utils/inline_bcmp.h b/libc/src/string/memory_utils/inline_bcmp.h
index 69aa2acf75be4..f135fdf502cff 100644
--- a/libc/src/string/memory_utils/inline_bcmp.h
+++ b/libc/src/string/memory_utils/inline_bcmp.h
@@ -30,7 +30,7 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::flatten]] LIBC_INLINE int inline_bcmp(const void *p1, const void *p2,
                                              size_t count) {
@@ -38,7 +38,7 @@ namespace LIBC_NAMESPACE {
       reinterpret_cast<CPtr>(p1), reinterpret_cast<CPtr>(p2), count));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef LIBC_SRC_STRING_MEMORY_UTILS_BCMP
 
diff --git a/libc/src/string/memory_utils/inline_bzero.h b/libc/src/string/memory_utils/inline_bzero.h
index d760baca9d0f4..401fdd69832a5 100644
--- a/libc/src/string/memory_utils/inline_bzero.h
+++ b/libc/src/string/memory_utils/inline_bzero.h
@@ -14,7 +14,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::flatten]] LIBC_INLINE static void inline_bzero(Ptr dst, size_t count) {
   inline_memset(dst, 0, count);
@@ -24,6 +24,6 @@ namespace LIBC_NAMESPACE {
   inline_bzero(reinterpret_cast<Ptr>(dst), count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_BZERO_H
diff --git a/libc/src/string/memory_utils/inline_memcmp.h b/libc/src/string/memory_utils/inline_memcmp.h
index 1fdc13973c646..82216265c23be 100644
--- a/libc/src/string/memory_utils/inline_memcmp.h
+++ b/libc/src/string/memory_utils/inline_memcmp.h
@@ -31,7 +31,7 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::flatten]] LIBC_INLINE int inline_memcmp(const void *p1, const void *p2,
                                                size_t count) {
@@ -39,7 +39,7 @@ namespace LIBC_NAMESPACE {
       reinterpret_cast<CPtr>(p1), reinterpret_cast<CPtr>(p2), count));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP
 
diff --git a/libc/src/string/memory_utils/inline_memcpy.h b/libc/src/string/memory_utils/inline_memcpy.h
index c88fd55eff645..7a77e77438138 100644
--- a/libc/src/string/memory_utils/inline_memcpy.h
+++ b/libc/src/string/memory_utils/inline_memcpy.h
@@ -38,7 +38,7 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::flatten]] LIBC_INLINE void
 inline_memcpy(void *__restrict dst, const void *__restrict src, size_t count) {
@@ -46,6 +46,6 @@ inline_memcpy(void *__restrict dst, const void *__restrict src, size_t count) {
                                       reinterpret_cast<CPtr>(src), count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMCPY_H
diff --git a/libc/src/string/memory_utils/inline_memmem.h b/libc/src/string/memory_utils/inline_memmem.h
index eaddee57aef54..6f62d4a10e2c7 100644
--- a/libc/src/string/memory_utils/inline_memmem.h
+++ b/libc/src/string/memory_utils/inline_memmem.h
@@ -13,7 +13,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename Comp>
 LIBC_INLINE constexpr static void *
@@ -39,6 +39,6 @@ inline_memmem(const void *haystack, size_t haystack_len, const void *needle,
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMMEM_H
diff --git a/libc/src/string/memory_utils/inline_memmove.h b/libc/src/string/memory_utils/inline_memmove.h
index 3cbc3e0b0a528..54f094c7625e9 100644
--- a/libc/src/string/memory_utils/inline_memmove.h
+++ b/libc/src/string/memory_utils/inline_memmove.h
@@ -42,7 +42,7 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE constexpr bool inline_memmove_no_small_size(void *, const void *,
                                                         size_t) {
@@ -67,6 +67,6 @@ LIBC_INLINE void inline_memmove(void *dst, const void *src, size_t count) {
   inline_memmove_follow_up(dst, src, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif /* LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMMOVE_H */
diff --git a/libc/src/string/memory_utils/inline_memset.h b/libc/src/string/memory_utils/inline_memset.h
index 1c07c1ca4bffc..858e983f00932 100644
--- a/libc/src/string/memory_utils/inline_memset.h
+++ b/libc/src/string/memory_utils/inline_memset.h
@@ -34,13 +34,13 @@
 #error "Unsupported architecture"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE static void inline_memset(void *dst, uint8_t value, size_t count) {
   LIBC_SRC_STRING_MEMORY_UTILS_MEMSET(reinterpret_cast<Ptr>(dst), value, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #undef LIBC_SRC_STRING_MEMORY_UTILS_MEMSET
 
diff --git a/libc/src/string/memory_utils/inline_strcmp.h b/libc/src/string/memory_utils/inline_strcmp.h
index 2bcd56ad3d6b0..3caf52dd1559b 100644
--- a/libc/src/string/memory_utils/inline_strcmp.h
+++ b/libc/src/string/memory_utils/inline_strcmp.h
@@ -11,7 +11,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename Comp>
 LIBC_INLINE constexpr int inline_strcmp(const char *left, const char *right,
@@ -39,6 +39,6 @@ LIBC_INLINE constexpr int inline_strncmp(const char *left, const char *right,
               *reinterpret_cast<const unsigned char *>(right));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRCMP_H
diff --git a/libc/src/string/memory_utils/inline_strstr.h b/libc/src/string/memory_utils/inline_strstr.h
index f0f8e2bbf896a..b71e449219110 100644
--- a/libc/src/string/memory_utils/inline_strstr.h
+++ b/libc/src/string/memory_utils/inline_strstr.h
@@ -13,7 +13,7 @@
 #include "src/string/string_utils.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename Comp>
 LIBC_INLINE constexpr char *inline_strstr(const char *haystack,
@@ -24,6 +24,6 @@ LIBC_INLINE constexpr char *inline_strstr(const char *haystack,
   return static_cast<char *>(result);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRSTR_H
diff --git a/libc/src/string/memory_utils/op_aarch64.h b/libc/src/string/memory_utils/op_aarch64.h
index 6a2013b2a8fae..68c114e313a25 100644
--- a/libc/src/string/memory_utils/op_aarch64.h
+++ b/libc/src/string/memory_utils/op_aarch64.h
@@ -25,7 +25,8 @@
 #include <arm_neon.h>
 #endif //__ARM_NEON
 
-namespace LIBC_NAMESPACE::aarch64 {
+namespace LIBC_NAMESPACE_DECL {
+namespace aarch64 {
 
 LIBC_INLINE_VAR constexpr bool kNeon = LLVM_LIBC_IS_DEFINED(__ARM_NEON);
 
@@ -170,9 +171,11 @@ template <size_t Size> struct Bcmp {
   }
 };
 
-} // namespace LIBC_NAMESPACE::aarch64
+} // namespace aarch64
+} // namespace LIBC_NAMESPACE_DECL
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 ///////////////////////////////////////////////////////////////////////////////
 // Specializations for uint16_t
@@ -264,7 +267,8 @@ LIBC_INLINE MemcmpReturnType cmp<uint8x16x2_t>(CPtr p1, CPtr p2,
   }
   return MemcmpReturnType::zero();
 }
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TARGET_ARCH_IS_AARCH64
 
diff --git a/libc/src/string/memory_utils/op_builtin.h b/libc/src/string/memory_utils/op_builtin.h
index 75dd4de53a470..e317f06b6ac1f 100644
--- a/libc/src/string/memory_utils/op_builtin.h
+++ b/libc/src/string/memory_utils/op_builtin.h
@@ -18,7 +18,8 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/string/memory_utils/utils.h"
 
-namespace LIBC_NAMESPACE::builtin {
+namespace LIBC_NAMESPACE_DECL {
+namespace builtin {
 
 ///////////////////////////////////////////////////////////////////////////////
 // Memcpy
@@ -151,6 +152,7 @@ template <size_t Size> struct Memcmp {
   }
 };
 
-} // namespace LIBC_NAMESPACE::builtin
+} // namespace builtin
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_BUILTIN_H
diff --git a/libc/src/string/memory_utils/op_generic.h b/libc/src/string/memory_utils/op_generic.h
index efaff80b7e4da..54826634f85dd 100644
--- a/libc/src/string/memory_utils/op_generic.h
+++ b/libc/src/string/memory_utils/op_generic.h
@@ -38,14 +38,15 @@ static_assert((UINTPTR_MAX == 4294967295U) ||
                   (UINTPTR_MAX == 18446744073709551615UL),
               "We currently only support 32- or 64-bit platforms");
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 // Compiler types using the vector attributes.
 using generic_v128 = uint8_t __attribute__((__vector_size__(16)));
 using generic_v256 = uint8_t __attribute__((__vector_size__(32)));
 using generic_v512 = uint8_t __attribute__((__vector_size__(64)));
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 // We accept three types of values as elements for generic operations:
 // - scalar : unsigned integral types,
@@ -578,6 +579,7 @@ LIBC_INLINE MemcmpReturnType cmp<uint8_t>(CPtr p1, CPtr p2, size_t offset) {
 template <>
 LIBC_INLINE MemcmpReturnType cmp_neq<uint8_t>(CPtr p1, CPtr p2, size_t offset);
 
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_GENERIC_H
diff --git a/libc/src/string/memory_utils/op_riscv.h b/libc/src/string/memory_utils/op_riscv.h
index 313d55e644cb4..6ba574d53e7b4 100644
--- a/libc/src/string/memory_utils/op_riscv.h
+++ b/libc/src/string/memory_utils/op_riscv.h
@@ -19,7 +19,8 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/op_generic.h"
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 ///////////////////////////////////////////////////////////////////////////////
 // Specializations for uint16_t
@@ -78,7 +79,8 @@ LIBC_INLINE MemcmpReturnType cmp_neq<uint64_t>(CPtr p1, CPtr p2,
   return cmp_neq_uint64_t(a, b);
 }
 
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TARGET_ARCH_IS_ANY_RISCV
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_RISCV_H
diff --git a/libc/src/string/memory_utils/op_x86.h b/libc/src/string/memory_utils/op_x86.h
index 2d9cebbb0496a..ef49564c28c92 100644
--- a/libc/src/string/memory_utils/op_x86.h
+++ b/libc/src/string/memory_utils/op_x86.h
@@ -37,7 +37,8 @@
 #define _mm_movemask_epi8(A) 0
 #endif
 
-namespace LIBC_NAMESPACE::x86 {
+namespace LIBC_NAMESPACE_DECL {
+namespace x86 {
 
 // A set of constants to check compile time features.
 LIBC_INLINE_VAR constexpr bool K_SSE2 = LLVM_LIBC_IS_DEFINED(__SSE2__);
@@ -55,9 +56,11 @@ struct Memcpy {
   }
 };
 
-} // namespace LIBC_NAMESPACE::x86
+} // namespace x86
+} // namespace LIBC_NAMESPACE_DECL
 
-namespace LIBC_NAMESPACE::generic {
+namespace LIBC_NAMESPACE_DECL {
+namespace generic {
 
 ///////////////////////////////////////////////////////////////////////////////
 // Specializations for uint16_t
@@ -314,7 +317,8 @@ LIBC_INLINE MemcmpReturnType cmp_neq<__m512i>(CPtr p1, CPtr p2, size_t offset) {
 
 #pragma GCC diagnostic pop
 
-} // namespace LIBC_NAMESPACE::generic
+} // namespace generic
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TARGET_ARCH_IS_X86
 
diff --git a/libc/src/string/memory_utils/riscv/inline_bcmp.h b/libc/src/string/memory_utils/riscv/inline_bcmp.h
index d66f0a7b225e6..1838e8c4229d9 100644
--- a/libc/src/string/memory_utils/riscv/inline_bcmp.h
+++ b/libc/src/string/memory_utils/riscv/inline_bcmp.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE BcmpReturnType inline_bcmp_riscv(CPtr p1, CPtr p2,
                                                               size_t count) {
@@ -28,6 +28,6 @@ namespace LIBC_NAMESPACE {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_BCMP_H
diff --git a/libc/src/string/memory_utils/riscv/inline_memcmp.h b/libc/src/string/memory_utils/riscv/inline_memcmp.h
index 0b28ad92235c1..9bafb45f6d339 100644
--- a/libc/src/string/memory_utils/riscv/inline_memcmp.h
+++ b/libc/src/string/memory_utils/riscv/inline_memcmp.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE MemcmpReturnType
 inline_memcmp_riscv(CPtr p1, CPtr p2, size_t count) {
@@ -28,6 +28,6 @@ inline_memcmp_riscv(CPtr p1, CPtr p2, size_t count) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMCMP_H
diff --git a/libc/src/string/memory_utils/riscv/inline_memcpy.h b/libc/src/string/memory_utils/riscv/inline_memcpy.h
index 05531c8b75972..4da835acfbfa0 100644
--- a/libc/src/string/memory_utils/riscv/inline_memcpy.h
+++ b/libc/src/string/memory_utils/riscv/inline_memcpy.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE void
 inline_memcpy_riscv(Ptr __restrict dst, CPtr __restrict src, size_t count) {
@@ -28,6 +28,6 @@ inline_memcpy_riscv(Ptr __restrict dst, CPtr __restrict src, size_t count) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMCPY_H
diff --git a/libc/src/string/memory_utils/riscv/inline_memmove.h b/libc/src/string/memory_utils/riscv/inline_memmove.h
index 1a95a8ebba07c..d6e2e4ebd5fd8 100644
--- a/libc/src/string/memory_utils/riscv/inline_memmove.h
+++ b/libc/src/string/memory_utils/riscv/inline_memmove.h
@@ -15,13 +15,13 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE void
 inline_memmove_riscv(Ptr __restrict dst, CPtr __restrict src, size_t count) {
   return inline_memmove_byte_per_byte(dst, src, count);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMMOVE_H
diff --git a/libc/src/string/memory_utils/riscv/inline_memset.h b/libc/src/string/memory_utils/riscv/inline_memset.h
index b9b8a188aff67..279c3bfef7a1a 100644
--- a/libc/src/string/memory_utils/riscv/inline_memset.h
+++ b/libc/src/string/memory_utils/riscv/inline_memset.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE static void inline_memset_riscv(Ptr dst, uint8_t value,
                                             size_t count) {
@@ -28,6 +28,6 @@ LIBC_INLINE static void inline_memset_riscv(Ptr dst, uint8_t value,
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMSET_H
diff --git a/libc/src/string/memory_utils/utils.h b/libc/src/string/memory_utils/utils.h
index cb1fd899b6c63..5433912daf6bf 100644
--- a/libc/src/string/memory_utils/utils.h
+++ b/libc/src/string/memory_utils/utils.h
@@ -19,7 +19,7 @@
 #include <stddef.h> // size_t
 #include <stdint.h> // intptr_t / uintptr_t / INT32_MAX / INT32_MIN
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Returns the number of bytes to substract from ptr to get to the previous
 // multiple of alignment. If ptr is already aligned returns 0.
@@ -349,6 +349,6 @@ LIBC_INLINE void prefetch_to_local_cache(CPtr dst) {
   __builtin_prefetch(dst, /*read*/ 0, /*max locality*/ 3);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_UTILS_H
diff --git a/libc/src/string/memory_utils/x86_64/inline_bcmp.h b/libc/src/string/memory_utils/x86_64/inline_bcmp.h
index 58eaedbbe015f..9a8db22068dc6 100644
--- a/libc/src/string/memory_utils/x86_64/inline_bcmp.h
+++ b/libc/src/string/memory_utils/x86_64/inline_bcmp.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE BcmpReturnType
 inline_bcmp_generic_gt16(CPtr p1, CPtr p2, size_t count) {
@@ -88,6 +88,6 @@ inline_bcmp_x86_avx512bw_gt16(CPtr p1, CPtr p2, size_t count) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_BCMP_H
diff --git a/libc/src/string/memory_utils/x86_64/inline_memcmp.h b/libc/src/string/memory_utils/x86_64/inline_memcmp.h
index 6a315adcd566c..7fd101227c883 100644
--- a/libc/src/string/memory_utils/x86_64/inline_memcmp.h
+++ b/libc/src/string/memory_utils/x86_64/inline_memcmp.h
@@ -15,7 +15,7 @@
 #include "src/string/memory_utils/op_x86.h"
 #include "src/string/memory_utils/utils.h" // MemcmpReturnType
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[maybe_unused]] LIBC_INLINE MemcmpReturnType
 inline_memcmp_generic_gt16(CPtr p1, CPtr p2, size_t count) {
@@ -89,6 +89,6 @@ LIBC_INLINE MemcmpReturnType inline_memcmp_x86(CPtr p1, CPtr p2, size_t count) {
 #endif
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMCMP_H
diff --git a/libc/src/string/memory_utils/x86_64/inline_memcpy.h b/libc/src/string/memory_utils/x86_64/inline_memcpy.h
index 507b3e25199ed..59a360811f11c 100644
--- a/libc/src/string/memory_utils/x86_64/inline_memcpy.h
+++ b/libc/src/string/memory_utils/x86_64/inline_memcpy.h
@@ -26,7 +26,7 @@
 #error LLVM_LIBC_MEMCPY_X86_USE_REPMOVSB_FROM_SIZE is deprecated use LIBC_COPT_MEMCPY_X86_USE_REPMOVSB_FROM_SIZE=0 instead.
 #endif // LLVM_LIBC_MEMCPY_X86_USE_REPMOVSB_FROM_SIZE
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace x86 {
 
@@ -222,6 +222,6 @@ inline_memcpy_x86_maybe_interpose_repmovsb(Ptr __restrict dst,
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMCPY_H
diff --git a/libc/src/string/memory_utils/x86_64/inline_memmove.h b/libc/src/string/memory_utils/x86_64/inline_memmove.h
index 879b36eaa6734..d81e833598f79 100644
--- a/libc/src/string/memory_utils/x86_64/inline_memmove.h
+++ b/libc/src/string/memory_utils/x86_64/inline_memmove.h
@@ -16,7 +16,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE bool inline_memmove_small_size_x86(Ptr dst, CPtr src,
                                                size_t count) {
@@ -115,6 +115,6 @@ LIBC_INLINE void inline_memmove_follow_up_x86(Ptr dst, CPtr src, size_t count) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMMOVE_H
diff --git a/libc/src/string/memory_utils/x86_64/inline_memset.h b/libc/src/string/memory_utils/x86_64/inline_memset.h
index 584efcbea4be3..fd8d7f35d97f4 100644
--- a/libc/src/string/memory_utils/x86_64/inline_memset.h
+++ b/libc/src/string/memory_utils/x86_64/inline_memset.h
@@ -15,7 +15,7 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace x86 {
 // Size of one cache line for software prefetching
 LIBC_INLINE_VAR constexpr size_t K_ONE_CACHELINE_SIZE = 64;
@@ -104,6 +104,6 @@ inline_memset_x86(Ptr dst, uint8_t value, size_t count) {
   align_to_next_boundary<32>(dst, count);
   return generic::Memset<uint256_t>::loop_and_tail(dst, value, count);
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMSET_H
diff --git a/libc/src/string/mempcpy.cpp b/libc/src/string/mempcpy.cpp
index 47cc3d634d44c..c8a4dfa7a3aab 100644
--- a/libc/src/string/mempcpy.cpp
+++ b/libc/src/string/mempcpy.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/common.h"
 #include <stddef.h> // For size_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, mempcpy,
                    (void *__restrict dst, const void *__restrict src,
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void *, mempcpy,
   return reinterpret_cast<char *>(dst) + count;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/mempcpy.h b/libc/src/string/mempcpy.h
index 317e0fc1d1f30..97cb1820fc945 100644
--- a/libc/src/string/mempcpy.h
+++ b/libc/src/string/mempcpy.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *mempcpy(void *__restrict dest, const void *__restrict src, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMPCPY_H
diff --git a/libc/src/string/memrchr.cpp b/libc/src/string/memrchr.cpp
index fad086809635f..d7a8472b1f02d 100644
--- a/libc/src/string/memrchr.cpp
+++ b/libc/src/string/memrchr.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memrchr, (const void *src, int c, size_t n)) {
   const unsigned char *str = reinterpret_cast<const unsigned char *>(src);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(void *, memrchr, (const void *src, int c, size_t n)) {
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memrchr.h b/libc/src/string/memrchr.h
index 5c32d6a3ad556..df6ad4ddb218f 100644
--- a/libc/src/string/memrchr.h
+++ b/libc/src/string/memrchr.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memrchr(const void *src, int c, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMRCHR_H
diff --git a/libc/src/string/memset.cpp b/libc/src/string/memset.cpp
index a94e353421968..2b67dd8b9f6b2 100644
--- a/libc/src/string/memset.cpp
+++ b/libc/src/string/memset.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_memset.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, memset, (void *dst, int value, size_t count)) {
   inline_memset(dst, static_cast<uint8_t>(value), count);
   return dst;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memset.h b/libc/src/string/memset.h
index 4c1ef9d91c71a..cff2747a0073c 100644
--- a/libc/src/string/memset.h
+++ b/libc/src/string/memset.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *memset(void *ptr, int value, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMSET_H
diff --git a/libc/src/string/memset_explicit.cpp b/libc/src/string/memset_explicit.cpp
index a8656d1e791e8..3fc2b120212ce 100644
--- a/libc/src/string/memset_explicit.cpp
+++ b/libc/src/string/memset_explicit.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_memset.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::noinline]] LLVM_LIBC_FUNCTION(void *, memset_explicit,
                                      (void *dst, int value, size_t count)) {
@@ -22,4 +22,4 @@ namespace LIBC_NAMESPACE {
   return dst;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/memset_explicit.h b/libc/src/string/memset_explicit.h
index f6c189761a123..782a63ba37202 100644
--- a/libc/src/string/memset_explicit.h
+++ b/libc/src/string/memset_explicit.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h> // size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[gnu::noinline]] void *memset_explicit(void *ptr, int value, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_MEMSET_EXPLICIT_H
diff --git a/libc/src/string/rindex.cpp b/libc/src/string/rindex.cpp
index 2c7f8dc29ea8a..43590107c8e0c 100644
--- a/libc/src/string/rindex.cpp
+++ b/libc/src/string/rindex.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, rindex, (const char *src, int c)) {
   return internal::strrchr_implementation(src, c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/rindex.h b/libc/src/string/rindex.h
index a2aad85bed913..bdc64e06594ca 100644
--- a/libc/src/string/rindex.h
+++ b/libc/src/string/rindex.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_RINDEX_H
 #define LLVM_LIBC_SRC_STRING_RINDEX_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *rindex(const char *src, int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_RINDEX_H
diff --git a/libc/src/string/stpcpy.cpp b/libc/src/string/stpcpy.cpp
index bdaa6899302c0..857361977f0af 100644
--- a/libc/src/string/stpcpy.cpp
+++ b/libc/src/string/stpcpy.cpp
@@ -12,7 +12,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, stpcpy,
                    (char *__restrict dest, const char *__restrict src)) {
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(char *, stpcpy,
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/stpcpy.h b/libc/src/string/stpcpy.h
index 4352f5b389a24..cd18cc08ee2e0 100644
--- a/libc/src/string/stpcpy.h
+++ b/libc/src/string/stpcpy.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STPCPY_H
 #define LLVM_LIBC_SRC_STRING_STPCPY_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *stpcpy(char *__restrict dest, const char *__restrict src);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STPCPY_H
diff --git a/libc/src/string/stpncpy.cpp b/libc/src/string/stpncpy.cpp
index 436e131d06872..877bc8e9ff45b 100644
--- a/libc/src/string/stpncpy.cpp
+++ b/libc/src/string/stpncpy.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, stpncpy,
                    (char *__restrict dest, const char *__restrict src,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(char *, stpncpy,
   return dest + i;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/stpncpy.h b/libc/src/string/stpncpy.h
index 5ecf65b027cab..cbbe2d31a00d2 100644
--- a/libc/src/string/stpncpy.h
+++ b/libc/src/string/stpncpy.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *stpncpy(char *__restrict dest, const char *__restrict src, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STPNCPY_H
diff --git a/libc/src/string/strcasecmp.cpp b/libc/src/string/strcasecmp.cpp
index 87636ee369ebd..fb0e5ee869545 100644
--- a/libc/src/string/strcasecmp.cpp
+++ b/libc/src/string/strcasecmp.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/ctype_utils.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strcasecmp, (const char *left, const char *right)) {
   auto case_cmp = [](char a, char b) {
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, strcasecmp, (const char *left, const char *right)) {
   return inline_strcmp(left, right, case_cmp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcasecmp.h b/libc/src/string/strcasecmp.h
index 97b1f930f3227..526e2ceaca0ec 100644
--- a/libc/src/string/strcasecmp.h
+++ b/libc/src/string/strcasecmp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCASECMP_H
 #define LLVM_LIBC_SRC_STRING_STRCASECMP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strcasecmp(const char *left, const char *right);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCASECMP_H
diff --git a/libc/src/string/strcasestr.cpp b/libc/src/string/strcasestr.cpp
index 3119ed49c56d4..a8feaf3e9e884 100644
--- a/libc/src/string/strcasestr.cpp
+++ b/libc/src/string/strcasestr.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/ctype_utils.h"
 #include "src/string/memory_utils/inline_strstr.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: This is a simple brute force implementation. This can be
 // improved upon using well known string matching algorithms.
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(char *, strcasestr,
   return inline_strstr(haystack, needle, case_cmp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcasestr.h b/libc/src/string/strcasestr.h
index 9c8ad0fb82b28..10e3713ca74c3 100644
--- a/libc/src/string/strcasestr.h
+++ b/libc/src/string/strcasestr.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCASESTR_H
 #define LLVM_LIBC_SRC_STRING_STRCASESTR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strcasestr(const char *needle, const char *haystack);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCASESTR_H
diff --git a/libc/src/string/strcat.cpp b/libc/src/string/strcat.cpp
index 6e1baa64e66ab..df0cd6e2c055c 100644
--- a/libc/src/string/strcat.cpp
+++ b/libc/src/string/strcat.cpp
@@ -12,7 +12,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strcat,
                    (char *__restrict dest, const char *__restrict src)) {
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(char *, strcat,
   return dest;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcat.h b/libc/src/string/strcat.h
index 3cf2e19e24fe9..fac62517ad327 100644
--- a/libc/src/string/strcat.h
+++ b/libc/src/string/strcat.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strcat(char *__restrict dest, const char *__restrict src);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCAT_H
diff --git a/libc/src/string/strchr.cpp b/libc/src/string/strchr.cpp
index 553197b22b2ee..cb0e2918223a0 100644
--- a/libc/src/string/strchr.cpp
+++ b/libc/src/string/strchr.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Look at performance benefits of comparing words.
 LLVM_LIBC_FUNCTION(char *, strchr, (const char *src, int c)) {
   return internal::strchr_implementation(src, c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strchr.h b/libc/src/string/strchr.h
index bb6a9c07b89e1..c3980edfdf225 100644
--- a/libc/src/string/strchr.h
+++ b/libc/src/string/strchr.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCHR_H
 #define LLVM_LIBC_SRC_STRING_STRCHR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strchr(const char *src, int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCHR_H
diff --git a/libc/src/string/strchrnul.cpp b/libc/src/string/strchrnul.cpp
index 9b492a634a8ff..301ef57f8a3f1 100644
--- a/libc/src/string/strchrnul.cpp
+++ b/libc/src/string/strchrnul.cpp
@@ -11,10 +11,10 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strchrnul, (const char *src, int c)) {
   return internal::strchr_implementation<false>(src, c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strchrnul.h b/libc/src/string/strchrnul.h
index b847b0bda103c..8ab1597fe1344 100644
--- a/libc/src/string/strchrnul.h
+++ b/libc/src/string/strchrnul.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCHRNUL_H
 #define LLVM_LIBC_SRC_STRING_STRCHRNUL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strchrnul(const char *src, int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCHRNUL_H
diff --git a/libc/src/string/strcmp.cpp b/libc/src/string/strcmp.cpp
index 0b515b76fa85c..029f23d1338a6 100644
--- a/libc/src/string/strcmp.cpp
+++ b/libc/src/string/strcmp.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strcmp, (const char *left, const char *right)) {
   auto comp = [](char l, char r) -> int { return l - r; };
   return inline_strcmp(left, right, comp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcmp.h b/libc/src/string/strcmp.h
index 9fc6fdb9f27ba..4eef592169c35 100644
--- a/libc/src/string/strcmp.h
+++ b/libc/src/string/strcmp.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCMP_H
 #define LLVM_LIBC_SRC_STRING_STRCMP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strcmp(const char *left, const char *right);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCMP_H
diff --git a/libc/src/string/strcoll.cpp b/libc/src/string/strcoll.cpp
index 7280688bf3d9d..d19af7905761c 100644
--- a/libc/src/string/strcoll.cpp
+++ b/libc/src/string/strcoll.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Add support for locales.
 LLVM_LIBC_FUNCTION(int, strcoll, (const char *left, const char *right)) {
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, strcoll, (const char *left, const char *right)) {
   return static_cast<int>(*left) - static_cast<int>(*right);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcoll.h b/libc/src/string/strcoll.h
index d69b48a6642c3..64c0d9d1bf65a 100644
--- a/libc/src/string/strcoll.h
+++ b/libc/src/string/strcoll.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCOLL_H
 #define LLVM_LIBC_SRC_STRING_STRCOLL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strcoll(const char *left, const char *right);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCOLL_H
diff --git a/libc/src/string/strcpy.cpp b/libc/src/string/strcpy.cpp
index 4fbd1a38f6873..cf38f0005a0da 100644
--- a/libc/src/string/strcpy.cpp
+++ b/libc/src/string/strcpy.cpp
@@ -12,7 +12,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strcpy,
                    (char *__restrict dest, const char *__restrict src)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(char *, strcpy,
   return dest;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcpy.h b/libc/src/string/strcpy.h
index 11a26a6fa6eff..da80b4c83eb1e 100644
--- a/libc/src/string/strcpy.h
+++ b/libc/src/string/strcpy.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strcpy(char *__restrict dest, const char *__restrict src);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCPY_H
diff --git a/libc/src/string/strcspn.cpp b/libc/src/string/strcspn.cpp
index ed057c3796066..b8c06093edc0e 100644
--- a/libc/src/string/strcspn.cpp
+++ b/libc/src/string/strcspn.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, strcspn, (const char *src, const char *segment)) {
   return internal::complementary_span(src, segment);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strcspn.h b/libc/src/string/strcspn.h
index 21098feb288b8..2c430aa3237e7 100644
--- a/libc/src/string/strcspn.h
+++ b/libc/src/string/strcspn.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strcspn(const char *src, const char *segment);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRCSPN_H
diff --git a/libc/src/string/strdup.cpp b/libc/src/string/strdup.cpp
index 3530a708c131b..9f7d7d2878562 100644
--- a/libc/src/string/strdup.cpp
+++ b/libc/src/string/strdup.cpp
@@ -15,7 +15,7 @@
 
 #include <stdlib.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strdup, (const char *src)) {
   auto dup = internal::strdup(src);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(char *, strdup, (const char *src)) {
   return nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strdup.h b/libc/src/string/strdup.h
index e33a24694bf17..7c712a957d062 100644
--- a/libc/src/string/strdup.h
+++ b/libc/src/string/strdup.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strdup(const char *src);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRDUP_H
diff --git a/libc/src/string/strerror.cpp b/libc/src/string/strerror.cpp
index 01cbbeb4d18f2..437157d3e1a6c 100644
--- a/libc/src/string/strerror.cpp
+++ b/libc/src/string/strerror.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/StringUtil/error_to_string.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strerror, (int err_num)) {
   return const_cast<char *>(get_error_string(err_num).data());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strerror.h b/libc/src/string/strerror.h
index 36a1348a5c737..4bf5ce7bc95a3 100644
--- a/libc/src/string/strerror.h
+++ b/libc/src/string/strerror.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRERROR_H
 #define LLVM_LIBC_SRC_STRING_STRERROR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strerror(int err_num);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRERROR_H
diff --git a/libc/src/string/strerror_r.cpp b/libc/src/string/strerror_r.cpp
index c514dbd740906..3a932c82c137f 100644
--- a/libc/src/string/strerror_r.cpp
+++ b/libc/src/string/strerror_r.cpp
@@ -12,7 +12,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This is the gnu version of strerror_r. The XSI version may be added later.
 LLVM_LIBC_FUNCTION(char *, strerror_r,
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(char *, strerror_r,
   return const_cast<char *>(get_error_string(err_num, {buf, buflen}).data());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strerror_r.h b/libc/src/string/strerror_r.h
index 63f595866b3b6..9d909773ac3e8 100644
--- a/libc/src/string/strerror_r.h
+++ b/libc/src/string/strerror_r.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strerror_r(int err_num, char *buf, size_t buflen);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRERROR_R_H
diff --git a/libc/src/string/string_utils.h b/libc/src/string/string_utils.h
index 17efc125ea63a..11743a65e9158 100644
--- a/libc/src/string/string_utils.h
+++ b/libc/src/string/string_utils.h
@@ -20,7 +20,7 @@
 #include "src/string/memory_utils/inline_memcpy.h"
 #include <stddef.h> // For size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 template <typename Word> LIBC_INLINE constexpr Word repeat_byte(Word byte) {
@@ -246,6 +246,6 @@ LIBC_INLINE constexpr static char *strrchr_implementation(const char *src,
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif //  LLVM_LIBC_SRC_STRING_STRING_UTILS_H
diff --git a/libc/src/string/strlcat.cpp b/libc/src/string/strlcat.cpp
index 2943f4f67b4f9..dc18b80035f9b 100644
--- a/libc/src/string/strlcat.cpp
+++ b/libc/src/string/strlcat.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, strlcat,
                    (char *__restrict dst, const char *__restrict src,
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(size_t, strlcat,
   return first_len + internal::strlcpy(new_dst, src, size - first_len);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strlcat.h b/libc/src/string/strlcat.h
index 47f27e3ba5ac3..2177553ecb7ed 100644
--- a/libc/src/string/strlcat.h
+++ b/libc/src/string/strlcat.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strlcat(char *__restrict dst, const char *__restrict src, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRLCAT_H
diff --git a/libc/src/string/strlcpy.cpp b/libc/src/string/strlcpy.cpp
index 9b296f2cdbb05..57e918752555d 100644
--- a/libc/src/string/strlcpy.cpp
+++ b/libc/src/string/strlcpy.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, strlcpy,
                    (char *__restrict dst, const char *__restrict src,
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(size_t, strlcpy,
   return internal::strlcpy(dst, src, size);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strlcpy.h b/libc/src/string/strlcpy.h
index 0c18d856e53f0..474e2e57e6662 100644
--- a/libc/src/string/strlcpy.h
+++ b/libc/src/string/strlcpy.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strlcpy(char *__restrict dst, const char *__restrict src, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRLCPY_H
diff --git a/libc/src/string/strlen.cpp b/libc/src/string/strlen.cpp
index b903928f067f9..8d0159d5026cc 100644
--- a/libc/src/string/strlen.cpp
+++ b/libc/src/string/strlen.cpp
@@ -11,7 +11,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: investigate the performance of this function.
 // There might be potential for compiler optimization.
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(size_t, strlen, (const char *src)) {
   return internal::string_length(src);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strlen.h b/libc/src/string/strlen.h
index 4dfaf8e98cdd2..a33c26b68d9ec 100644
--- a/libc/src/string/strlen.h
+++ b/libc/src/string/strlen.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strlen(const char *src);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRLEN_H
diff --git a/libc/src/string/strncasecmp.cpp b/libc/src/string/strncasecmp.cpp
index 994fb258746a2..06fe45effb096 100644
--- a/libc/src/string/strncasecmp.cpp
+++ b/libc/src/string/strncasecmp.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/ctype_utils.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strncasecmp,
                    (const char *left, const char *right, size_t n)) {
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, strncasecmp,
   return inline_strncmp(left, right, n, case_cmp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strncasecmp.h b/libc/src/string/strncasecmp.h
index eb1155070c6ba..b36aacc773b71 100644
--- a/libc/src/string/strncasecmp.h
+++ b/libc/src/string/strncasecmp.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strncasecmp(const char *left, const char *right, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNCASECMP_H
diff --git a/libc/src/string/strncat.cpp b/libc/src/string/strncat.cpp
index ca86d9c0a2e41..65859c817ff68 100644
--- a/libc/src/string/strncat.cpp
+++ b/libc/src/string/strncat.cpp
@@ -12,7 +12,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strncat,
                    (char *__restrict dest, const char *__restrict src,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(char *, strncat,
   return dest;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strncat.h b/libc/src/string/strncat.h
index f3d9706dc23e9..8ff20604b5439 100644
--- a/libc/src/string/strncat.h
+++ b/libc/src/string/strncat.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strncat(char *__restrict dest, const char *__restrict src, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNCAT_H
diff --git a/libc/src/string/strncmp.cpp b/libc/src/string/strncmp.cpp
index 0d2a66879704c..a68633d5f9c49 100644
--- a/libc/src/string/strncmp.cpp
+++ b/libc/src/string/strncmp.cpp
@@ -13,7 +13,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, strncmp,
                    (const char *left, const char *right, size_t n)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, strncmp,
   return inline_strncmp(left, right, n, comp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strncmp.h b/libc/src/string/strncmp.h
index adb270f5cd40c..5bcc538b18edd 100644
--- a/libc/src/string/strncmp.h
+++ b/libc/src/string/strncmp.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int strncmp(const char *left, const char *right, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNCMP_H
diff --git a/libc/src/string/strncpy.cpp b/libc/src/string/strncpy.cpp
index 1408e7f0902d4..ff58644ae8a55 100644
--- a/libc/src/string/strncpy.cpp
+++ b/libc/src/string/strncpy.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include <stddef.h> // For size_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strncpy,
                    (char *__restrict dest, const char *__restrict src,
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(char *, strncpy,
   return dest;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strncpy.h b/libc/src/string/strncpy.h
index 3152fef0758c7..8fddf54ce6ed3 100644
--- a/libc/src/string/strncpy.h
+++ b/libc/src/string/strncpy.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strncpy(char *__restrict dest, const char *__restrict src, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNCPY_H
diff --git a/libc/src/string/strndup.cpp b/libc/src/string/strndup.cpp
index 6648e22ab50e0..fe44e12260b3a 100644
--- a/libc/src/string/strndup.cpp
+++ b/libc/src/string/strndup.cpp
@@ -15,7 +15,7 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strndup, (const char *src, size_t size)) {
   if (src == nullptr)
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(char *, strndup, (const char *src, size_t size)) {
   return dest;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strndup.h b/libc/src/string/strndup.h
index 3e5c951f6c87a..00ab1fe6d0a37 100644
--- a/libc/src/string/strndup.h
+++ b/libc/src/string/strndup.h
@@ -11,10 +11,10 @@
 
 #include <string.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strndup(const char *src, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNDUP_H
diff --git a/libc/src/string/strnlen.cpp b/libc/src/string/strnlen.cpp
index 8849fa0fdd9fa..7bb585f0a521a 100644
--- a/libc/src/string/strnlen.cpp
+++ b/libc/src/string/strnlen.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/common.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, strnlen, (const char *src, size_t n)) {
   const void *temp = internal::find_first_character(
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(size_t, strnlen, (const char *src, size_t n)) {
   return temp ? reinterpret_cast<const char *>(temp) - src : n;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strnlen.h b/libc/src/string/strnlen.h
index e18d21779d94c..cb93149224dea 100644
--- a/libc/src/string/strnlen.h
+++ b/libc/src/string/strnlen.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strnlen(const char *src, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRNLEN_H
diff --git a/libc/src/string/strpbrk.cpp b/libc/src/string/strpbrk.cpp
index 8bccda02418bc..f921fd744668c 100644
--- a/libc/src/string/strpbrk.cpp
+++ b/libc/src/string/strpbrk.cpp
@@ -11,11 +11,11 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strpbrk, (const char *src, const char *breakset)) {
   src += internal::complementary_span(src, breakset);
   return *src ? const_cast<char *>(src) : nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strpbrk.h b/libc/src/string/strpbrk.h
index c744d09365ff4..2475ba037be89 100644
--- a/libc/src/string/strpbrk.h
+++ b/libc/src/string/strpbrk.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRPBRK_H
 #define LLVM_LIBC_SRC_STRING_STRPBRK_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strpbrk(const char *src, const char *breakset);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRPBRK_H
diff --git a/libc/src/string/strrchr.cpp b/libc/src/string/strrchr.cpp
index d51808b6dd835..1feaeeac0bf54 100644
--- a/libc/src/string/strrchr.cpp
+++ b/libc/src/string/strrchr.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strrchr, (const char *src, int c)) {
   return internal::strrchr_implementation(src, c);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strrchr.h b/libc/src/string/strrchr.h
index d4280d85ae9b8..271e9f6c6beb9 100644
--- a/libc/src/string/strrchr.h
+++ b/libc/src/string/strrchr.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRRCHR_H
 #define LLVM_LIBC_SRC_STRING_STRRCHR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strrchr(const char *src, int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRRCHR_H
diff --git a/libc/src/string/strsep.cpp b/libc/src/string/strsep.cpp
index 5ebf2550744c3..dd1b6357fb86c 100644
--- a/libc/src/string/strsep.cpp
+++ b/libc/src/string/strsep.cpp
@@ -10,7 +10,7 @@
 
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strsep,
                    (char **__restrict stringp, const char *__restrict delim)) {
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(char *, strsep,
   return internal::string_token<false>(*stringp, delim, stringp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strsep.h b/libc/src/string/strsep.h
index 7b85202d30b2b..531d1e6a529c1 100644
--- a/libc/src/string/strsep.h
+++ b/libc/src/string/strsep.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSEP_H
 #define LLVM_LIBC_SRC_STRING_STRSEP_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strsep(char **__restrict stringp, const char *__restrict delim);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRSEP_H
diff --git a/libc/src/string/strsignal.cpp b/libc/src/string/strsignal.cpp
index f6ca0bcdad8d2..ff1a0df1443c3 100644
--- a/libc/src/string/strsignal.cpp
+++ b/libc/src/string/strsignal.cpp
@@ -11,10 +11,10 @@
 #include "src/__support/StringUtil/signal_to_string.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strsignal, (int sig_num)) {
   return const_cast<char *>(get_signal_string(sig_num).data());
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strsignal.h b/libc/src/string/strsignal.h
index bd3f87a201734..4d496eb96c5a9 100644
--- a/libc/src/string/strsignal.h
+++ b/libc/src/string/strsignal.h
@@ -10,10 +10,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSIGNAL_H
 #define LLVM_LIBC_SRC_STRING_STRSIGNAL_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strsignal(int sig_num);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRSIGNAL_H
diff --git a/libc/src/string/strspn.cpp b/libc/src/string/strspn.cpp
index b957f8ed7f1bd..d5e36a0158e8c 100644
--- a/libc/src/string/strspn.cpp
+++ b/libc/src/string/strspn.cpp
@@ -12,7 +12,7 @@
 #include "src/__support/common.h"
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(size_t, strspn, (const char *src, const char *segment)) {
   const char *initial = src;
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(size_t, strspn, (const char *src, const char *segment)) {
   return src - initial;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strspn.h b/libc/src/string/strspn.h
index ddb6f388e95a2..7de53015d732a 100644
--- a/libc/src/string/strspn.h
+++ b/libc/src/string/strspn.h
@@ -11,10 +11,10 @@
 
 #include <stddef.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strspn(const char *src, const char *segment);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRSPN_H
diff --git a/libc/src/string/strstr.cpp b/libc/src/string/strstr.cpp
index bfda75b2e5912..aa0116adbdf43 100644
--- a/libc/src/string/strstr.cpp
+++ b/libc/src/string/strstr.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/string/memory_utils/inline_strstr.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: This is a simple brute force implementation. This can be
 // improved upon using well known string matching algorithms.
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(char *, strstr, (const char *haystack, const char *needle)) {
   return inline_strstr(haystack, needle, comp);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strstr.h b/libc/src/string/strstr.h
index 2501b005cf9fa..03d72b35ee170 100644
--- a/libc/src/string/strstr.h
+++ b/libc/src/string/strstr.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSTR_H
 #define LLVM_LIBC_SRC_STRING_STRSTR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strstr(const char *haystack, const char *needle);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRSTR_H
diff --git a/libc/src/string/strtok.cpp b/libc/src/string/strtok.cpp
index e7d30349d3a9c..ebbd9e1c7dd81 100644
--- a/libc/src/string/strtok.cpp
+++ b/libc/src/string/strtok.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static char *strtok_str = nullptr;
 
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(char *, strtok,
   return internal::string_token(src, delimiter_string, &strtok_str);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strtok.h b/libc/src/string/strtok.h
index 8788f333c1306..e18398f1f5b76 100644
--- a/libc/src/string/strtok.h
+++ b/libc/src/string/strtok.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRTOK_H
 #define LLVM_LIBC_SRC_STRING_STRTOK_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strtok(char *__restrict src, const char *__restrict delimiter_string);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRTOK_H
diff --git a/libc/src/string/strtok_r.cpp b/libc/src/string/strtok_r.cpp
index e8847b617330e..8b5bbf4cfcae7 100644
--- a/libc/src/string/strtok_r.cpp
+++ b/libc/src/string/strtok_r.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/common.h"
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(char *, strtok_r,
                    (char *__restrict src,
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(char *, strtok_r,
   return internal::string_token(src, delimiter_string, saveptr);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strtok_r.h b/libc/src/string/strtok_r.h
index b3c7b3dec162a..be24822fa81f8 100644
--- a/libc/src/string/strtok_r.h
+++ b/libc/src/string/strtok_r.h
@@ -9,11 +9,11 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRTOK_R_H
 #define LLVM_LIBC_SRC_STRING_STRTOK_R_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *strtok_r(char *__restrict src, const char *__restrict delimiter_string,
                char **__restrict saveptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRTOK_R_H
diff --git a/libc/src/string/strxfrm.cpp b/libc/src/string/strxfrm.cpp
index b5eb76457f858..f3a6d81e6e438 100644
--- a/libc/src/string/strxfrm.cpp
+++ b/libc/src/string/strxfrm.cpp
@@ -12,7 +12,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: Add support for locales.
 LLVM_LIBC_FUNCTION(size_t, strxfrm,
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(size_t, strxfrm,
   return len;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/string/strxfrm.h b/libc/src/string/strxfrm.h
index 8178931f42dc9..c4485ab0fe2c8 100644
--- a/libc/src/string/strxfrm.h
+++ b/libc/src/string/strxfrm.h
@@ -10,10 +10,10 @@
 #define LLVM_LIBC_SRC_STRING_STRXFRM_H
 
 #include <stddef.h> // For size_t
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 size_t strxfrm(char *__restrict dest, const char *__restrict src, size_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_STRING_STRXFRM_H
diff --git a/libc/src/sys/auxv/getauxval.h b/libc/src/sys/auxv/getauxval.h
index 7c9fb846e9198..cb99745c21e14 100644
--- a/libc/src/sys/auxv/getauxval.h
+++ b/libc/src/sys/auxv/getauxval.h
@@ -11,10 +11,10 @@
 
 #include <sys/auxv.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 unsigned long getauxval(unsigned long id);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_AUXV_GETAUXVAL_H
diff --git a/libc/src/sys/auxv/linux/getauxval.cpp b/libc/src/sys/auxv/linux/getauxval.cpp
index b0db36732c06e..91feb23982380 100644
--- a/libc/src/sys/auxv/linux/getauxval.cpp
+++ b/libc/src/sys/auxv/linux/getauxval.cpp
@@ -35,7 +35,7 @@
 extern "C" [[gnu::weak]] int __cxa_atexit(void (*callback)(void *),
                                           void *payload, void *);
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr static size_t MAX_AUXV_ENTRIES = 64;
 
@@ -214,4 +214,4 @@ LLVM_LIBC_FUNCTION(unsigned long, getauxval, (unsigned long id)) {
   errno_guard.mark_failure();
   return AT_NULL;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/epoll_create.h b/libc/src/sys/epoll/epoll_create.h
index a1eeabd567e4c..176b68e67b61a 100644
--- a/libc/src/sys/epoll/epoll_create.h
+++ b/libc/src/sys/epoll/epoll_create.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE_H
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int epoll_create(int size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE_H
diff --git a/libc/src/sys/epoll/epoll_create1.h b/libc/src/sys/epoll/epoll_create1.h
index 70f446b592660..ff37d664207aa 100644
--- a/libc/src/sys/epoll/epoll_create1.h
+++ b/libc/src/sys/epoll/epoll_create1.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE1_H
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE1_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int epoll_create1(int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE1_H
diff --git a/libc/src/sys/epoll/epoll_ctl.h b/libc/src/sys/epoll/epoll_ctl.h
index 42402949d06b3..5ab4b5afbbeae 100644
--- a/libc/src/sys/epoll/epoll_ctl.h
+++ b/libc/src/sys/epoll/epoll_ctl.h
@@ -11,11 +11,11 @@
 
 #include "hdr/types/struct_epoll_event.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: event should be nullable
 int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CTL_H
diff --git a/libc/src/sys/epoll/epoll_pwait.h b/libc/src/sys/epoll/epoll_pwait.h
index bcae72b3e2c26..888e8e14ba7ad 100644
--- a/libc/src/sys/epoll/epoll_pwait.h
+++ b/libc/src/sys/epoll/epoll_pwait.h
@@ -12,12 +12,12 @@
 #include "hdr/types/sigset_t.h"
 #include "hdr/types/struct_epoll_event.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: sigmask should be nullable
 int epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
                 int timeout, const sigset_t *sigmask);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_PWAIT_H
diff --git a/libc/src/sys/epoll/epoll_pwait2.h b/libc/src/sys/epoll/epoll_pwait2.h
index 7fc528b2fd25d..027dce25a7b7a 100644
--- a/libc/src/sys/epoll/epoll_pwait2.h
+++ b/libc/src/sys/epoll/epoll_pwait2.h
@@ -13,12 +13,12 @@
 #include "hdr/types/struct_epoll_event.h"
 #include "hdr/types/struct_timespec.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: sigmask and timeout should be nullable
 int epoll_pwait2(int epfd, epoll_event *events, int maxevents,
                  const timespec *timeout, const sigset_t *sigmask);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_PWAIT2_H
diff --git a/libc/src/sys/epoll/epoll_wait.h b/libc/src/sys/epoll/epoll_wait.h
index b546e91e4c2ee..00deb275ef4ac 100644
--- a/libc/src/sys/epoll/epoll_wait.h
+++ b/libc/src/sys/epoll/epoll_wait.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/struct_epoll_event.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int epoll_wait(int epfd, epoll_event *events, int maxevents, int timeout);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_WAIT_H
diff --git a/libc/src/sys/epoll/linux/epoll_create.cpp b/libc/src/sys/epoll/linux/epoll_create.cpp
index d4995c476074e..6f9bad62a0bbe 100644
--- a/libc/src/sys/epoll/linux/epoll_create.cpp
+++ b/libc/src/sys/epoll/linux/epoll_create.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_create, ([[maybe_unused]] int size)) {
 #ifdef SYS_epoll_create
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, epoll_create, ([[maybe_unused]] int size)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/linux/epoll_create1.cpp b/libc/src/sys/epoll/linux/epoll_create1.cpp
index 30f1a9910274d..8239df70acc7d 100644
--- a/libc/src/sys/epoll/linux/epoll_create1.cpp
+++ b/libc/src/sys/epoll/linux/epoll_create1.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_create1, (int flags)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_epoll_create1, flags);
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, epoll_create1, (int flags)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/linux/epoll_ctl.cpp b/libc/src/sys/epoll/linux/epoll_ctl.cpp
index c111c5e4e0ee0..f686294fcef72 100644
--- a/libc/src/sys/epoll/linux/epoll_ctl.cpp
+++ b/libc/src/sys/epoll/linux/epoll_ctl.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_ctl,
                    (int epfd, int op, int fd, epoll_event *event)) {
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, epoll_ctl,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/linux/epoll_pwait.cpp b/libc/src/sys/epoll/linux/epoll_pwait.cpp
index 24b66f0721b30..e6675ee7b0aef 100644
--- a/libc/src/sys/epoll/linux/epoll_pwait.cpp
+++ b/libc/src/sys/epoll/linux/epoll_pwait.cpp
@@ -18,7 +18,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_pwait,
                    (int epfd, struct epoll_event *events, int maxevents,
@@ -39,4 +39,4 @@ LLVM_LIBC_FUNCTION(int, epoll_pwait,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/linux/epoll_pwait2.cpp b/libc/src/sys/epoll/linux/epoll_pwait2.cpp
index e13423a085a59..9f9f3e1816449 100644
--- a/libc/src/sys/epoll/linux/epoll_pwait2.cpp
+++ b/libc/src/sys/epoll/linux/epoll_pwait2.cpp
@@ -19,7 +19,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_pwait2,
                    (int epfd, struct epoll_event *events, int maxevents,
@@ -41,4 +41,4 @@ LLVM_LIBC_FUNCTION(int, epoll_pwait2,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/epoll/linux/epoll_wait.cpp b/libc/src/sys/epoll/linux/epoll_wait.cpp
index 3ce4a92e79695..876d5a8c903b2 100644
--- a/libc/src/sys/epoll/linux/epoll_wait.cpp
+++ b/libc/src/sys/epoll/linux/epoll_wait.cpp
@@ -18,7 +18,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, epoll_wait,
                    (int epfd, struct epoll_event *events, int maxevents,
@@ -45,4 +45,4 @@ LLVM_LIBC_FUNCTION(int, epoll_wait,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/madvise.cpp b/libc/src/sys/mman/linux/madvise.cpp
index ff461c1d4cb48..16e8a0291f189 100644
--- a/libc/src/sys/mman/linux/madvise.cpp
+++ b/libc/src/sys/mman/linux/madvise.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is currently linux only. It has to be refactored suitably if
 // madvise is to be supported on non-linux operating systems also.
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, madvise, (void *addr, size_t size, int advice)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mincore.cpp b/libc/src/sys/mman/linux/mincore.cpp
index 8220c69ef2cb7..ffbc754a51fe4 100644
--- a/libc/src/sys/mman/linux/mincore.cpp
+++ b/libc/src/sys/mman/linux/mincore.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, mincore, (void *addr, size_t len, unsigned char *vec)) {
   long ret = syscall_impl(SYS_mincore, reinterpret_cast<long>(addr), len,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, mincore, (void *addr, size_t len, unsigned char *vec)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mlock.cpp b/libc/src/sys/mman/linux/mlock.cpp
index 9bc5ab9a07863..a28cb55e1144b 100644
--- a/libc/src/sys/mman/linux/mlock.cpp
+++ b/libc/src/sys/mman/linux/mlock.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, mlock, (const void *addr, size_t len)) {
   long ret = syscall_impl(SYS_mlock, cpp::bit_cast<long>(addr), len);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, mlock, (const void *addr, size_t len)) {
   }
   return 0;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mlock2.cpp b/libc/src/sys/mman/linux/mlock2.cpp
index 71b2b80d99bbf..b0d77dda519e4 100644
--- a/libc/src/sys/mman/linux/mlock2.cpp
+++ b/libc/src/sys/mman/linux/mlock2.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 #ifdef SYS_mlock2
 LLVM_LIBC_FUNCTION(int, mlock2, (const void *addr, size_t len, int flags)) {
   long ret = syscall_impl(SYS_mlock2, cpp::bit_cast<long>(addr), len, flags);
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, mlock2, (const void *addr, size_t len, int flags)) {
   return 0;
 }
 #endif
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mlockall.cpp b/libc/src/sys/mman/linux/mlockall.cpp
index c4af7d8952738..e474a3c677615 100644
--- a/libc/src/sys/mman/linux/mlockall.cpp
+++ b/libc/src/sys/mman/linux/mlockall.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, mlockall, (int flags)) {
   long ret = syscall_impl(SYS_mlockall, flags);
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, mlockall, (int flags)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mmap.cpp b/libc/src/sys/mman/linux/mmap.cpp
index 2aa7003f342a9..96e1b566da343 100644
--- a/libc/src/sys/mman/linux/mmap.cpp
+++ b/libc/src/sys/mman/linux/mmap.cpp
@@ -15,7 +15,7 @@
 #include <linux/param.h> // For EXEC_PAGESIZE.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is currently linux only. It has to be refactored suitably if
 // mmap is to be supported on non-linux operating systems also.
@@ -63,4 +63,4 @@ LLVM_LIBC_FUNCTION(void *, mmap,
   return reinterpret_cast<void *>(ret);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/mprotect.cpp b/libc/src/sys/mman/linux/mprotect.cpp
index 2e6f2a369c1d8..160c6f086fb95 100644
--- a/libc/src/sys/mman/linux/mprotect.cpp
+++ b/libc/src/sys/mman/linux/mprotect.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is currently linux only. It has to be refactored suitably if
 // mprotect is to be supported on non-linux operating systems also.
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, mprotect, (void *addr, size_t size, int prot)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/msync.cpp b/libc/src/sys/mman/linux/msync.cpp
index 1d2544f023c2c..551421bb29d59 100644
--- a/libc/src/sys/mman/linux/msync.cpp
+++ b/libc/src/sys/mman/linux/msync.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 LLVM_LIBC_FUNCTION(int, msync, (void *addr, size_t len, int flags)) {
   long ret = syscall_impl(SYS_msync, cpp::bit_cast<long>(addr), len, flags);
   if (ret < 0) {
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, msync, (void *addr, size_t len, int flags)) {
   }
   return 0;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/munlock.cpp b/libc/src/sys/mman/linux/munlock.cpp
index 9ee50805ac30e..502206fa0d52e 100644
--- a/libc/src/sys/mman/linux/munlock.cpp
+++ b/libc/src/sys/mman/linux/munlock.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, munlock, (const void *addr, size_t len)) {
   long ret = syscall_impl(SYS_munlock, cpp::bit_cast<long>(addr), len);
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, munlock, (const void *addr, size_t len)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/munlockall.cpp b/libc/src/sys/mman/linux/munlockall.cpp
index d1619d204a90d..4e654664d22bd 100644
--- a/libc/src/sys/mman/linux/munlockall.cpp
+++ b/libc/src/sys/mman/linux/munlockall.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, munlockall, (void)) {
   long ret = syscall_impl(SYS_munlockall);
@@ -24,4 +24,4 @@ LLVM_LIBC_FUNCTION(int, munlockall, (void)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/munmap.cpp b/libc/src/sys/mman/linux/munmap.cpp
index 6412b4136c49e..0d74da5097305 100644
--- a/libc/src/sys/mman/linux/munmap.cpp
+++ b/libc/src/sys/mman/linux/munmap.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h>          // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is currently linux only. It has to be refactored suitably if
 // mmap is to be supported on non-linux operating systems also.
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, munmap, (void *addr, size_t size)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/posix_madvise.cpp b/libc/src/sys/mman/linux/posix_madvise.cpp
index b7b4d352c1f8a..047c7127e2100 100644
--- a/libc/src/sys/mman/linux/posix_madvise.cpp
+++ b/libc/src/sys/mman/linux/posix_madvise.cpp
@@ -13,7 +13,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This function is currently linux only. It has to be refactored suitably if
 // posix_madvise is to be supported on non-linux operating systems also.
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, posix_madvise, (void *addr, size_t size, int advice)) {
   return ret < 0 ? -ret : 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/shm_common.h b/libc/src/sys/mman/linux/shm_common.h
index 6f2a3fdc71b64..9de1eae37c292 100644
--- a/libc/src/sys/mman/linux/shm_common.h
+++ b/libc/src/sys/mman/linux/shm_common.h
@@ -15,7 +15,7 @@
 // TODO: Get PATH_MAX via https://github.com/llvm/llvm-project/issues/85121
 #include <linux/limits.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace shm_common {
 
@@ -50,4 +50,4 @@ LIBC_INLINE cpp::optional<SHMPath> translate_name(cpp::string_view name) {
 }
 } // namespace shm_common
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/shm_open.cpp b/libc/src/sys/mman/linux/shm_open.cpp
index 0d39b8b4e53db..214283b2cba18 100644
--- a/libc/src/sys/mman/linux/shm_open.cpp
+++ b/libc/src/sys/mman/linux/shm_open.cpp
@@ -11,7 +11,7 @@
 #include "src/fcntl/open.h"
 #include "src/sys/mman/linux/shm_common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static constexpr int DEFAULT_OFLAGS = O_NOFOLLOW | O_CLOEXEC | O_NONBLOCK;
 
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, shm_open, (const char *name, int oflags, mode_t mode)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/linux/shm_unlink.cpp b/libc/src/sys/mman/linux/shm_unlink.cpp
index 32f48d3e3e718..0b75a2377139f 100644
--- a/libc/src/sys/mman/linux/shm_unlink.cpp
+++ b/libc/src/sys/mman/linux/shm_unlink.cpp
@@ -10,7 +10,7 @@
 #include "src/sys/mman/linux/shm_common.h"
 #include "src/unistd/unlink.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, shm_unlink, (const char *name)) {
   using namespace shm_common;
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(int, shm_unlink, (const char *name)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/mman/madvise.h b/libc/src/sys/mman/madvise.h
index 59a03af79b587..7ef96049acd92 100644
--- a/libc/src/sys/mman/madvise.h
+++ b/libc/src/sys/mman/madvise.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t and off_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int madvise(void *addr, size_t size, int advice);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MADVISE_H
diff --git a/libc/src/sys/mman/mincore.h b/libc/src/sys/mman/mincore.h
index 403afaeb6af97..aade975406be3 100644
--- a/libc/src/sys/mman/mincore.h
+++ b/libc/src/sys/mman/mincore.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mincore(void *addr, size_t len, unsigned char *vec);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MINCORE_H
diff --git a/libc/src/sys/mman/mlock.h b/libc/src/sys/mman/mlock.h
index 73f329a0d52dc..e49d307ce9d62 100644
--- a/libc/src/sys/mman/mlock.h
+++ b/libc/src/sys/mman/mlock.h
@@ -12,10 +12,10 @@
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mlock(const void *addr, size_t len);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MLOCK_H
diff --git a/libc/src/sys/mman/mlock2.h b/libc/src/sys/mman/mlock2.h
index 872a7bfc5fba6..de375d0f117fa 100644
--- a/libc/src/sys/mman/mlock2.h
+++ b/libc/src/sys/mman/mlock2.h
@@ -12,12 +12,12 @@
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #ifdef SYS_mlock2
 int mlock2(const void *addr, size_t len, int flags);
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MLOCK2_H
diff --git a/libc/src/sys/mman/mlockall.h b/libc/src/sys/mman/mlockall.h
index bb4bd834310ee..7ef422746e129 100644
--- a/libc/src/sys/mman/mlockall.h
+++ b/libc/src/sys/mman/mlockall.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mlockall(int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MLOCKALL_H
diff --git a/libc/src/sys/mman/mmap.h b/libc/src/sys/mman/mmap.h
index 4425019c4ee1a..90994901e027e 100644
--- a/libc/src/sys/mman/mmap.h
+++ b/libc/src/sys/mman/mmap.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t and off_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *mmap(void *addr, size_t size, int prot, int flags, int fd, off_t offset);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MMAP_H
diff --git a/libc/src/sys/mman/mprotect.h b/libc/src/sys/mman/mprotect.h
index 2e59c7526b750..2b813ee6cfaf7 100644
--- a/libc/src/sys/mman/mprotect.h
+++ b/libc/src/sys/mman/mprotect.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t and off_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mprotect(void *addr, size_t size, int prot);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MPROTECT_H
diff --git a/libc/src/sys/mman/msync.h b/libc/src/sys/mman/msync.h
index 08afdd8c06285..7e00c35f7a56c 100644
--- a/libc/src/sys/mman/msync.h
+++ b/libc/src/sys/mman/msync.h
@@ -12,10 +12,10 @@
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int msync(void *addr, size_t len, int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MSYNC_H
diff --git a/libc/src/sys/mman/munlock.h b/libc/src/sys/mman/munlock.h
index 6aca82dae4533..327c654ee0c1a 100644
--- a/libc/src/sys/mman/munlock.h
+++ b/libc/src/sys/mman/munlock.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int munlock(const void *addr, size_t len);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MUNLOCK_H
diff --git a/libc/src/sys/mman/munlockall.h b/libc/src/sys/mman/munlockall.h
index 5abd4b873465e..50e08812c576b 100644
--- a/libc/src/sys/mman/munlockall.h
+++ b/libc/src/sys/mman/munlockall.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int munlockall(void);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MUNLOCKALL_H
diff --git a/libc/src/sys/mman/munmap.h b/libc/src/sys/mman/munmap.h
index 5d7c569043d1a..e5e5fa0a16703 100644
--- a/libc/src/sys/mman/munmap.h
+++ b/libc/src/sys/mman/munmap.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int munmap(void *addr, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_MUNMAP_H
diff --git a/libc/src/sys/mman/posix_madvise.h b/libc/src/sys/mman/posix_madvise.h
index b8a423bfa9191..97dac75a39a26 100644
--- a/libc/src/sys/mman/posix_madvise.h
+++ b/libc/src/sys/mman/posix_madvise.h
@@ -11,10 +11,10 @@
 
 #include <sys/mman.h> // For size_t and off_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int posix_madvise(void *addr, size_t size, int advice);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_POSIX_MADVISE_H
diff --git a/libc/src/sys/mman/shm_open.h b/libc/src/sys/mman/shm_open.h
index 91796d7b5c050..07141068f08f5 100644
--- a/libc/src/sys/mman/shm_open.h
+++ b/libc/src/sys/mman/shm_open.h
@@ -11,10 +11,10 @@
 
 #include <llvm-libc-types/mode_t.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int shm_open(const char *name, int oflag, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_SHM_OPEN_H
diff --git a/libc/src/sys/mman/shm_unlink.h b/libc/src/sys/mman/shm_unlink.h
index c38c06adbaa29..34841df14d424 100644
--- a/libc/src/sys/mman/shm_unlink.h
+++ b/libc/src/sys/mman/shm_unlink.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_SHM_UNLINK_H
 #define LLVM_LIBC_SRC_SYS_MMAN_SHM_UNLINK_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int shm_unlink(const char *name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_MMAN_SHM_UNLINK_H
diff --git a/libc/src/sys/prctl/linux/prctl.cpp b/libc/src/sys/prctl/linux/prctl.cpp
index b68b7621555dc..6fcd214578ce4 100644
--- a/libc/src/sys/prctl/linux/prctl.cpp
+++ b/libc/src/sys/prctl/linux/prctl.cpp
@@ -13,7 +13,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, prctl,
                    (int option, unsigned long arg2, unsigned long arg3,
@@ -34,4 +34,4 @@ LLVM_LIBC_FUNCTION(int, prctl,
   return static_cast<int>(ret);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/prctl/prctl.h b/libc/src/sys/prctl/prctl.h
index baa0676d4254b..c8cb23f056b7a 100644
--- a/libc/src/sys/prctl/prctl.h
+++ b/libc/src/sys/prctl/prctl.h
@@ -11,11 +11,11 @@
 
 #include <sys/prctl.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int prctl(int option, unsigned long arg2, unsigned long arg3,
           unsigned long arg4, unsigned long arg5);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_PRCTL_PRCTL_H
diff --git a/libc/src/sys/random/getrandom.h b/libc/src/sys/random/getrandom.h
index e1577d9bf1eaa..dc44cb45d4840 100644
--- a/libc/src/sys/random/getrandom.h
+++ b/libc/src/sys/random/getrandom.h
@@ -11,10 +11,10 @@
 
 #include <sys/random.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_RANDOM_GETRANDOM_H
diff --git a/libc/src/sys/random/linux/getrandom.cpp b/libc/src/sys/random/linux/getrandom.cpp
index 63038ad628a10..7e0ff9b54aaec 100644
--- a/libc/src/sys/random/linux/getrandom.cpp
+++ b/libc/src/sys/random/linux/getrandom.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, getrandom,
                    (void *buf, size_t buflen, unsigned int flags)) {
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(ssize_t, getrandom,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/resource/getrlimit.h b/libc/src/sys/resource/getrlimit.h
index f473e82f933be..6a57647acf00c 100644
--- a/libc/src/sys/resource/getrlimit.h
+++ b/libc/src/sys/resource/getrlimit.h
@@ -11,10 +11,10 @@
 
 #include <sys/resource.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int getrlimit(int resource, struct rlimit *lim);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_RESOURCE_GETRLIMIT_H
diff --git a/libc/src/sys/resource/linux/getrlimit.cpp b/libc/src/sys/resource/linux/getrlimit.cpp
index 4067beba6cd30..79038f0ad3fe5 100644
--- a/libc/src/sys/resource/linux/getrlimit.cpp
+++ b/libc/src/sys/resource/linux/getrlimit.cpp
@@ -15,7 +15,7 @@
 #include <sys/resource.h> // For struct rlimit
 #include <sys/syscall.h>  // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, getrlimit, (int res, struct rlimit *limits)) {
   int ret =
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, getrlimit, (int res, struct rlimit *limits)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/resource/linux/setrlimit.cpp b/libc/src/sys/resource/linux/setrlimit.cpp
index 0692763862342..f7a45e5a6123e 100644
--- a/libc/src/sys/resource/linux/setrlimit.cpp
+++ b/libc/src/sys/resource/linux/setrlimit.cpp
@@ -15,7 +15,7 @@
 #include <sys/resource.h> // For struct rlimit
 #include <sys/syscall.h>  // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, setrlimit, (int res, const struct rlimit *limits)) {
   int ret =
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, setrlimit, (int res, const struct rlimit *limits)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/resource/setrlimit.h b/libc/src/sys/resource/setrlimit.h
index d881b599833d2..90156d6cce826 100644
--- a/libc/src/sys/resource/setrlimit.h
+++ b/libc/src/sys/resource/setrlimit.h
@@ -11,10 +11,10 @@
 
 #include <sys/resource.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int setrlimit(int resource, const struct rlimit *lim);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_RESOURCE_SETRLIMIT_H
diff --git a/libc/src/sys/select/linux/select.cpp b/libc/src/sys/select/linux/select.cpp
index 9034b75e5c29e..6f5f375d741a4 100644
--- a/libc/src/sys/select/linux/select.cpp
+++ b/libc/src/sys/select/linux/select.cpp
@@ -18,7 +18,7 @@
 #include <stddef.h>      // For size_t
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct pselect6_sigset_t {
   sigset_t *ss;
@@ -69,4 +69,4 @@ LLVM_LIBC_FUNCTION(int, select,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/select/select.h b/libc/src/sys/select/select.h
index 65cd15cd365c4..091f5a1554783 100644
--- a/libc/src/sys/select/select.h
+++ b/libc/src/sys/select/select.h
@@ -11,11 +11,11 @@
 
 #include <sys/select.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int select(int nfds, fd_set *__restrict read_set, fd_set *__restrict write_set,
            fd_set *__restrict error_set, struct timeval *__restrict timeout);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_SELECT_SELECT_H
diff --git a/libc/src/sys/sendfile/linux/sendfile.cpp b/libc/src/sys/sendfile/linux/sendfile.cpp
index 5a7c012fe997d..f240a5c8b9e97 100644
--- a/libc/src/sys/sendfile/linux/sendfile.cpp
+++ b/libc/src/sys/sendfile/linux/sendfile.cpp
@@ -15,7 +15,7 @@
 #include <sys/sendfile.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, sendfile,
                    (int out_fd, int in_fd, off_t *offset, size_t count)) {
@@ -37,4 +37,4 @@ LLVM_LIBC_FUNCTION(ssize_t, sendfile,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/sendfile/sendfile.h b/libc/src/sys/sendfile/sendfile.h
index 14673bba3fbdf..c91c13d6809d8 100644
--- a/libc/src/sys/sendfile/sendfile.h
+++ b/libc/src/sys/sendfile/sendfile.h
@@ -11,10 +11,10 @@
 
 #include <sys/sendfile.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t sendfile(int, int, off_t *, size_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_SENDFILE_SENDFILE_H
diff --git a/libc/src/sys/socket/bind.h b/libc/src/sys/socket/bind.h
index 62e6221bf1b2d..a1e86690a00f6 100644
--- a/libc/src/sys/socket/bind.h
+++ b/libc/src/sys/socket/bind.h
@@ -11,10 +11,10 @@
 
 #include <sys/socket.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int bind(int domain, const struct sockaddr *address, socklen_t address_len);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_SOCKET_BIND_H
diff --git a/libc/src/sys/socket/linux/bind.cpp b/libc/src/sys/socket/linux/bind.cpp
index 36afc646d29f6..17414de16ee60 100644
--- a/libc/src/sys/socket/linux/bind.cpp
+++ b/libc/src/sys/socket/linux/bind.cpp
@@ -16,7 +16,7 @@
 #include <linux/net.h>   // For SYS_SOCKET socketcall number.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, bind,
                    (int domain, const struct sockaddr *address,
@@ -40,4 +40,4 @@ LLVM_LIBC_FUNCTION(int, bind,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/socket/linux/socket.cpp b/libc/src/sys/socket/linux/socket.cpp
index 90a7dc632e269..523d3bfabeca3 100644
--- a/libc/src/sys/socket/linux/socket.cpp
+++ b/libc/src/sys/socket/linux/socket.cpp
@@ -16,7 +16,7 @@
 #include <linux/net.h>   // For SYS_SOCKET socketcall number.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, socket, (int domain, int type, int protocol)) {
 #ifdef SYS_socket
@@ -38,4 +38,4 @@ LLVM_LIBC_FUNCTION(int, socket, (int domain, int type, int protocol)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/socket/socket.h b/libc/src/sys/socket/socket.h
index a6578989d2af8..3842b699e25eb 100644
--- a/libc/src/sys/socket/socket.h
+++ b/libc/src/sys/socket/socket.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_SYS_SOCKET_SOCKET_H
 #define LLVM_LIBC_SRC_SYS_SOCKET_SOCKET_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int socket(int domain, int type, int protocol);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_SOCKET_SOCKET_H
diff --git a/libc/src/sys/stat/chmod.h b/libc/src/sys/stat/chmod.h
index decb44222177b..4c89cdf2099ff 100644
--- a/libc/src/sys/stat/chmod.h
+++ b/libc/src/sys/stat/chmod.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int chmod(const char *path, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_CHMOD_H
diff --git a/libc/src/sys/stat/fchmod.h b/libc/src/sys/stat/fchmod.h
index 611bba16fad6c..37dd555c8ee49 100644
--- a/libc/src/sys/stat/fchmod.h
+++ b/libc/src/sys/stat/fchmod.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fchmod(int fd, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_FCHMOD_H
diff --git a/libc/src/sys/stat/fchmodat.h b/libc/src/sys/stat/fchmodat.h
index e7b12693558d4..b8e057dcd55e9 100644
--- a/libc/src/sys/stat/fchmodat.h
+++ b/libc/src/sys/stat/fchmodat.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fchmodat(int dirfd, const char *path, mode_t mode, int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_FCHMODAT_H
diff --git a/libc/src/sys/stat/fstat.h b/libc/src/sys/stat/fstat.h
index 7633ee60a374e..53f9d636a7727 100644
--- a/libc/src/sys/stat/fstat.h
+++ b/libc/src/sys/stat/fstat.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fstat(int fd, struct stat *statbuf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_FSTAT_H
diff --git a/libc/src/sys/stat/linux/chmod.cpp b/libc/src/sys/stat/linux/chmod.cpp
index 25e5e69af71a0..2808b1d723071 100644
--- a/libc/src/sys/stat/linux/chmod.cpp
+++ b/libc/src/sys/stat/linux/chmod.cpp
@@ -16,7 +16,7 @@
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, chmod, (const char *path, mode_t mode)) {
 #ifdef SYS_chmod
@@ -38,4 +38,4 @@ LLVM_LIBC_FUNCTION(int, chmod, (const char *path, mode_t mode)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/fchmod.cpp b/libc/src/sys/stat/linux/fchmod.cpp
index cdc9cbf37ba54..b2bb7939ff366 100644
--- a/libc/src/sys/stat/linux/fchmod.cpp
+++ b/libc/src/sys/stat/linux/fchmod.cpp
@@ -16,7 +16,7 @@
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fchmod, (int fd, mode_t mode)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_fchmod, fd, mode);
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, fchmod, (int fd, mode_t mode)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/fchmodat.cpp b/libc/src/sys/stat/linux/fchmodat.cpp
index 43b4cf00111ba..6998d911ee12f 100644
--- a/libc/src/sys/stat/linux/fchmodat.cpp
+++ b/libc/src/sys/stat/linux/fchmodat.cpp
@@ -15,7 +15,7 @@
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fchmodat,
                    (int dirfd, const char *path, mode_t mode, int flags)) {
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, fchmodat,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/fstat.cpp b/libc/src/sys/stat/linux/fstat.cpp
index 516417858569c..1e2460500c5e9 100644
--- a/libc/src/sys/stat/linux/fstat.cpp
+++ b/libc/src/sys/stat/linux/fstat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fstat, (int fd, struct stat *statbuf)) {
   int err = statx(fd, "", AT_EMPTY_PATH, statbuf);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, fstat, (int fd, struct stat *statbuf)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/kernel_statx.h b/libc/src/sys/stat/linux/kernel_statx.h
index 60969160b9ba4..0813a2a71510f 100644
--- a/libc/src/sys/stat/linux/kernel_statx.h
+++ b/libc/src/sys/stat/linux/kernel_statx.h
@@ -67,7 +67,7 @@ constexpr unsigned int STATX_BASIC_STATS_MASK = 0x7FF;
 
 } // Anonymous namespace
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LIBC_INLINE int statx(int dirfd, const char *__restrict path, int flags,
                       struct stat *__restrict statbuf) {
@@ -98,6 +98,6 @@ LIBC_INLINE int statx(int dirfd, const char *__restrict path, int flags,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_LINUX_KERNEL_STATX_H
diff --git a/libc/src/sys/stat/linux/lstat.cpp b/libc/src/sys/stat/linux/lstat.cpp
index b2698148973a5..2e8042e59f09c 100644
--- a/libc/src/sys/stat/linux/lstat.cpp
+++ b/libc/src/sys/stat/linux/lstat.cpp
@@ -16,7 +16,7 @@
 #include <fcntl.h>
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, lstat,
                    (const char *__restrict path,
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, lstat,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/mkdir.cpp b/libc/src/sys/stat/linux/mkdir.cpp
index 63b64ac091a87..46f563ba22e30 100644
--- a/libc/src/sys/stat/linux/mkdir.cpp
+++ b/libc/src/sys/stat/linux/mkdir.cpp
@@ -16,7 +16,7 @@
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, mkdir, (const char *path, mode_t mode)) {
 #ifdef SYS_mkdir
@@ -35,4 +35,4 @@ LLVM_LIBC_FUNCTION(int, mkdir, (const char *path, mode_t mode)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/mkdirat.cpp b/libc/src/sys/stat/linux/mkdirat.cpp
index 0128d7c081cfd..f308ff4b25ee1 100644
--- a/libc/src/sys/stat/linux/mkdirat.cpp
+++ b/libc/src/sys/stat/linux/mkdirat.cpp
@@ -15,7 +15,7 @@
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, mkdirat, (int dfd, const char *path, mode_t mode)) {
 #ifdef SYS_mkdirat
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, mkdirat, (int dfd, const char *path, mode_t mode)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/linux/stat.cpp b/libc/src/sys/stat/linux/stat.cpp
index c30c8b65da1e8..a07cbea6ab652 100644
--- a/libc/src/sys/stat/linux/stat.cpp
+++ b/libc/src/sys/stat/linux/stat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, stat,
                    (const char *__restrict path,
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, stat,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/stat/lstat.h b/libc/src/sys/stat/lstat.h
index 42bd8e932da75..cd467493781fa 100644
--- a/libc/src/sys/stat/lstat.h
+++ b/libc/src/sys/stat/lstat.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int lstat(const char *__restrict path, struct stat *__restrict statbuf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_LSTAT_H
diff --git a/libc/src/sys/stat/mkdir.h b/libc/src/sys/stat/mkdir.h
index 9f2991d850cbc..e8fe3043686e2 100644
--- a/libc/src/sys/stat/mkdir.h
+++ b/libc/src/sys/stat/mkdir.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mkdir(const char *path, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_MKDIR_H
diff --git a/libc/src/sys/stat/mkdirat.h b/libc/src/sys/stat/mkdirat.h
index 322209754fc0b..d52cbe89c2c3c 100644
--- a/libc/src/sys/stat/mkdirat.h
+++ b/libc/src/sys/stat/mkdirat.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mkdirat(int dfd, const char *path, mode_t mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_MKDIRAT_H
diff --git a/libc/src/sys/stat/stat.h b/libc/src/sys/stat/stat.h
index 5d2eba5bd74c4..72c94968829fa 100644
--- a/libc/src/sys/stat/stat.h
+++ b/libc/src/sys/stat/stat.h
@@ -11,10 +11,10 @@
 
 #include <sys/stat.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int stat(const char *__restrict path, struct stat *__restrict statbuf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STAT_STAT_H
diff --git a/libc/src/sys/statvfs/fstatvfs.h b/libc/src/sys/statvfs/fstatvfs.h
index 6ca76a459ae5b..2bac94752d789 100644
--- a/libc/src/sys/statvfs/fstatvfs.h
+++ b/libc/src/sys/statvfs/fstatvfs.h
@@ -11,10 +11,10 @@
 
 #include "llvm-libc-types/struct_statvfs.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fstatvfs(int fd, struct statvfs *buf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STATVFS_FSTATVFS_H
diff --git a/libc/src/sys/statvfs/linux/fstatvfs.cpp b/libc/src/sys/statvfs/linux/fstatvfs.cpp
index 488989abbad70..2b7e661491f3f 100644
--- a/libc/src/sys/statvfs/linux/fstatvfs.cpp
+++ b/libc/src/sys/statvfs/linux/fstatvfs.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fstatvfs, (int fd, struct statvfs *buf)) {
   using namespace statfs_utils;
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, fstatvfs, (int fd, struct statvfs *buf)) {
   return result ? 0 : -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/statvfs/linux/statfs_utils.h b/libc/src/sys/statvfs/linux/statfs_utils.h
index 52f810d702d2a..4016c566fb8dd 100644
--- a/libc/src/sys/statvfs/linux/statfs_utils.h
+++ b/libc/src/sys/statvfs/linux/statfs_utils.h
@@ -16,7 +16,7 @@
 #include "src/errno/libc_errno.h"
 #include <asm/statfs.h>
 #include <sys/syscall.h>
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace statfs_utils {
 #ifdef SYS_statfs64
@@ -91,6 +91,6 @@ LIBC_INLINE struct statvfs statfs_to_statvfs(const LinuxStatFs &in) {
   return out;
 }
 } // namespace statfs_utils
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STATVFS_LINUX_STATFS_TO_STATVFS_H
diff --git a/libc/src/sys/statvfs/linux/statvfs.cpp b/libc/src/sys/statvfs/linux/statvfs.cpp
index a438ef1f0117e..a9cbc125fe31f 100644
--- a/libc/src/sys/statvfs/linux/statvfs.cpp
+++ b/libc/src/sys/statvfs/linux/statvfs.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/libc_assert.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, statvfs,
                    (const char *__restrict path,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, statvfs,
   return result ? 0 : -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/statvfs/statvfs.h b/libc/src/sys/statvfs/statvfs.h
index 792c7ddd0164e..92458ce5940fb 100644
--- a/libc/src/sys/statvfs/statvfs.h
+++ b/libc/src/sys/statvfs/statvfs.h
@@ -11,10 +11,10 @@
 
 #include "llvm-libc-types/struct_statvfs.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int statvfs(const char *__restrict path, struct statvfs *__restrict buf);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_STATVFS_STATVFS_H
diff --git a/libc/src/sys/utsname/linux/uname.cpp b/libc/src/sys/utsname/linux/uname.cpp
index f0796b63f62e9..0f904ae84ede4 100644
--- a/libc/src/sys/utsname/linux/uname.cpp
+++ b/libc/src/sys/utsname/linux/uname.cpp
@@ -15,7 +15,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <sys/utsname.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, uname, (struct utsname * name)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_uname, name);
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(int, uname, (struct utsname * name)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/utsname/uname.h b/libc/src/sys/utsname/uname.h
index b347cf00f33b9..60c99dd94a42b 100644
--- a/libc/src/sys/utsname/uname.h
+++ b/libc/src/sys/utsname/uname.h
@@ -11,10 +11,10 @@
 
 #include <sys/utsname.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int uname(struct utsname *name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_UTSNAME_UNAME_H
diff --git a/libc/src/sys/wait/linux/wait.cpp b/libc/src/sys/wait/linux/wait.cpp
index 02e6a34c1e8b1..be3af7fb68824 100644
--- a/libc/src/sys/wait/linux/wait.cpp
+++ b/libc/src/sys/wait/linux/wait.cpp
@@ -12,7 +12,7 @@
 #include "src/sys/wait/wait.h"
 #include "src/sys/wait/wait4Impl.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, wait, (int *wait_status)) {
   auto result = internal::wait4impl(-1, wait_status, 0, 0);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(pid_t, wait, (int *wait_status)) {
   return result.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/wait/linux/wait4.cpp b/libc/src/sys/wait/linux/wait4.cpp
index 84036caf0a7b3..b5a27b4729fd6 100644
--- a/libc/src/sys/wait/linux/wait4.cpp
+++ b/libc/src/sys/wait/linux/wait4.cpp
@@ -12,7 +12,7 @@
 #include "src/sys/wait/wait4.h"
 #include "src/sys/wait/wait4Impl.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, wait4,
                    (pid_t pid, int *wait_status, int options,
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(pid_t, wait4,
   return result.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/wait/linux/waitpid.cpp b/libc/src/sys/wait/linux/waitpid.cpp
index b2e8229a52583..bd8ca67c7f362 100644
--- a/libc/src/sys/wait/linux/waitpid.cpp
+++ b/libc/src/sys/wait/linux/waitpid.cpp
@@ -12,7 +12,7 @@
 #include "src/sys/wait/wait4Impl.h"
 #include "src/sys/wait/waitpid.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, waitpid, (pid_t pid, int *wait_status, int options)) {
   auto result = internal::wait4impl(pid, wait_status, options, 0);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(pid_t, waitpid, (pid_t pid, int *wait_status, int options)) {
   return result.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/sys/wait/wait.h b/libc/src/sys/wait/wait.h
index abe5249b83c81..28448d9f5cd0f 100644
--- a/libc/src/sys/wait/wait.h
+++ b/libc/src/sys/wait/wait.h
@@ -11,10 +11,10 @@
 
 #include <sys/wait.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t wait(int *waitstatus);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_WAIT_WAIT_H
diff --git a/libc/src/sys/wait/wait4.h b/libc/src/sys/wait/wait4.h
index 3205b28e968ef..402ae64ac9c92 100644
--- a/libc/src/sys/wait/wait4.h
+++ b/libc/src/sys/wait/wait4.h
@@ -11,10 +11,10 @@
 
 #include <sys/wait.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t wait4(pid_t pid, int *waitstatus, int options, struct rusage *usage);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_WAIT_WAIT4_H
diff --git a/libc/src/sys/wait/wait4Impl.h b/libc/src/sys/wait/wait4Impl.h
index 956ad0f8c9c41..f59a4eba59d17 100644
--- a/libc/src/sys/wait/wait4Impl.h
+++ b/libc/src/sys/wait/wait4Impl.h
@@ -18,7 +18,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <sys/wait.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 // The implementation of wait here is very minimal. We will add more
@@ -80,6 +80,6 @@ LIBC_INLINE ErrorOr<pid_t> wait4impl(pid_t pid, int *wait_status, int options,
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_WAIT_WAIT4IMPL_H
diff --git a/libc/src/sys/wait/waitpid.h b/libc/src/sys/wait/waitpid.h
index 37ebf289ff072..b6a218933ae50 100644
--- a/libc/src/sys/wait/waitpid.h
+++ b/libc/src/sys/wait/waitpid.h
@@ -11,10 +11,10 @@
 
 #include <sys/wait.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t waitpid(pid_t pid, int *waitstatus, int options);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_SYS_WAIT_WAITPID_H
diff --git a/libc/src/termios/cfgetispeed.h b/libc/src/termios/cfgetispeed.h
index 7ea280f69da44..3464169e780de 100644
--- a/libc/src/termios/cfgetispeed.h
+++ b/libc/src/termios/cfgetispeed.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 speed_t cfgetispeed(const struct termios *t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_CFGETISPEED_H
diff --git a/libc/src/termios/cfgetospeed.h b/libc/src/termios/cfgetospeed.h
index 95e3edb51b382..a3f168a02d281 100644
--- a/libc/src/termios/cfgetospeed.h
+++ b/libc/src/termios/cfgetospeed.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 speed_t cfgetospeed(const struct termios *t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_CFGETOSPEED_H
diff --git a/libc/src/termios/cfsetispeed.h b/libc/src/termios/cfsetispeed.h
index e03a2d1ef0cf5..6c4a237333878 100644
--- a/libc/src/termios/cfsetispeed.h
+++ b/libc/src/termios/cfsetispeed.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cfsetispeed(struct termios *t, speed_t speed);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_CFSETISPEED_H
diff --git a/libc/src/termios/cfsetospeed.h b/libc/src/termios/cfsetospeed.h
index 74d41abc5326d..0077a7770186f 100644
--- a/libc/src/termios/cfsetospeed.h
+++ b/libc/src/termios/cfsetospeed.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cfsetospeed(struct termios *t, speed_t speed);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_CFSETOSPEED_H
diff --git a/libc/src/termios/linux/cfgetispeed.cpp b/libc/src/termios/linux/cfgetispeed.cpp
index 18e34b2dcb07c..881bb4c30dcab 100644
--- a/libc/src/termios/linux/cfgetispeed.cpp
+++ b/libc/src/termios/linux/cfgetispeed.cpp
@@ -12,10 +12,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(speed_t, cfgetispeed, (const struct termios *t)) {
   return t->c_cflag & CBAUD;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/cfgetospeed.cpp b/libc/src/termios/linux/cfgetospeed.cpp
index 1989b3feabe97..b0709c88d725d 100644
--- a/libc/src/termios/linux/cfgetospeed.cpp
+++ b/libc/src/termios/linux/cfgetospeed.cpp
@@ -12,10 +12,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(speed_t, cfgetospeed, (const struct termios *t)) {
   return t->c_cflag & CBAUD;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/cfsetispeed.cpp b/libc/src/termios/linux/cfsetispeed.cpp
index 0e8ac55fe700e..7b518116a19f1 100644
--- a/libc/src/termios/linux/cfsetispeed.cpp
+++ b/libc/src/termios/linux/cfsetispeed.cpp
@@ -13,7 +13,7 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, cfsetispeed, (struct termios * t, speed_t speed)) {
   constexpr speed_t NOT_SPEED_MASK = ~speed_t(CBAUD);
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, cfsetispeed, (struct termios * t, speed_t speed)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/cfsetospeed.cpp b/libc/src/termios/linux/cfsetospeed.cpp
index d21f629cb74b6..f6c0d34af5525 100644
--- a/libc/src/termios/linux/cfsetospeed.cpp
+++ b/libc/src/termios/linux/cfsetospeed.cpp
@@ -13,7 +13,7 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, cfsetospeed, (struct termios * t, speed_t speed)) {
   constexpr speed_t NOT_SPEED_MASK = ~speed_t(CBAUD);
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, cfsetospeed, (struct termios * t, speed_t speed)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/kernel_termios.h b/libc/src/termios/linux/kernel_termios.h
index d96de72029f76..5cbc6252c832d 100644
--- a/libc/src/termios/linux/kernel_termios.h
+++ b/libc/src/termios/linux/kernel_termios.h
@@ -12,7 +12,7 @@
 #include <stddef.h>
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The kernel's struct termios is different from the libc's struct termios. The
 // kernel's syscalls expect the size and layout of its definition of struct
@@ -36,6 +36,6 @@ struct kernel_termios {
   cc_t c_cc[KERNEL_NCCS];
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_LINUX_KERNEL_TERMIOS_H
diff --git a/libc/src/termios/linux/tcdrain.cpp b/libc/src/termios/linux/tcdrain.cpp
index c3826ff9a101c..9e4aa100dae32 100644
--- a/libc/src/termios/linux/tcdrain.cpp
+++ b/libc/src/termios/linux/tcdrain.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tcdrain, (int fd)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_ioctl, fd, TCSBRK, 1);
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, tcdrain, (int fd)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcflow.cpp b/libc/src/termios/linux/tcflow.cpp
index 9753ef767e927..4496a10eeb1b9 100644
--- a/libc/src/termios/linux/tcflow.cpp
+++ b/libc/src/termios/linux/tcflow.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tcflow, (int fd, int action)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_ioctl, fd, TCXONC, action);
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, tcflow, (int fd, int action)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcflush.cpp b/libc/src/termios/linux/tcflush.cpp
index 9c7e8f02431e8..bf7487c055491 100644
--- a/libc/src/termios/linux/tcflush.cpp
+++ b/libc/src/termios/linux/tcflush.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tcflush, (int fd, int queue_selector)) {
   int ret =
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(int, tcflush, (int fd, int queue_selector)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcgetattr.cpp b/libc/src/termios/linux/tcgetattr.cpp
index 254c48521bb90..3c39904e0ba35 100644
--- a/libc/src/termios/linux/tcgetattr.cpp
+++ b/libc/src/termios/linux/tcgetattr.cpp
@@ -17,7 +17,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tcgetattr, (int fd, struct termios *t)) {
   LIBC_NAMESPACE::kernel_termios kt;
@@ -43,4 +43,4 @@ LLVM_LIBC_FUNCTION(int, tcgetattr, (int fd, struct termios *t)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcgetsid.cpp b/libc/src/termios/linux/tcgetsid.cpp
index 7b2abf8f4cf08..565bc8175b695 100644
--- a/libc/src/termios/linux/tcgetsid.cpp
+++ b/libc/src/termios/linux/tcgetsid.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, tcgetsid, (int fd)) {
   pid_t sid;
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(pid_t, tcgetsid, (int fd)) {
   return sid;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcsendbreak.cpp b/libc/src/termios/linux/tcsendbreak.cpp
index fdd3f8adf7d8d..f733c3f0aea6a 100644
--- a/libc/src/termios/linux/tcsendbreak.cpp
+++ b/libc/src/termios/linux/tcsendbreak.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, tcsendbreak, (int fd, int /* unused duration */)) {
   // POSIX leaves the behavior for non-zero duration implementation dependent.
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(pid_t, tcsendbreak, (int fd, int /* unused duration */)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/linux/tcsetattr.cpp b/libc/src/termios/linux/tcsetattr.cpp
index ba500a00210d9..0b26c45bafe80 100644
--- a/libc/src/termios/linux/tcsetattr.cpp
+++ b/libc/src/termios/linux/tcsetattr.cpp
@@ -17,7 +17,7 @@
 #include <sys/syscall.h> // For syscall numbers
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tcsetattr,
                    (int fd, int actions, const struct termios *t)) {
@@ -59,4 +59,4 @@ LLVM_LIBC_FUNCTION(int, tcsetattr,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/termios/tcdrain.h b/libc/src/termios/tcdrain.h
index 52042063108cc..47db17cd31a58 100644
--- a/libc/src/termios/tcdrain.h
+++ b/libc/src/termios/tcdrain.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcdrain(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCDRAIN_H
diff --git a/libc/src/termios/tcflow.h b/libc/src/termios/tcflow.h
index 267d3f682d7b2..1ad85b0e774b5 100644
--- a/libc/src/termios/tcflow.h
+++ b/libc/src/termios/tcflow.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcflow(int fd, int action);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCFLOW_H
diff --git a/libc/src/termios/tcflush.h b/libc/src/termios/tcflush.h
index d631ca21379e9..2cfa2fed1c001 100644
--- a/libc/src/termios/tcflush.h
+++ b/libc/src/termios/tcflush.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcflush(int fd, int queue_selector);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCFLUSH_H
diff --git a/libc/src/termios/tcgetattr.h b/libc/src/termios/tcgetattr.h
index c39aa4135256d..15f20c2625801 100644
--- a/libc/src/termios/tcgetattr.h
+++ b/libc/src/termios/tcgetattr.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcgetattr(int fd, struct termios *t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCGETATTR_H
diff --git a/libc/src/termios/tcgetsid.h b/libc/src/termios/tcgetsid.h
index 07dbb22b16775..a46941c07d97b 100644
--- a/libc/src/termios/tcgetsid.h
+++ b/libc/src/termios/tcgetsid.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t tcgetsid(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCGETSID_H
diff --git a/libc/src/termios/tcsendbreak.h b/libc/src/termios/tcsendbreak.h
index 487fdad504804..b63e59261eaf0 100644
--- a/libc/src/termios/tcsendbreak.h
+++ b/libc/src/termios/tcsendbreak.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcsendbreak(int fd, int duration);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCSENDBREAK_H
diff --git a/libc/src/termios/tcsetattr.h b/libc/src/termios/tcsetattr.h
index d514ac71210bb..0dd6e23a64e20 100644
--- a/libc/src/termios/tcsetattr.h
+++ b/libc/src/termios/tcsetattr.h
@@ -11,10 +11,10 @@
 
 #include <termios.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tcsetattr(int fd, int actions, const struct termios *t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TERMIOS_TCSETATTR_H
diff --git a/libc/src/threads/call_once.cpp b/libc/src/threads/call_once.cpp
index 2d91094b12091..d28ce8ae5054d 100644
--- a/libc/src/threads/call_once.cpp
+++ b/libc/src/threads/call_once.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For once_flag and __call_once_func_t definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, call_once,
                    (once_flag * flag, __call_once_func_t func)) {
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(void, call_once,
            reinterpret_cast<CallOnceCallback *>(func));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/call_once.h b/libc/src/threads/call_once.h
index 186d63cecdbdd..e46ad0de59f73 100644
--- a/libc/src/threads/call_once.h
+++ b/libc/src/threads/call_once.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void call_once(once_flag *flag, __call_once_func_t func);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CALL_ONCE_H
diff --git a/libc/src/threads/cnd_broadcast.h b/libc/src/threads/cnd_broadcast.h
index 4e996f22748f3..6998f42135738 100644
--- a/libc/src/threads/cnd_broadcast.h
+++ b/libc/src/threads/cnd_broadcast.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cnd_broadcast(cnd_t *cond);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CND_BROADCAST_H
diff --git a/libc/src/threads/cnd_destroy.h b/libc/src/threads/cnd_destroy.h
index d102e7b83e7bc..f8a80705c8dbe 100644
--- a/libc/src/threads/cnd_destroy.h
+++ b/libc/src/threads/cnd_destroy.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void cnd_destroy(cnd_t *cond);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CND_DESTROY_H
diff --git a/libc/src/threads/cnd_init.h b/libc/src/threads/cnd_init.h
index c4fc02f5f9e7e..651640d6f2b2e 100644
--- a/libc/src/threads/cnd_init.h
+++ b/libc/src/threads/cnd_init.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cnd_init(cnd_t *cond);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CND_INIT_H
diff --git a/libc/src/threads/cnd_signal.h b/libc/src/threads/cnd_signal.h
index 4c60a9295299c..28335e8ea9e3f 100644
--- a/libc/src/threads/cnd_signal.h
+++ b/libc/src/threads/cnd_signal.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cnd_signal(cnd_t *cond);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CND_SIGNAL_H
diff --git a/libc/src/threads/cnd_wait.h b/libc/src/threads/cnd_wait.h
index 5d2cdbb68c78f..d089e6eccae86 100644
--- a/libc/src/threads/cnd_wait.h
+++ b/libc/src/threads/cnd_wait.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int cnd_wait(cnd_t *cond, mtx_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_CND_WAIT_H
diff --git a/libc/src/threads/linux/Futex.h b/libc/src/threads/linux/Futex.h
index 4b426ac51ad17..bad8abb7abb59 100644
--- a/libc/src/threads/linux/Futex.h
+++ b/libc/src/threads/linux/Futex.h
@@ -11,7 +11,7 @@
 
 #include "src/__support/macros/properties/architectures.h" // Architecture macros
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if (defined(LIBC_TARGET_ARCH_IS_AARCH64) ||                                   \
      defined(LIBC_TARGET_ARCH_IS_X86_64))
@@ -27,6 +27,6 @@ static_assert(sizeof(FutexWordType) == 4,
 #error "Futex word base type not defined for the target architecture."
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_LINUX_FUTEX_H
diff --git a/libc/src/threads/linux/cnd_broadcast.cpp b/libc/src/threads/linux/cnd_broadcast.cpp
index a56aaa21ee122..232317e01a36c 100644
--- a/libc/src/threads/linux/cnd_broadcast.cpp
+++ b/libc/src/threads/linux/cnd_broadcast.cpp
@@ -13,7 +13,7 @@
 // TODO: https://github.com/llvm/llvm-project/issues/92968
 #include <threads.h> // cnd_t, thrd_error, thrd_success
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(CndVar) == sizeof(cnd_t));
 
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, cnd_broadcast, (cnd_t * cond)) {
   return thrd_success;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/linux/cnd_destroy.cpp b/libc/src/threads/linux/cnd_destroy.cpp
index 2b03b18c48e46..00c65207c2f5e 100644
--- a/libc/src/threads/linux/cnd_destroy.cpp
+++ b/libc/src/threads/linux/cnd_destroy.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // cnd_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(CndVar) == sizeof(cnd_t));
 
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void, cnd_destroy, (cnd_t * cond)) {
   CndVar::destroy(cndvar);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/linux/cnd_init.cpp b/libc/src/threads/linux/cnd_init.cpp
index d3d2c8a57d82a..14fa24e41fefa 100644
--- a/libc/src/threads/linux/cnd_init.cpp
+++ b/libc/src/threads/linux/cnd_init.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // cnd_t, thrd_error, thrd_success
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(CndVar) == sizeof(cnd_t));
 
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, cnd_init, (cnd_t * cond)) {
   return CndVar::init(cndvar) ? thrd_error : thrd_success;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/linux/cnd_signal.cpp b/libc/src/threads/linux/cnd_signal.cpp
index f144013e08821..19d7611e7930c 100644
--- a/libc/src/threads/linux/cnd_signal.cpp
+++ b/libc/src/threads/linux/cnd_signal.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // cnd_t, thrd_error, thrd_success
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(CndVar) == sizeof(cnd_t));
 
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, cnd_signal, (cnd_t * cond)) {
   return thrd_success;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/linux/cnd_wait.cpp b/libc/src/threads/linux/cnd_wait.cpp
index 97cade3f231d7..188fb7b170d9c 100644
--- a/libc/src/threads/linux/cnd_wait.cpp
+++ b/libc/src/threads/linux/cnd_wait.cpp
@@ -13,7 +13,7 @@
 
 #include <threads.h> // cnd_t, mtx_t, thrd_error, thrd_success
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(CndVar) == sizeof(cnd_t));
 
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, cnd_wait, (cnd_t * cond, mtx_t *mtx)) {
   return cndvar->wait(mutex) ? thrd_error : thrd_success;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/mtx_destroy.cpp b/libc/src/threads/mtx_destroy.cpp
index 5ee4777f5b2c2..95fd1c27e4a31 100644
--- a/libc/src/threads/mtx_destroy.cpp
+++ b/libc/src/threads/mtx_destroy.cpp
@@ -12,8 +12,8 @@
 
 #include <threads.h> // For mtx_t definition.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, mtx_destroy, (mtx_t *)) {}
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/mtx_destroy.h b/libc/src/threads/mtx_destroy.h
index 1abf5d572f5dc..891a59ec4cbce 100644
--- a/libc/src/threads/mtx_destroy.h
+++ b/libc/src/threads/mtx_destroy.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void mtx_destroy(mtx_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_MTX_DESTROY_H
diff --git a/libc/src/threads/mtx_init.cpp b/libc/src/threads/mtx_init.cpp
index 7cd848d12ee6d..4793bd2eaea46 100644
--- a/libc/src/threads/mtx_init.cpp
+++ b/libc/src/threads/mtx_init.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For mtx_t definition.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(Mutex) <= sizeof(mtx_t),
               "The public mtx_t type cannot accommodate the internal mutex "
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, mtx_init, (mtx_t * m, int type)) {
   return err == MutexError::NONE ? thrd_success : thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/mtx_init.h b/libc/src/threads/mtx_init.h
index 69294d7966663..fc563130e9fc1 100644
--- a/libc/src/threads/mtx_init.h
+++ b/libc/src/threads/mtx_init.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mtx_init(mtx_t *mutex, int type);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_MTX_INIT_H
diff --git a/libc/src/threads/mtx_lock.cpp b/libc/src/threads/mtx_lock.cpp
index 013a88a8e02b7..1ead36abf87d8 100644
--- a/libc/src/threads/mtx_lock.cpp
+++ b/libc/src/threads/mtx_lock.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For mtx_t definition.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The implementation currently handles only plain mutexes.
 LLVM_LIBC_FUNCTION(int, mtx_lock, (mtx_t * mutex)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, mtx_lock, (mtx_t * mutex)) {
   return err == MutexError::NONE ? thrd_success : thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/mtx_lock.h b/libc/src/threads/mtx_lock.h
index 15c9e1a12545f..4410ae0de8434 100644
--- a/libc/src/threads/mtx_lock.h
+++ b/libc/src/threads/mtx_lock.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mtx_lock(mtx_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_MTX_LOCK_H
diff --git a/libc/src/threads/mtx_unlock.cpp b/libc/src/threads/mtx_unlock.cpp
index a72ee4427c5a9..2201f17ba9542 100644
--- a/libc/src/threads/mtx_unlock.cpp
+++ b/libc/src/threads/mtx_unlock.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For mtx_t definition.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The implementation currently handles only plain mutexes.
 LLVM_LIBC_FUNCTION(int, mtx_unlock, (mtx_t * mutex)) {
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(int, mtx_unlock, (mtx_t * mutex)) {
   return err == MutexError::NONE ? thrd_success : thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/mtx_unlock.h b/libc/src/threads/mtx_unlock.h
index 54fb034a04a21..8c9bdd78f1ef9 100644
--- a/libc/src/threads/mtx_unlock.h
+++ b/libc/src/threads/mtx_unlock.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int mtx_unlock(mtx_t *mutex);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_MTX_UNLOCK_H
diff --git a/libc/src/threads/thrd_create.cpp b/libc/src/threads/thrd_create.cpp
index 06cba84eb8646..a2380589fedd1 100644
--- a/libc/src/threads/thrd_create.cpp
+++ b/libc/src/threads/thrd_create.cpp
@@ -13,7 +13,7 @@
 #include <errno.h>
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, thrd_create,
     return thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_create.h b/libc/src/threads/thrd_create.h
index 0efa6f58c47ea..c85d6fe59ad1b 100644
--- a/libc/src/threads/thrd_create.h
+++ b/libc/src/threads/thrd_create.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int thrd_create(thrd_t *thread, thrd_start_t func, void *arg);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_CREATE_H
diff --git a/libc/src/threads/thrd_current.cpp b/libc/src/threads/thrd_current.cpp
index b5ea0432aa523..d5fe74504c9c0 100644
--- a/libc/src/threads/thrd_current.cpp
+++ b/libc/src/threads/thrd_current.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(thrd_t, thrd_current, ()) {
   return th;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_current.h b/libc/src/threads/thrd_current.h
index 2125729ccffeb..417f33b13ff78 100644
--- a/libc/src/threads/thrd_current.h
+++ b/libc/src/threads/thrd_current.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 thrd_t thrd_current();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_CURRENT_H
diff --git a/libc/src/threads/thrd_detach.cpp b/libc/src/threads/thrd_detach.cpp
index 17731c638bd52..bf7ffe0a8291c 100644
--- a/libc/src/threads/thrd_detach.cpp
+++ b/libc/src/threads/thrd_detach.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, thrd_detach, (thrd_t th)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_detach.h b/libc/src/threads/thrd_detach.h
index 64f2094acd65d..b5d3f680e8191 100644
--- a/libc/src/threads/thrd_detach.h
+++ b/libc/src/threads/thrd_detach.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int thrd_detach(thrd_t thread);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_DETACH_H
diff --git a/libc/src/threads/thrd_equal.cpp b/libc/src/threads/thrd_equal.cpp
index b9717cf121b04..80bb5a64f6c46 100644
--- a/libc/src/threads/thrd_equal.cpp
+++ b/libc/src/threads/thrd_equal.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, thrd_equal, (thrd_t lhs, thrd_t rhs)) {
   return *lhs_internal == *rhs_internal;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_equal.h b/libc/src/threads/thrd_equal.h
index 5878ea458ba41..8020049da59e1 100644
--- a/libc/src/threads/thrd_equal.h
+++ b/libc/src/threads/thrd_equal.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int thrd_equal(thrd_t lhs, thrd_t rhs);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_EQUAL_H
diff --git a/libc/src/threads/thrd_exit.cpp b/libc/src/threads/thrd_exit.cpp
index 67a7a419cf99a..1f6a8874da9c3 100644
--- a/libc/src/threads/thrd_exit.cpp
+++ b/libc/src/threads/thrd_exit.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(void, thrd_exit, (int retval)) {
   thread_exit(ThreadReturnValue(retval), ThreadStyle::STDC);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_exit.h b/libc/src/threads/thrd_exit.h
index 19eb027d0357a..701c061fcb2d1 100644
--- a/libc/src/threads/thrd_exit.h
+++ b/libc/src/threads/thrd_exit.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void thrd_exit(int retval);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_EXIT_H
diff --git a/libc/src/threads/thrd_join.cpp b/libc/src/threads/thrd_join.cpp
index cc8ba4b97a3a5..3feb293cbe872 100644
--- a/libc/src/threads/thrd_join.cpp
+++ b/libc/src/threads/thrd_join.cpp
@@ -12,7 +12,7 @@
 
 #include <threads.h> // For thrd_* type definitions.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 static_assert(sizeof(thrd_t) == sizeof(LIBC_NAMESPACE::Thread),
               "Mismatch between thrd_t and internal Thread.");
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, thrd_join, (thrd_t th, int *retval)) {
   return result == 0 ? thrd_success : thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/thrd_join.h b/libc/src/threads/thrd_join.h
index 21a398c6e8352..cfd8f68b5b975 100644
--- a/libc/src/threads/thrd_join.h
+++ b/libc/src/threads/thrd_join.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int thrd_join(thrd_t thread, int *retval);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_THRD_JOIN_H
diff --git a/libc/src/threads/tss_create.cpp b/libc/src/threads/tss_create.cpp
index ddea44dce301d..f7a050498f0be 100644
--- a/libc/src/threads/tss_create.cpp
+++ b/libc/src/threads/tss_create.cpp
@@ -13,7 +13,7 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tss_create, (tss_t * key, tss_dtor_t dtor)) {
   auto k = LIBC_NAMESPACE::new_tss_key(dtor);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, tss_create, (tss_t * key, tss_dtor_t dtor)) {
   return thrd_success;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/tss_create.h b/libc/src/threads/tss_create.h
index def903e29e06e..1b7a3ea9b9176 100644
--- a/libc/src/threads/tss_create.h
+++ b/libc/src/threads/tss_create.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tss_create(tss_t *key, tss_dtor_t dtor);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_TSS_CREATE_H
diff --git a/libc/src/threads/tss_delete.cpp b/libc/src/threads/tss_delete.cpp
index a2a4e9aa349ba..af08d0ffe4163 100644
--- a/libc/src/threads/tss_delete.cpp
+++ b/libc/src/threads/tss_delete.cpp
@@ -13,10 +13,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, tss_delete, (tss_t key)) {
   LIBC_NAMESPACE::tss_key_delete(key);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/tss_delete.h b/libc/src/threads/tss_delete.h
index 3efc0d745dd14..3289fcd59781b 100644
--- a/libc/src/threads/tss_delete.h
+++ b/libc/src/threads/tss_delete.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void tss_delete(tss_t key);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_TSS_DELETE_H
diff --git a/libc/src/threads/tss_get.cpp b/libc/src/threads/tss_get.cpp
index 9b8c94fbeba28..e3d247b753177 100644
--- a/libc/src/threads/tss_get.cpp
+++ b/libc/src/threads/tss_get.cpp
@@ -13,8 +13,8 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void *, tss_get, (tss_t key)) { return get_tss_value(key); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/tss_get.h b/libc/src/threads/tss_get.h
index dfdb79cf122b6..a368c5141231a 100644
--- a/libc/src/threads/tss_get.h
+++ b/libc/src/threads/tss_get.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void *tss_get(tss_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_TSS_GET_H
diff --git a/libc/src/threads/tss_set.cpp b/libc/src/threads/tss_set.cpp
index 640896d14e1c7..2b61d0d762584 100644
--- a/libc/src/threads/tss_set.cpp
+++ b/libc/src/threads/tss_set.cpp
@@ -13,7 +13,7 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, tss_set, (tss_t key, void *data)) {
   if (set_tss_value(key, data))
@@ -22,4 +22,4 @@ LLVM_LIBC_FUNCTION(int, tss_set, (tss_t key, void *data)) {
     return thrd_error;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/threads/tss_set.h b/libc/src/threads/tss_set.h
index 249607fdc700e..c8500a053e2d6 100644
--- a/libc/src/threads/tss_set.h
+++ b/libc/src/threads/tss_set.h
@@ -11,10 +11,10 @@
 
 #include <threads.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int tss_set(tss_t, void *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_THREADS_TSS_SET_H
diff --git a/libc/src/time/asctime.cpp b/libc/src/time/asctime.cpp
index 9958903d043cf..0c177131cf7af 100644
--- a/libc/src/time/asctime.cpp
+++ b/libc/src/time/asctime.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/time/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
 
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(char *, asctime, (const struct tm *timeptr)) {
   return time_utils::asctime(timeptr, buffer, TimeConstants::ASCTIME_MAX_BYTES);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/asctime.h b/libc/src/time/asctime.h
index 941cd70250e36..81a0a50b38f93 100644
--- a/libc/src/time/asctime.h
+++ b/libc/src/time/asctime.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *asctime(const struct tm *timeptr);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_ASCTIME_H
diff --git a/libc/src/time/asctime_r.cpp b/libc/src/time/asctime_r.cpp
index 19a21241829ff..e3cbf8ded08a2 100644
--- a/libc/src/time/asctime_r.cpp
+++ b/libc/src/time/asctime_r.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/time/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
 
@@ -19,4 +19,4 @@ LLVM_LIBC_FUNCTION(char *, asctime_r,
   return time_utils::asctime(timeptr, buffer, TimeConstants::ASCTIME_MAX_BYTES);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/asctime_r.h b/libc/src/time/asctime_r.h
index 04d3c01ddd2b7..a6ae6da302107 100644
--- a/libc/src/time/asctime_r.h
+++ b/libc/src/time/asctime_r.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *asctime_r(const struct tm *timeptr, char *buffer);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_ASCTIME_R_H
diff --git a/libc/src/time/clock.h b/libc/src/time/clock.h
index f5d14d036e138..0f17fb74ae66f 100644
--- a/libc/src/time/clock.h
+++ b/libc/src/time/clock.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/clock_t.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 clock_t clock();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_CLOCK_H
diff --git a/libc/src/time/clock_gettime.h b/libc/src/time/clock_gettime.h
index 48e81a3554291..21c1e640798a9 100644
--- a/libc/src/time/clock_gettime.h
+++ b/libc/src/time/clock_gettime.h
@@ -12,10 +12,10 @@
 #include "hdr/types/clockid_t.h"
 #include "hdr/types/struct_timespec.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int clock_gettime(clockid_t clockid, timespec *tp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_CLOCK_GETTIME_H
diff --git a/libc/src/time/difftime.cpp b/libc/src/time/difftime.cpp
index 95aa1be7abee1..93e333891355f 100644
--- a/libc/src/time/difftime.cpp
+++ b/libc/src/time/difftime.cpp
@@ -9,10 +9,10 @@
 #include "src/time/difftime.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(double, difftime, (time_t end, time_t beginning)) {
   return static_cast<double>(end - beginning);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/difftime.h b/libc/src/time/difftime.h
index 6498b8b943c22..cabc58bf1091b 100644
--- a/libc/src/time/difftime.h
+++ b/libc/src/time/difftime.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 double difftime(time_t end, time_t beginning);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_DIFFTIME_H
diff --git a/libc/src/time/gettimeofday.h b/libc/src/time/gettimeofday.h
index 62ee31edcad67..4be50bba9e9cc 100644
--- a/libc/src/time/gettimeofday.h
+++ b/libc/src/time/gettimeofday.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/struct_timeval.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int gettimeofday(struct timeval *tv, void *tz);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_GETTIMEOFDAY_H
diff --git a/libc/src/time/gmtime.cpp b/libc/src/time/gmtime.cpp
index 8597f2201c4ec..58cb14049a1ca 100644
--- a/libc/src/time/gmtime.cpp
+++ b/libc/src/time/gmtime.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/time/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(struct tm *, gmtime, (const time_t *timer)) {
   static struct tm tm_out;
   return time_utils::gmtime_internal(timer, &tm_out);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/gmtime.h b/libc/src/time/gmtime.h
index d361eb27febfa..67f8f524058dc 100644
--- a/libc/src/time/gmtime.h
+++ b/libc/src/time/gmtime.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct tm *gmtime(const time_t *timer);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_GMTIME_H
diff --git a/libc/src/time/gmtime_r.cpp b/libc/src/time/gmtime_r.cpp
index 15a0c0687158f..cc022fc1f5b81 100644
--- a/libc/src/time/gmtime_r.cpp
+++ b/libc/src/time/gmtime_r.cpp
@@ -10,11 +10,11 @@
 #include "src/__support/common.h"
 #include "src/time/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(struct tm *, gmtime_r,
                    (const time_t *timer, struct tm *result)) {
   return time_utils::gmtime_internal(timer, result);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/gmtime_r.h b/libc/src/time/gmtime_r.h
index f7aac287ecc36..0ee021f864061 100644
--- a/libc/src/time/gmtime_r.h
+++ b/libc/src/time/gmtime_r.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct tm *gmtime_r(const time_t *timer, struct tm *result);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_GMTIME_R_H
diff --git a/libc/src/time/gpu/clock.cpp b/libc/src/time/gpu/clock.cpp
index 8ddfc27975bba..b0a58b79fadbf 100644
--- a/libc/src/time/gpu/clock.cpp
+++ b/libc/src/time/gpu/clock.cpp
@@ -9,7 +9,7 @@
 #include "src/time/clock.h"
 #include "src/time/gpu/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(clock_t, clock, ()) {
   if (!GPU_CLOCKS_PER_SEC)
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(clock_t, clock, ()) {
   return clock_t(ticks * (CLOCKS_PER_SEC / GPU_CLOCKS_PER_SEC));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/gpu/nanosleep.cpp b/libc/src/time/gpu/nanosleep.cpp
index dd669ff46c75c..44399acaabb1b 100644
--- a/libc/src/time/gpu/nanosleep.cpp
+++ b/libc/src/time/gpu/nanosleep.cpp
@@ -10,7 +10,7 @@
 
 #include "time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 constexpr uint64_t TICKS_PER_SEC = 1000000000UL;
 
@@ -70,4 +70,4 @@ LLVM_LIBC_FUNCTION(int, nanosleep,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/gpu/time_utils.cpp b/libc/src/time/gpu/time_utils.cpp
index 1a674b2fdca2e..cc33c9f9fa1cc 100644
--- a/libc/src/time/gpu/time_utils.cpp
+++ b/libc/src/time/gpu/time_utils.cpp
@@ -8,7 +8,7 @@
 
 #include "time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if defined(LIBC_TARGET_ARCH_IS_AMDGPU)
 // This is expected to be initialized by the runtime if the default value is
@@ -18,4 +18,4 @@ namespace LIBC_NAMESPACE {
 gpu::Constant<uint64_t> __llvm_libc_clock_freq = clock_freq;
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/gpu/time_utils.h b/libc/src/time/gpu/time_utils.h
index 77eeb896f6c37..7ebf94b467833 100644
--- a/libc/src/time/gpu/time_utils.h
+++ b/libc/src/time/gpu/time_utils.h
@@ -12,7 +12,7 @@
 #include "hdr/time_macros.h"
 #include "hdr/types/clock_t.h"
 #include "src/__support/GPU/utils.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #if defined(LIBC_TARGET_ARCH_IS_AMDGPU)
 // AMDGPU does not have a single set frequency. Different architectures and
@@ -36,6 +36,6 @@ extern gpu::Constant<uint64_t> __llvm_libc_clock_freq;
 #error "Unsupported target"
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_GPU_TIME_UTILS_H
diff --git a/libc/src/time/linux/clock.cpp b/libc/src/time/linux/clock.cpp
index 2c1eee8e5d60a..2f201b0f15320 100644
--- a/libc/src/time/linux/clock.cpp
+++ b/libc/src/time/linux/clock.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/time/units.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(clock_t, clock, ()) {
   using namespace time_units;
@@ -43,4 +43,4 @@ LLVM_LIBC_FUNCTION(clock_t, clock, ()) {
                  ts.tv_nsec / (1_s_ns / CLOCKS_PER_SEC));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/linux/clock_gettime.cpp b/libc/src/time/linux/clock_gettime.cpp
index d7b8cfd245bc4..7688d0b20fb3a 100644
--- a/libc/src/time/linux/clock_gettime.cpp
+++ b/libc/src/time/linux/clock_gettime.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(michaelrj): Move this into time/linux with the other syscalls.
 LLVM_LIBC_FUNCTION(int, clock_gettime,
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, clock_gettime,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/linux/gettimeofday.cpp b/libc/src/time/linux/gettimeofday.cpp
index f868f5ff4d4b3..4aeb38f3a2cac 100644
--- a/libc/src/time/linux/gettimeofday.cpp
+++ b/libc/src/time/linux/gettimeofday.cpp
@@ -14,7 +14,7 @@
 #include "src/__support/time/units.h"
 #include "src/errno/libc_errno.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO(michaelrj): Move this into time/linux with the other syscalls.
 LLVM_LIBC_FUNCTION(int, gettimeofday,
@@ -38,4 +38,4 @@ LLVM_LIBC_FUNCTION(int, gettimeofday,
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/linux/nanosleep.cpp b/libc/src/time/linux/nanosleep.cpp
index bcfe567191f25..ecb13e86b3b34 100644
--- a/libc/src/time/linux/nanosleep.cpp
+++ b/libc/src/time/linux/nanosleep.cpp
@@ -15,7 +15,7 @@
 #include <stdint.h>      // For int64_t.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, nanosleep,
                    (const struct timespec *req, struct timespec *rem)) {
@@ -38,4 +38,4 @@ LLVM_LIBC_FUNCTION(int, nanosleep,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/linux/time.cpp b/libc/src/time/linux/time.cpp
index 32f531efb6d15..eb42c157c59a9 100644
--- a/libc/src/time/linux/time.cpp
+++ b/libc/src/time/linux/time.cpp
@@ -12,7 +12,7 @@
 #include "src/errno/libc_errno.h"
 #include "src/time/time_func.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(time_t, time, (time_t * tp)) {
   // TODO: Use the Linux VDSO to fetch the time and avoid the syscall.
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(time_t, time, (time_t * tp)) {
   return time_t(ts.tv_sec);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/mktime.cpp b/libc/src/time/mktime.cpp
index 8a4397e5eac7c..4d09fc2758b70 100644
--- a/libc/src/time/mktime.cpp
+++ b/libc/src/time/mktime.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/common.h"
 #include "src/time/time_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
 
@@ -112,4 +112,4 @@ LLVM_LIBC_FUNCTION(time_t, mktime, (struct tm * tm_out)) {
   return static_cast<time_t>(seconds);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/mktime.h b/libc/src/time/mktime.h
index a50e97c52321b..e51b94a02d0d1 100644
--- a/libc/src/time/mktime.h
+++ b/libc/src/time/mktime.h
@@ -11,10 +11,10 @@
 
 #include <time.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 time_t mktime(struct tm *t1);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_MKTIME_H
diff --git a/libc/src/time/nanosleep.h b/libc/src/time/nanosleep.h
index 2309666b2304b..e29b80fd7bcf3 100644
--- a/libc/src/time/nanosleep.h
+++ b/libc/src/time/nanosleep.h
@@ -11,10 +11,10 @@
 
 #include "hdr/types/struct_timespec.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int nanosleep(const timespec *req, timespec *rem);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_NANOSLEEP_H
diff --git a/libc/src/time/time_func.h b/libc/src/time/time_func.h
index 2a52392209424..31162d5539baa 100644
--- a/libc/src/time/time_func.h
+++ b/libc/src/time/time_func.h
@@ -13,10 +13,10 @@
 
 // Note this header file is named time_func.h to avoid conflicts with the
 // public header file time.h.
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 time_t time(time_t *tp);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_TIME_FUNC_H
diff --git a/libc/src/time/time_utils.cpp b/libc/src/time/time_utils.cpp
index 713ed21e3191d..a6869c2de19eb 100644
--- a/libc/src/time/time_utils.cpp
+++ b/libc/src/time/time_utils.cpp
@@ -10,7 +10,7 @@
 #include "src/__support/CPP/limits.h" // INT_MIN, INT_MAX
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace time_utils {
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
@@ -150,4 +150,4 @@ int64_t update_from_seconds(int64_t total_seconds, struct tm *tm) {
 }
 
 } // namespace time_utils
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/time/time_utils.h b/libc/src/time/time_utils.h
index a5da3ad74f343..abfabc7c8f969 100644
--- a/libc/src/time/time_utils.h
+++ b/libc/src/time/time_utils.h
@@ -17,7 +17,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace time_utils {
 
 enum Month : int {
@@ -151,6 +151,6 @@ LIBC_INLINE struct tm *gmtime_internal(const time_t *timer, struct tm *result) {
 }
 
 } // namespace time_utils
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_TIME_TIME_UTILS_H
diff --git a/libc/src/unistd/_exit.cpp b/libc/src/unistd/_exit.cpp
index 4b652a2c13fd1..70860a38b3dd1 100644
--- a/libc/src/unistd/_exit.cpp
+++ b/libc/src/unistd/_exit.cpp
@@ -10,10 +10,10 @@
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] LLVM_LIBC_FUNCTION(void, _exit, (int status)) {
   internal::exit(status);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/_exit.h b/libc/src/unistd/_exit.h
index 141b875321891..e295c1b7b1966 100644
--- a/libc/src/unistd/_exit.h
+++ b/libc/src/unistd/_exit.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD__EXIT_H
 #define LLVM_LIBC_SRC_UNISTD__EXIT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void _exit(int status);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD__EXIT_H
diff --git a/libc/src/unistd/access.h b/libc/src/unistd/access.h
index 7623c853091fd..32c5d364921bc 100644
--- a/libc/src/unistd/access.h
+++ b/libc/src/unistd/access.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_ACCESS_H
 #define LLVM_LIBC_SRC_UNISTD_ACCESS_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int access(const char *path, int mode);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_ACCESS_H
diff --git a/libc/src/unistd/chdir.h b/libc/src/unistd/chdir.h
index ca1dd356b7cfe..60ff8ea5e1027 100644
--- a/libc/src/unistd/chdir.h
+++ b/libc/src/unistd/chdir.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_CHDIR_H
 #define LLVM_LIBC_SRC_UNISTD_CHDIR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int chdir(const char *path);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_CHDIR_H
diff --git a/libc/src/unistd/close.h b/libc/src/unistd/close.h
index 02e01c24120a0..b1ac5d66cd177 100644
--- a/libc/src/unistd/close.h
+++ b/libc/src/unistd/close.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_CLOSE_H
 #define LLVM_LIBC_SRC_UNISTD_CLOSE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int close(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_CLOSE_H
diff --git a/libc/src/unistd/dup.h b/libc/src/unistd/dup.h
index d6daa5a9ad74d..5ee379210e955 100644
--- a/libc/src/unistd/dup.h
+++ b/libc/src/unistd/dup.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int dup(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_DUP_H
diff --git a/libc/src/unistd/dup2.h b/libc/src/unistd/dup2.h
index ba8c5f4b16010..40c22cd9e86ea 100644
--- a/libc/src/unistd/dup2.h
+++ b/libc/src/unistd/dup2.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int dup2(int oldfd, int newfd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_DUP2_H
diff --git a/libc/src/unistd/dup3.h b/libc/src/unistd/dup3.h
index 2b1082403daff..6f3c01d4b4eee 100644
--- a/libc/src/unistd/dup3.h
+++ b/libc/src/unistd/dup3.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int dup3(int oldfd, int newfd, int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_DUP3_H
diff --git a/libc/src/unistd/environ.cpp b/libc/src/unistd/environ.cpp
index 2266c7203273d..56c9ac7756335 100644
--- a/libc/src/unistd/environ.cpp
+++ b/libc/src/unistd/environ.cpp
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This is initialized to the correct value by the statup code.
 extern "C" {
 char **environ = nullptr;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/environ.h b/libc/src/unistd/environ.h
index c09a04f99f883..2e8c163dae061 100644
--- a/libc/src/unistd/environ.h
+++ b/libc/src/unistd/environ.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_ENVIRON_H
 #define LLVM_LIBC_SRC_UNISTD_ENVIRON_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" char **environ;
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_ENVIRON_H
diff --git a/libc/src/unistd/execv.h b/libc/src/unistd/execv.h
index 7ff366464b4c8..6a3cacbdbca51 100644
--- a/libc/src/unistd/execv.h
+++ b/libc/src/unistd/execv.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_EXECV_H
 #define LLVM_LIBC_SRC_UNISTD_EXECV_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int execv(const char *path, char *const argv[]);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_EXECV_H
diff --git a/libc/src/unistd/execve.h b/libc/src/unistd/execve.h
index 0054a47d4ddd7..e9423a0a37e7e 100644
--- a/libc/src/unistd/execve.h
+++ b/libc/src/unistd/execve.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_EXECVE_H
 #define LLVM_LIBC_SRC_UNISTD_EXECVE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int execve(const char *path, char *const argv[], char *const envp[]);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_EXECVE_H
diff --git a/libc/src/unistd/fchdir.h b/libc/src/unistd/fchdir.h
index 267785c919f55..18b61e319e86a 100644
--- a/libc/src/unistd/fchdir.h
+++ b/libc/src/unistd/fchdir.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FCHDIR_H
 #define LLVM_LIBC_SRC_UNISTD_FCHDIR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fchdir(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_FCHDIR_H
diff --git a/libc/src/unistd/fork.h b/libc/src/unistd/fork.h
index 6b1b72a7dfc08..9294ab27100b5 100644
--- a/libc/src/unistd/fork.h
+++ b/libc/src/unistd/fork.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t fork();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_FORK_H
diff --git a/libc/src/unistd/fpathconf.h b/libc/src/unistd/fpathconf.h
index f3182c8123618..7d2526c95eef5 100644
--- a/libc/src/unistd/fpathconf.h
+++ b/libc/src/unistd/fpathconf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FPATHCONF_H
 #define LLVM_LIBC_SRC_UNISTD_FPATHCONF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long fpathconf(int fd, int name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_FSYNC_H
diff --git a/libc/src/unistd/fsync.h b/libc/src/unistd/fsync.h
index b5742de359d94..abeccddbdae29 100644
--- a/libc/src/unistd/fsync.h
+++ b/libc/src/unistd/fsync.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FSYNC_H
 #define LLVM_LIBC_SRC_UNISTD_FSYNC_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int fsync(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_FSYNC_H
diff --git a/libc/src/unistd/ftruncate.h b/libc/src/unistd/ftruncate.h
index 5508ef0718e94..b86d5354f834a 100644
--- a/libc/src/unistd/ftruncate.h
+++ b/libc/src/unistd/ftruncate.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int ftruncate(int, off_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_FTRUNCATE_H
diff --git a/libc/src/unistd/getcwd.h b/libc/src/unistd/getcwd.h
index ab7038e453276..c4d6633c8f0fe 100644
--- a/libc/src/unistd/getcwd.h
+++ b/libc/src/unistd/getcwd.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 char *getcwd(char *buf, size_t size);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETCWD_H
diff --git a/libc/src/unistd/geteuid.h b/libc/src/unistd/geteuid.h
index f19cbaefd5792..4326c56bb4998 100644
--- a/libc/src/unistd/geteuid.h
+++ b/libc/src/unistd/geteuid.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uid_t geteuid();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETEUID_H
diff --git a/libc/src/unistd/getopt.cpp b/libc/src/unistd/getopt.cpp
index ccdfdc6c64666..9b5f25027b50d 100644
--- a/libc/src/unistd/getopt.cpp
+++ b/libc/src/unistd/getopt.cpp
@@ -19,7 +19,7 @@
 // just the re-ordering of argv elements such that unknown arguments can be
 // easily iterated over.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T> struct RefWrapper {
   RefWrapper() = delete;
@@ -202,4 +202,4 @@ LLVM_LIBC_FUNCTION(int, getopt,
   return getopt_r(argc, argv, optstring, impl::ctx);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/getopt.h b/libc/src/unistd/getopt.h
index ae27958756f44..1bce3966b68f1 100644
--- a/libc/src/unistd/getopt.h
+++ b/libc/src/unistd/getopt.h
@@ -12,7 +12,7 @@
 #include <stdio.h>
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace impl {
 void set_getopt_state(char **, int *, int *, unsigned *, int *, FILE *);
@@ -20,6 +20,6 @@ void set_getopt_state(char **, int *, int *, unsigned *, int *, FILE *);
 
 int getopt(int argc, char *const argv[], const char *optstring);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETOPT_H
diff --git a/libc/src/unistd/getpid.h b/libc/src/unistd/getpid.h
index 5890dbf63681a..7f6c668c76001 100644
--- a/libc/src/unistd/getpid.h
+++ b/libc/src/unistd/getpid.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t getpid();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETPID_H
diff --git a/libc/src/unistd/getppid.h b/libc/src/unistd/getppid.h
index a09c7ca224187..adf02e287c043 100644
--- a/libc/src/unistd/getppid.h
+++ b/libc/src/unistd/getppid.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 pid_t getppid();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETPPID_H
diff --git a/libc/src/unistd/getuid.h b/libc/src/unistd/getuid.h
index 35163783518c7..2c12428d7ec73 100644
--- a/libc/src/unistd/getuid.h
+++ b/libc/src/unistd/getuid.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 uid_t getuid();
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_GETUID_H
diff --git a/libc/src/unistd/isatty.h b/libc/src/unistd/isatty.h
index 90a169730fe04..cbac7d4276319 100644
--- a/libc/src/unistd/isatty.h
+++ b/libc/src/unistd/isatty.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int isatty(int fd);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_ISATTY_H
diff --git a/libc/src/unistd/link.h b/libc/src/unistd/link.h
index a95111f3a7f96..7ec55883e7ced 100644
--- a/libc/src/unistd/link.h
+++ b/libc/src/unistd/link.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int link(const char *, const char *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_LINK_H
diff --git a/libc/src/unistd/linkat.h b/libc/src/unistd/linkat.h
index c53b87e5d1194..c18ad7cc0d855 100644
--- a/libc/src/unistd/linkat.h
+++ b/libc/src/unistd/linkat.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_LINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_LINKAT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int linkat(int, const char *, int, const char *, int);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_LINKAT_H
diff --git a/libc/src/unistd/linux/access.cpp b/libc/src/unistd/linux/access.cpp
index f062ad43e75ff..d7602c4571685 100644
--- a/libc/src/unistd/linux/access.cpp
+++ b/libc/src/unistd/linux/access.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, access, (const char *path, int mode)) {
 #ifdef SYS_access
@@ -34,4 +34,4 @@ LLVM_LIBC_FUNCTION(int, access, (const char *path, int mode)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/chdir.cpp b/libc/src/unistd/linux/chdir.cpp
index 61d44ff1c8088..8579b91c199a5 100644
--- a/libc/src/unistd/linux/chdir.cpp
+++ b/libc/src/unistd/linux/chdir.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, chdir, (const char *path)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_chdir, path);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, chdir, (const char *path)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/close.cpp b/libc/src/unistd/linux/close.cpp
index 084334861abdc..e0022b61456f0 100644
--- a/libc/src/unistd/linux/close.cpp
+++ b/libc/src/unistd/linux/close.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, close, (int fd)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_close, fd);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, close, (int fd)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/dup.cpp b/libc/src/unistd/linux/dup.cpp
index a2e7d3fdec429..da40f1da8b6d3 100644
--- a/libc/src/unistd/linux/dup.cpp
+++ b/libc/src/unistd/linux/dup.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, dup, (int fd)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_dup, fd);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, dup, (int fd)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/dup2.cpp b/libc/src/unistd/linux/dup2.cpp
index f6804e2deca5c..7cad3f2714c7f 100644
--- a/libc/src/unistd/linux/dup2.cpp
+++ b/libc/src/unistd/linux/dup2.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, dup2, (int oldfd, int newfd)) {
 #ifdef SYS_dup2
@@ -52,4 +52,4 @@ LLVM_LIBC_FUNCTION(int, dup2, (int oldfd, int newfd)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/dup3.cpp b/libc/src/unistd/linux/dup3.cpp
index bf2c25728ca6a..7aebf82996998 100644
--- a/libc/src/unistd/linux/dup3.cpp
+++ b/libc/src/unistd/linux/dup3.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, dup3, (int oldfd, int newfd, int flags)) {
   // If dup2 syscall is available, we make use of directly.
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, dup3, (int oldfd, int newfd, int flags)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/execv.cpp b/libc/src/unistd/linux/execv.cpp
index bd134ca523c77..9d3d324f6972c 100644
--- a/libc/src/unistd/linux/execv.cpp
+++ b/libc/src/unistd/linux/execv.cpp
@@ -15,7 +15,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, execv, (const char *path, char *const argv[])) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_execve, path, argv,
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, execv, (const char *path, char *const argv[])) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/execve.cpp b/libc/src/unistd/linux/execve.cpp
index b6de0a400c440..59b8c4d62d2b6 100644
--- a/libc/src/unistd/linux/execve.cpp
+++ b/libc/src/unistd/linux/execve.cpp
@@ -15,7 +15,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, execve,
                    (const char *path, char *const argv[], char *const envp[])) {
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(int, execve,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/fchdir.cpp b/libc/src/unistd/linux/fchdir.cpp
index d24b9badfe448..e22c9bf9703dd 100644
--- a/libc/src/unistd/linux/fchdir.cpp
+++ b/libc/src/unistd/linux/fchdir.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fchdir, (int fd)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_fchdir, fd);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, fchdir, (int fd)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/fork.cpp b/libc/src/unistd/linux/fork.cpp
index 6fa2b990b19a9..c9298915238e0 100644
--- a/libc/src/unistd/linux/fork.cpp
+++ b/libc/src/unistd/linux/fork.cpp
@@ -17,7 +17,7 @@
 #include <signal.h>      // For SIGCHLD
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // The implementation of fork here is very minimal. We will add more
 // functionality and standard compliance in future.
@@ -51,4 +51,4 @@ LLVM_LIBC_FUNCTION(pid_t, fork, (void)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/fpathconf.cpp b/libc/src/unistd/linux/fpathconf.cpp
index 6643ed1cc9e88..615ef99c7c727 100644
--- a/libc/src/unistd/linux/fpathconf.cpp
+++ b/libc/src/unistd/linux/fpathconf.cpp
@@ -12,7 +12,7 @@
 #include "src/sys/statvfs/linux/statfs_utils.h"
 #include "src/unistd/linux/pathconf_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, fpathconf, (int fd, int name)) {
   if (cpp::optional<statfs_utils::LinuxStatFs> result =
@@ -21,4 +21,4 @@ LLVM_LIBC_FUNCTION(long, fpathconf, (int fd, int name)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/fsync.cpp b/libc/src/unistd/linux/fsync.cpp
index 44d504ec459e3..d554facfcb02d 100644
--- a/libc/src/unistd/linux/fsync.cpp
+++ b/libc/src/unistd/linux/fsync.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, fsync, (int fd)) {
   int ret = LIBC_NAMESPACE::syscall_impl<int>(SYS_fsync, fd);
@@ -25,4 +25,4 @@ LLVM_LIBC_FUNCTION(int, fsync, (int fd)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/ftruncate.cpp b/libc/src/unistd/linux/ftruncate.cpp
index 795bb98ceae0c..23e8964211189 100644
--- a/libc/src/unistd/linux/ftruncate.cpp
+++ b/libc/src/unistd/linux/ftruncate.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, ftruncate, (int fd, off_t len)) {
 #ifdef SYS_ftruncate
@@ -37,4 +37,4 @@ LLVM_LIBC_FUNCTION(int, ftruncate, (int fd, off_t len)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/getcwd.cpp b/libc/src/unistd/linux/getcwd.cpp
index 11c58f1585564..3f923ab01db48 100644
--- a/libc/src/unistd/linux/getcwd.cpp
+++ b/libc/src/unistd/linux/getcwd.cpp
@@ -17,7 +17,7 @@
 #include <stdlib.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 namespace {
 
@@ -63,4 +63,4 @@ LLVM_LIBC_FUNCTION(char *, getcwd, (char *buf, size_t size)) {
   return buf;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/geteuid.cpp b/libc/src/unistd/linux/geteuid.cpp
index 2a7f163fb8cd4..0e0aeafa51727 100644
--- a/libc/src/unistd/linux/geteuid.cpp
+++ b/libc/src/unistd/linux/geteuid.cpp
@@ -13,10 +13,10 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uid_t, geteuid, ()) {
   return LIBC_NAMESPACE::syscall_impl<uid_t>(SYS_geteuid);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/getpid.cpp b/libc/src/unistd/linux/getpid.cpp
index 85730738ca2ef..81a42929692f5 100644
--- a/libc/src/unistd/linux/getpid.cpp
+++ b/libc/src/unistd/linux/getpid.cpp
@@ -13,10 +13,10 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, getpid, ()) {
   return LIBC_NAMESPACE::syscall_impl<pid_t>(SYS_getpid);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/getppid.cpp b/libc/src/unistd/linux/getppid.cpp
index 7ee11f32fd008..b4b671f2a546f 100644
--- a/libc/src/unistd/linux/getppid.cpp
+++ b/libc/src/unistd/linux/getppid.cpp
@@ -13,10 +13,10 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(pid_t, getppid, ()) {
   return LIBC_NAMESPACE::syscall_impl<pid_t>(SYS_getppid);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/getuid.cpp b/libc/src/unistd/linux/getuid.cpp
index c8131803c84aa..79ad9ed6398f2 100644
--- a/libc/src/unistd/linux/getuid.cpp
+++ b/libc/src/unistd/linux/getuid.cpp
@@ -13,10 +13,10 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(uid_t, getuid, ()) {
   return LIBC_NAMESPACE::syscall_impl<uid_t>(SYS_getuid);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/isatty.cpp b/libc/src/unistd/linux/isatty.cpp
index 205013897525b..920159e20c7f2 100644
--- a/libc/src/unistd/linux/isatty.cpp
+++ b/libc/src/unistd/linux/isatty.cpp
@@ -15,7 +15,7 @@
 #include <sys/ioctl.h>   // For ioctl numbers.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isatty, (int fd)) {
   constexpr int INIT_VAL = 0x1234abcd;
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, isatty, (int fd)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/link.cpp b/libc/src/unistd/linux/link.cpp
index b5024ad7a59fb..673af9693123c 100644
--- a/libc/src/unistd/linux/link.cpp
+++ b/libc/src/unistd/linux/link.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, link, (const char *path1, const char *path2)) {
 #ifdef SYS_link
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, link, (const char *path1, const char *path2)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/linkat.cpp b/libc/src/unistd/linux/linkat.cpp
index c5d071ee83e01..25d0ab44bfd80 100644
--- a/libc/src/unistd/linux/linkat.cpp
+++ b/libc/src/unistd/linux/linkat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, linkat,
                    (int fd1, const char *path1, int fd2, const char *path2,
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(int, linkat,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/lseek.cpp b/libc/src/unistd/linux/lseek.cpp
index 6f3d9937db245..611826ec22305 100644
--- a/libc/src/unistd/linux/lseek.cpp
+++ b/libc/src/unistd/linux/lseek.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <unistd.h>      // For off_t.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(off_t, lseek, (int fd, off_t offset, int whence)) {
   auto result = internal::lseekimpl(fd, offset, whence);
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(off_t, lseek, (int fd, off_t offset, int whence)) {
   return result.value();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/pathconf.cpp b/libc/src/unistd/linux/pathconf.cpp
index 11427698232b5..6684b72892bb7 100644
--- a/libc/src/unistd/linux/pathconf.cpp
+++ b/libc/src/unistd/linux/pathconf.cpp
@@ -11,7 +11,7 @@
 #include "src/sys/statvfs/linux/statfs_utils.h"
 #include "src/unistd/linux/pathconf_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, pathconf, (const char *path, int name)) {
   if (cpp::optional<statfs_utils::LinuxStatFs> result =
@@ -20,4 +20,4 @@ LLVM_LIBC_FUNCTION(long, pathconf, (const char *path, int name)) {
   return -1;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/pathconf_utils.cpp b/libc/src/unistd/linux/pathconf_utils.cpp
index 3f963ab5aaaf7..9a478155c0f55 100644
--- a/libc/src/unistd/linux/pathconf_utils.cpp
+++ b/libc/src/unistd/linux/pathconf_utils.cpp
@@ -27,7 +27,7 @@
 #endif
 #include <linux/magic.h> // For common FS magics
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long filesizebits(const statfs_utils::LinuxStatFs &s) {
   switch (s.f_type) {
@@ -124,4 +124,4 @@ long pathconfig(const statfs_utils::LinuxStatFs &s, int name) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/pathconf_utils.h b/libc/src/unistd/linux/pathconf_utils.h
index 2c0ec0ea292f4..b0a008576738a 100644
--- a/libc/src/unistd/linux/pathconf_utils.h
+++ b/libc/src/unistd/linux/pathconf_utils.h
@@ -11,10 +11,10 @@
 
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long pathconfig(const statfs_utils::LinuxStatFs &s, int name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_PREAD_H
diff --git a/libc/src/unistd/linux/pipe.cpp b/libc/src/unistd/linux/pipe.cpp
index 8cfb8d1d5c2c1..9b121201244f2 100644
--- a/libc/src/unistd/linux/pipe.cpp
+++ b/libc/src/unistd/linux/pipe.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, pipe, (int pipefd[2])) {
 #ifdef SYS_pipe
@@ -32,4 +32,4 @@ LLVM_LIBC_FUNCTION(int, pipe, (int pipefd[2])) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/pread.cpp b/libc/src/unistd/linux/pread.cpp
index 247a7b4d9d509..fef53ea5ba972 100644
--- a/libc/src/unistd/linux/pread.cpp
+++ b/libc/src/unistd/linux/pread.cpp
@@ -15,7 +15,7 @@
 #include <stdint.h>      // For uint64_t.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, pread,
                    (int fd, void *buf, size_t count, off_t offset)) {
@@ -44,4 +44,4 @@ LLVM_LIBC_FUNCTION(ssize_t, pread,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/pwrite.cpp b/libc/src/unistd/linux/pwrite.cpp
index b0540a09710e7..71b62c67551ca 100644
--- a/libc/src/unistd/linux/pwrite.cpp
+++ b/libc/src/unistd/linux/pwrite.cpp
@@ -15,7 +15,7 @@
 #include <stdint.h>      // For uint64_t.
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, pwrite,
                    (int fd, const void *buf, size_t count, off_t offset)) {
@@ -43,4 +43,4 @@ LLVM_LIBC_FUNCTION(ssize_t, pwrite,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/read.cpp b/libc/src/unistd/linux/read.cpp
index 41be1eb10c0de..61e504a07d3e6 100644
--- a/libc/src/unistd/linux/read.cpp
+++ b/libc/src/unistd/linux/read.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, read, (int fd, void *buf, size_t count)) {
   ssize_t ret = LIBC_NAMESPACE::syscall_impl<ssize_t>(SYS_read, fd, buf, count);
@@ -28,4 +28,4 @@ LLVM_LIBC_FUNCTION(ssize_t, read, (int fd, void *buf, size_t count)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/readlink.cpp b/libc/src/unistd/linux/readlink.cpp
index 8dee58c8f215f..d04a9767f6826 100644
--- a/libc/src/unistd/linux/readlink.cpp
+++ b/libc/src/unistd/linux/readlink.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, readlink,
                    (const char *__restrict path, char *__restrict buf,
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(ssize_t, readlink,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/readlinkat.cpp b/libc/src/unistd/linux/readlinkat.cpp
index 479735d4f4d3d..a94e3a64853f0 100644
--- a/libc/src/unistd/linux/readlinkat.cpp
+++ b/libc/src/unistd/linux/readlinkat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, readlinkat,
                    (int fd, const char *__restrict path, char *__restrict buf,
@@ -29,4 +29,4 @@ LLVM_LIBC_FUNCTION(ssize_t, readlinkat,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/rmdir.cpp b/libc/src/unistd/linux/rmdir.cpp
index 234b0c3a09408..be5f7f809fd13 100644
--- a/libc/src/unistd/linux/rmdir.cpp
+++ b/libc/src/unistd/linux/rmdir.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, rmdir, (const char *path)) {
 #ifdef SYS_rmdir
@@ -34,4 +34,4 @@ LLVM_LIBC_FUNCTION(int, rmdir, (const char *path)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/symlink.cpp b/libc/src/unistd/linux/symlink.cpp
index e8983e252b8e3..dbc15baab5e53 100644
--- a/libc/src/unistd/linux/symlink.cpp
+++ b/libc/src/unistd/linux/symlink.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, symlink, (const char *path1, const char *path2)) {
 #ifdef SYS_symlink
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, symlink, (const char *path1, const char *path2)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/symlinkat.cpp b/libc/src/unistd/linux/symlinkat.cpp
index 64f02d13f9a0c..f7d8a8ae1dd13 100644
--- a/libc/src/unistd/linux/symlinkat.cpp
+++ b/libc/src/unistd/linux/symlinkat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, symlinkat,
                    (const char *path1, int fd, const char *path2)) {
@@ -27,4 +27,4 @@ LLVM_LIBC_FUNCTION(int, symlinkat,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/syscall.cpp b/libc/src/unistd/linux/syscall.cpp
index e0070fe6d805e..258864e991821 100644
--- a/libc/src/unistd/linux/syscall.cpp
+++ b/libc/src/unistd/linux/syscall.cpp
@@ -14,7 +14,7 @@
 #include "src/errno/libc_errno.h"
 #include <stdarg.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, __llvm_libc_syscall,
                    (long number, long arg1, long arg2, long arg3, long arg4,
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(long, __llvm_libc_syscall,
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/sysconf.cpp b/libc/src/unistd/linux/sysconf.cpp
index d4577c8d3d769..9b31a94e15e30 100644
--- a/libc/src/unistd/linux/sysconf.cpp
+++ b/libc/src/unistd/linux/sysconf.cpp
@@ -15,7 +15,7 @@
 #include <sys/auxv.h>
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(long, sysconf, (int name)) {
   long ret = 0;
@@ -30,4 +30,4 @@ LLVM_LIBC_FUNCTION(long, sysconf, (int name)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/truncate.cpp b/libc/src/unistd/linux/truncate.cpp
index 0120cc738a921..76c3d9af62340 100644
--- a/libc/src/unistd/linux/truncate.cpp
+++ b/libc/src/unistd/linux/truncate.cpp
@@ -16,7 +16,7 @@
 #include <sys/syscall.h> // For syscall numbers.
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, truncate, (const char *path, off_t len)) {
 #ifdef SYS_truncate
@@ -36,4 +36,4 @@ LLVM_LIBC_FUNCTION(int, truncate, (const char *path, off_t len)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/unlink.cpp b/libc/src/unistd/linux/unlink.cpp
index e62fb8faa67af..5a545ed147181 100644
--- a/libc/src/unistd/linux/unlink.cpp
+++ b/libc/src/unistd/linux/unlink.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, unlink, (const char *path)) {
 #ifdef SYS_unlink
@@ -33,4 +33,4 @@ LLVM_LIBC_FUNCTION(int, unlink, (const char *path)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/unlinkat.cpp b/libc/src/unistd/linux/unlinkat.cpp
index 4ec5e38cb405c..dad69767ed260 100644
--- a/libc/src/unistd/linux/unlinkat.cpp
+++ b/libc/src/unistd/linux/unlinkat.cpp
@@ -15,7 +15,7 @@
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, unlinkat, (int dfd, const char *path, int flags)) {
 #ifdef SYS_unlinkat
@@ -31,4 +31,4 @@ LLVM_LIBC_FUNCTION(int, unlinkat, (int dfd, const char *path, int flags)) {
   return 0;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/linux/write.cpp b/libc/src/unistd/linux/write.cpp
index bd6c9114f7877..61eed771676ba 100644
--- a/libc/src/unistd/linux/write.cpp
+++ b/libc/src/unistd/linux/write.cpp
@@ -14,7 +14,7 @@
 
 #include <sys/syscall.h> // For syscall numbers.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(ssize_t, write, (int fd, const void *buf, size_t count)) {
   ssize_t ret =
@@ -26,4 +26,4 @@ LLVM_LIBC_FUNCTION(ssize_t, write, (int fd, const void *buf, size_t count)) {
   return ret;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/lseek.h b/libc/src/unistd/lseek.h
index 75e33d8a6987d..267ee476c7a23 100644
--- a/libc/src/unistd/lseek.h
+++ b/libc/src/unistd/lseek.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 off_t lseek(int fd, off_t offset, int whence);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_LSEEK_H
diff --git a/libc/src/unistd/pathconf.h b/libc/src/unistd/pathconf.h
index 6543d738a9b22..e4387d6fb926f 100644
--- a/libc/src/unistd/pathconf.h
+++ b/libc/src/unistd/pathconf.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PATHCONF_H
 #define LLVM_LIBC_SRC_UNISTD_PATHCONF_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long pathconf(const char *path, int name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_PREAD_H
diff --git a/libc/src/unistd/pipe.h b/libc/src/unistd/pipe.h
index 0e20bb49c0584..77c0b13787c42 100644
--- a/libc/src/unistd/pipe.h
+++ b/libc/src/unistd/pipe.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PIPE_H
 #define LLVM_LIBC_SRC_UNISTD_PIPE_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int pipe(int pipefd[2]);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_PIPE_H
diff --git a/libc/src/unistd/pread.h b/libc/src/unistd/pread.h
index 6ecfef4c82c60..8fb518a9bb921 100644
--- a/libc/src/unistd/pread.h
+++ b/libc/src/unistd/pread.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t pread(int fd, void *buf, size_t count, off_t offset);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_PREAD_H
diff --git a/libc/src/unistd/pwrite.h b/libc/src/unistd/pwrite.h
index 535c9217c2353..29ff956e06f49 100644
--- a/libc/src/unistd/pwrite.h
+++ b/libc/src/unistd/pwrite.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_PWRITE_H
diff --git a/libc/src/unistd/read.h b/libc/src/unistd/read.h
index 05a56a2fdeaeb..af771e062d40e 100644
--- a/libc/src/unistd/read.h
+++ b/libc/src/unistd/read.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t read(int fd, void *buf, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_READ_H
diff --git a/libc/src/unistd/readlink.h b/libc/src/unistd/readlink.h
index c93c430988c79..e08fe91a87d4f 100644
--- a/libc/src/unistd/readlink.h
+++ b/libc/src/unistd/readlink.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t readlink(const char *__restrict, char *__restrict, size_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_READLINK_H
diff --git a/libc/src/unistd/readlinkat.h b/libc/src/unistd/readlinkat.h
index a4357efec1a1b..16fb296d883b3 100644
--- a/libc/src/unistd/readlinkat.h
+++ b/libc/src/unistd/readlinkat.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_READLINKAT_H
diff --git a/libc/src/unistd/rmdir.h b/libc/src/unistd/rmdir.h
index 55dcbafe1f7df..6900c39ef3099 100644
--- a/libc/src/unistd/rmdir.h
+++ b/libc/src/unistd/rmdir.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_RMDIR_H
 #define LLVM_LIBC_SRC_UNISTD_RMDIR_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int rmdir(const char *path);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_RMDIR_H
diff --git a/libc/src/unistd/swab.cpp b/libc/src/unistd/swab.cpp
index 5c2f5074ff978..3d219b589ebd4 100644
--- a/libc/src/unistd/swab.cpp
+++ b/libc/src/unistd/swab.cpp
@@ -10,7 +10,7 @@
 
 #include "src/__support/common.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(void, swab,
                    (const void *__restrict from, void *__restrict to,
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(void, swab,
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/unistd/swab.h b/libc/src/unistd/swab.h
index 0a6aa49540b5b..fc9e9a3e748c4 100644
--- a/libc/src/unistd/swab.h
+++ b/libc/src/unistd/swab.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h> // For ssize_t
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 void swab(const void *__restrict from, void *__restrict to, ssize_t n);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_SWAB_H
diff --git a/libc/src/unistd/symlink.h b/libc/src/unistd/symlink.h
index 0a0124ccbc7ab..95d73125fa464 100644
--- a/libc/src/unistd/symlink.h
+++ b/libc/src/unistd/symlink.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int symlink(const char *, const char *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_SYMLINK_H
diff --git a/libc/src/unistd/symlinkat.h b/libc/src/unistd/symlinkat.h
index ecca4380e98eb..4dc2d075f52cd 100644
--- a/libc/src/unistd/symlinkat.h
+++ b/libc/src/unistd/symlinkat.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int symlinkat(const char *, int, const char *);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_SYMLINKAT_H
diff --git a/libc/src/unistd/syscall.h b/libc/src/unistd/syscall.h
index a41d9778e0559..ff1e12486b89a 100644
--- a/libc/src/unistd/syscall.h
+++ b/libc/src/unistd/syscall.h
@@ -12,11 +12,11 @@
 #include <stdarg.h>
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long __llvm_libc_syscall(long number, long arg1, long arg2, long arg3,
                          long arg4, long arg5, long arg6);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_SYSCALL_H
diff --git a/libc/src/unistd/sysconf.h b/libc/src/unistd/sysconf.h
index 89c5efa574636..1e5bb54ae275a 100644
--- a/libc/src/unistd/sysconf.h
+++ b/libc/src/unistd/sysconf.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 long sysconf(int name);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_SYSCONF_H
diff --git a/libc/src/unistd/truncate.h b/libc/src/unistd/truncate.h
index 5245b6bf2ed02..1385db1771f72 100644
--- a/libc/src/unistd/truncate.h
+++ b/libc/src/unistd/truncate.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int truncate(const char *, off_t);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_TRUNCATE_H
diff --git a/libc/src/unistd/unlink.h b/libc/src/unistd/unlink.h
index d1d34fa1a8ac5..f399187b2cafe 100644
--- a/libc/src/unistd/unlink.h
+++ b/libc/src/unistd/unlink.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_UNLINK_H
 #define LLVM_LIBC_SRC_UNISTD_UNLINK_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int unlink(const char *path);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_UNLINK_H
diff --git a/libc/src/unistd/unlinkat.h b/libc/src/unistd/unlinkat.h
index 81d23bdf5cec3..8e2622f4f3006 100644
--- a/libc/src/unistd/unlinkat.h
+++ b/libc/src/unistd/unlinkat.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_UNLINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_UNLINKAT_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int unlinkat(int dfd, const char *path, int flags);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_UNLINKAT_H
diff --git a/libc/src/unistd/write.h b/libc/src/unistd/write.h
index 52cdff348085f..a5370698d3cdc 100644
--- a/libc/src/unistd/write.h
+++ b/libc/src/unistd/write.h
@@ -11,10 +11,10 @@
 
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 ssize_t write(int fd, const void *buf, size_t count);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_UNISTD_WRITE_H
diff --git a/libc/src/wchar/btowc.cpp b/libc/src/wchar/btowc.cpp
index 040c60eb805c7..ccfc45f36fa24 100644
--- a/libc/src/wchar/btowc.cpp
+++ b/libc/src/wchar/btowc.cpp
@@ -12,7 +12,7 @@
 
 #include <stdio.h> // for EOF.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, btowc, (wint_t c)) {
   auto result = internal::btowc(c);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, btowc, (wint_t c)) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/wchar/btowc.h b/libc/src/wchar/btowc.h
index de67f157b5729..5804e9d811dc3 100644
--- a/libc/src/wchar/btowc.h
+++ b/libc/src/wchar/btowc.h
@@ -11,10 +11,10 @@
 
 #include <wchar.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 wint_t btowc(int c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_WCHAR_BTOWC_H
diff --git a/libc/src/wchar/wctob.cpp b/libc/src/wchar/wctob.cpp
index 538d5388e5058..e4336fe972d2a 100644
--- a/libc/src/wchar/wctob.cpp
+++ b/libc/src/wchar/wctob.cpp
@@ -12,7 +12,7 @@
 
 #include <stdio.h> // for EOF.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, wctob, (wint_t c)) {
   auto result = internal::wctob(c);
@@ -23,4 +23,4 @@ LLVM_LIBC_FUNCTION(int, wctob, (wint_t c)) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/wchar/wctob.h b/libc/src/wchar/wctob.h
index 1cc0c211e98a5..ea1923e8ab283 100644
--- a/libc/src/wchar/wctob.h
+++ b/libc/src/wchar/wctob.h
@@ -11,10 +11,10 @@
 
 #include <wchar.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int wctob(wint_t c);
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_WCHAR_WCTOB_H
diff --git a/libc/startup/baremetal/fini.cpp b/libc/startup/baremetal/fini.cpp
index 745bd094b24fe..ff1d5f10f7aec 100644
--- a/libc/startup/baremetal/fini.cpp
+++ b/libc/startup/baremetal/fini.cpp
@@ -9,7 +9,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 extern uintptr_t __fini_array_start[];
@@ -24,4 +24,4 @@ extern "C" void __libc_fini_array(void) {
     reinterpret_cast<FiniCallback *>(__fini_array_start[i - 1])();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/baremetal/init.cpp b/libc/startup/baremetal/init.cpp
index 21ec0e5ca756d..8e216f601637c 100644
--- a/libc/startup/baremetal/init.cpp
+++ b/libc/startup/baremetal/init.cpp
@@ -9,7 +9,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 extern uintptr_t __preinit_array_start[];
@@ -29,4 +29,4 @@ extern "C" void __libc_init_array(void) {
     reinterpret_cast<InitCallback *>(__init_array_start[i])();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/gpu/amdgpu/start.cpp b/libc/startup/gpu/amdgpu/start.cpp
index dcef719d169d0..5443f4e3fff88 100644
--- a/libc/startup/gpu/amdgpu/start.cpp
+++ b/libc/startup/gpu/amdgpu/start.cpp
@@ -13,7 +13,7 @@
 
 extern "C" int main(int argc, char **argv, char **envp);
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" uintptr_t __init_array_start[];
 extern "C" uintptr_t __init_array_end[];
@@ -35,7 +35,7 @@ static void call_fini_array_callbacks() {
     reinterpret_cast<FiniCallback *>(__fini_array_start[i - 1])();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" [[gnu::visibility("protected"), clang::amdgpu_kernel]] void
 _begin(int argc, char **argv, char **env) {
diff --git a/libc/startup/gpu/nvptx/start.cpp b/libc/startup/gpu/nvptx/start.cpp
index 77fe921be4e02..ce67837df3dde 100644
--- a/libc/startup/gpu/nvptx/start.cpp
+++ b/libc/startup/gpu/nvptx/start.cpp
@@ -13,7 +13,7 @@
 
 extern "C" int main(int argc, char **argv, char **envp);
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
 // Nvidia's 'nvlink' linker does not provide these symbols. We instead need
@@ -41,7 +41,7 @@ static void call_fini_array_callbacks() {
     reinterpret_cast<FiniCallback *>(__fini_array_start[i - 1])();
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" [[gnu::visibility("protected"), clang::nvptx_kernel]] void
 _begin(int argc, char **argv, char **env) {
diff --git a/libc/startup/linux/aarch64/tls.cpp b/libc/startup/linux/aarch64/tls.cpp
index 9f143f962892d..7857d50807257 100644
--- a/libc/startup/linux/aarch64/tls.cpp
+++ b/libc/startup/linux/aarch64/tls.cpp
@@ -18,7 +18,7 @@
 // Source documentation:
 // https://github.com/ARM-software/abi-aa/tree/main/sysvabi64
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #ifdef SYS_mmap2
 static constexpr long MMAP_SYSCALL_NUMBER = SYS_mmap2;
@@ -94,4 +94,4 @@ bool set_thread_ptr(uintptr_t val) {
 #endif
   return true;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/linux/do_start.cpp b/libc/startup/linux/do_start.cpp
index 30ab1f0e26ea5..5ca59f322dca8 100644
--- a/libc/startup/linux/do_start.cpp
+++ b/libc/startup/linux/do_start.cpp
@@ -37,7 +37,7 @@ extern uintptr_t __fini_array_end[];
   gnu::visibility("hidden")]] extern const Elf64_Dyn _DYNAMIC[]; // NOLINT
 }
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 AppProperties app;
 
 using InitCallback = void(int, char **, char **);
@@ -150,4 +150,4 @@ static ThreadAttributes main_thread_attrib;
   exit(retval);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/linux/do_start.h b/libc/startup/linux/do_start.h
index a0e7a3cd69562..926c388010405 100644
--- a/libc/startup/linux/do_start.h
+++ b/libc/startup/linux/do_start.h
@@ -8,7 +8,7 @@
 
 #include "config/linux/app.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 // setup the libc runtime and invoke the main routine.
 [[noreturn]] void do_start();
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/linux/riscv/tls.cpp b/libc/startup/linux/riscv/tls.cpp
index 997912c77e737..4dea685f65b67 100644
--- a/libc/startup/linux/riscv/tls.cpp
+++ b/libc/startup/linux/riscv/tls.cpp
@@ -14,7 +14,7 @@
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #ifdef SYS_mmap2
 static constexpr long MMAP_SYSCALL_NUMBER = SYS_mmap2;
@@ -71,4 +71,4 @@ bool set_thread_ptr(uintptr_t val) {
   LIBC_INLINE_ASM("mv tp, %0\n\t" : : "r"(val));
   return true;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/startup/linux/x86_64/tls.cpp b/libc/startup/linux/x86_64/tls.cpp
index 8b0fa98736244..11bd4a1071987 100644
--- a/libc/startup/linux/x86_64/tls.cpp
+++ b/libc/startup/linux/x86_64/tls.cpp
@@ -14,7 +14,7 @@
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 #ifdef SYS_mmap2
 static constexpr long MMAP_SYSCALL_NUMBER = SYS_mmap2;
@@ -90,4 +90,4 @@ void cleanup_tls(uintptr_t addr, uintptr_t size) {
 bool set_thread_ptr(uintptr_t val) {
   return syscall_impl(SYS_arch_prctl, ARCH_SET_FS, val) != -1;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/IntegrationTest/test.cpp b/libc/test/IntegrationTest/test.cpp
index 2751f3180a8e3..834e641221f71 100644
--- a/libc/test/IntegrationTest/test.cpp
+++ b/libc/test/IntegrationTest/test.cpp
@@ -19,7 +19,7 @@
 // entrypoint to the internal implementation of the function used for testing.
 // This is done manually as not all targets support aliases.
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int bcmp(const void *lhs, const void *rhs, size_t count);
 void bzero(void *ptr, size_t count);
@@ -29,7 +29,7 @@ void *memmove(void *dst, const void *src, size_t count);
 void *memset(void *ptr, int value, size_t count);
 int atexit(void (*func)(void));
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 extern "C" {
 
diff --git a/libc/test/UnitTest/BazelFilePath.cpp b/libc/test/UnitTest/BazelFilePath.cpp
index 79730868ecdf3..74f118718ba3b 100644
--- a/libc/test/UnitTest/BazelFilePath.cpp
+++ b/libc/test/UnitTest/BazelFilePath.cpp
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/string.h"
 #include "src/__support/c_string.h"
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 CString libc_make_test_file_path_func(const char *file_name) {
   // This is the path to the folder bazel wants the test outputs written to.
@@ -22,4 +23,5 @@ CString libc_make_test_file_path_func(const char *file_name) {
   return cpp::string(UNDECLARED_OUTPUTS_PATH) + file_name;
 }
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/CmakeFilePath.cpp b/libc/test/UnitTest/CmakeFilePath.cpp
index 2a7d1c39d3205..08ef0801dd658 100644
--- a/libc/test/UnitTest/CmakeFilePath.cpp
+++ b/libc/test/UnitTest/CmakeFilePath.cpp
@@ -11,10 +11,12 @@
 #include "src/__support/CPP/string.h"
 #include "src/__support/c_string.h"
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 CString libc_make_test_file_path_func(const char *file_name) {
   return cpp::string(file_name);
 }
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/ErrnoSetterMatcher.h b/libc/test/UnitTest/ErrnoSetterMatcher.h
index 745ba4182023e..ff5e03aab380f 100644
--- a/libc/test/UnitTest/ErrnoSetterMatcher.h
+++ b/libc/test/UnitTest/ErrnoSetterMatcher.h
@@ -16,7 +16,7 @@
 #include "src/errno/libc_errno.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 namespace internal {
@@ -182,6 +182,6 @@ static ErrnoSetterMatcherBuilder<RetT> returns(internal::Comparator<RetT> cmp) {
 } // namespace ErrnoSetterMatcher
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_ERRNOSETTERMATCHER_H
diff --git a/libc/test/UnitTest/ExecuteFunction.h b/libc/test/UnitTest/ExecuteFunction.h
index 95950567e74a2..7839b3ad153a1 100644
--- a/libc/test/UnitTest/ExecuteFunction.h
+++ b/libc/test/UnitTest/ExecuteFunction.h
@@ -11,7 +11,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testutils {
 
 class FunctionCaller {
@@ -47,6 +47,6 @@ invoke_in_subprocess(FunctionCaller *func,
 const char *signal_as_string(int signum);
 
 } // namespace testutils
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_UNITTEST_EXECUTEFUNCTION_H
diff --git a/libc/test/UnitTest/ExecuteFunctionUnix.cpp b/libc/test/UnitTest/ExecuteFunctionUnix.cpp
index b244337f9c6fc..265aeacb65ae0 100644
--- a/libc/test/UnitTest/ExecuteFunctionUnix.cpp
+++ b/libc/test/UnitTest/ExecuteFunctionUnix.cpp
@@ -17,7 +17,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testutils {
 
 bool ProcessStatus::exited_normally() { return WIFEXITED(platform_defined); }
@@ -78,4 +78,4 @@ ProcessStatus invoke_in_subprocess(FunctionCaller *func, unsigned timeout_ms) {
 const char *signal_as_string(int signum) { return ::strsignal(signum); }
 
 } // namespace testutils
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/FEnvSafeTest.cpp b/libc/test/UnitTest/FEnvSafeTest.cpp
index 905aa92893738..e8586011839ff 100644
--- a/libc/test/UnitTest/FEnvSafeTest.cpp
+++ b/libc/test/UnitTest/FEnvSafeTest.cpp
@@ -11,7 +11,8 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/macros/properties/architectures.h"
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 void FEnvSafeTest::PreserveFEnv::check() {
   fenv_t after;
@@ -81,4 +82,5 @@ void FEnvSafeTest::expect_fenv_eq(const fenv_t &before_fenv,
 #endif
 }
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/FEnvSafeTest.h b/libc/test/UnitTest/FEnvSafeTest.h
index d5a8bb7ee667c..79ecdddc0e383 100644
--- a/libc/test/UnitTest/FEnvSafeTest.h
+++ b/libc/test/UnitTest/FEnvSafeTest.h
@@ -13,7 +13,8 @@
 #include "src/__support/CPP/utility.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 // This provides a test fixture (or base class for other test fixtures) that
 // asserts that each test does not leave the FPU state represented by `fenv_t`
@@ -96,6 +97,7 @@ class FEnvSafeTest : public Test {
   bool should_be_unchanged = false;
 };
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_UNITTEST_FPENVSAFE_H
diff --git a/libc/test/UnitTest/FPExceptMatcher.cpp b/libc/test/UnitTest/FPExceptMatcher.cpp
index c1dfc53924662..95a39d114cdec 100644
--- a/libc/test/UnitTest/FPExceptMatcher.cpp
+++ b/libc/test/UnitTest/FPExceptMatcher.cpp
@@ -18,7 +18,7 @@
 
 #if LIBC_TEST_HAS_MATCHERS()
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 #if defined(_WIN32)
@@ -52,6 +52,6 @@ FPExceptMatcher::FPExceptMatcher(FunctionCaller *func) {
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TEST_HAS_MATCHERS()
diff --git a/libc/test/UnitTest/FPExceptMatcher.h b/libc/test/UnitTest/FPExceptMatcher.h
index 5136e381081ee..8f312945f97f6 100644
--- a/libc/test/UnitTest/FPExceptMatcher.h
+++ b/libc/test/UnitTest/FPExceptMatcher.h
@@ -14,7 +14,7 @@
 
 #if LIBC_TEST_HAS_MATCHERS()
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 // TODO: Make the matcher match specific exceptions instead of just identifying
@@ -51,7 +51,7 @@ class FPExceptMatcher : public Matcher<bool> {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define ASSERT_RAISES_FP_EXCEPT(func)                                          \
   ASSERT_THAT(                                                                 \
diff --git a/libc/test/UnitTest/FPMatcher.h b/libc/test/UnitTest/FPMatcher.h
index 86b823260e197..2b7b6221806b7 100644
--- a/libc/test/UnitTest/FPMatcher.h
+++ b/libc/test/UnitTest/FPMatcher.h
@@ -20,7 +20,7 @@
 
 #include "hdr/math_macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 template <typename T, TestCond Condition> class FPMatcher : public Matcher<T> {
@@ -87,7 +87,7 @@ template <typename T> struct FPTest : public Test {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define DECLARE_SPECIAL_CONSTANTS(T)                                           \
   using FPBits = LIBC_NAMESPACE::fputil::FPBits<T>;                            \
diff --git a/libc/test/UnitTest/GTest.h b/libc/test/UnitTest/GTest.h
index d1637d3ba6583..1f7dd95ac57e0 100644
--- a/libc/test/UnitTest/GTest.h
+++ b/libc/test/UnitTest/GTest.h
@@ -11,12 +11,14 @@
 
 #include <gtest/gtest.h>
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 using ::testing::Matcher;
 using ::testing::Test;
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
 
 #define LIBC_TEST_HAS_MATCHERS() (1)
 
diff --git a/libc/test/UnitTest/HermeticTestUtils.cpp b/libc/test/UnitTest/HermeticTestUtils.cpp
index ca854ad94393e..0c54dc6b1b078 100644
--- a/libc/test/UnitTest/HermeticTestUtils.cpp
+++ b/libc/test/UnitTest/HermeticTestUtils.cpp
@@ -14,7 +14,7 @@
 #include "src/sys/auxv/getauxval.h"
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int bcmp(const void *lhs, const void *rhs, size_t count);
 void bzero(void *ptr, size_t count);
@@ -30,7 +30,7 @@ int atexit(void (*func)(void));
 // always returns 0 to indicate a failure.
 [[gnu::weak]] unsigned long getauxval(unsigned long id) { return 0; }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 namespace {
 
diff --git a/libc/test/UnitTest/LibcDeathTestExecutors.cpp b/libc/test/UnitTest/LibcDeathTestExecutors.cpp
index fa6d16410bb7a..e502f2192b22c 100644
--- a/libc/test/UnitTest/LibcDeathTestExecutors.cpp
+++ b/libc/test/UnitTest/LibcDeathTestExecutors.cpp
@@ -13,7 +13,7 @@
 
 #include <cassert>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 bool Test::testProcessKilled(testutils::FunctionCaller *Func, int Signal,
@@ -101,4 +101,4 @@ bool Test::testProcessExits(testutils::FunctionCaller *Func, int ExitCode,
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/LibcTest.cpp b/libc/test/UnitTest/LibcTest.cpp
index 539a2e4d196e2..9849233b21a2e 100644
--- a/libc/test/UnitTest/LibcTest.cpp
+++ b/libc/test/UnitTest/LibcTest.cpp
@@ -27,7 +27,7 @@ extern "C" clock_t clock() noexcept { return LIBC_NAMESPACE::clock(); }
 #define LIBC_TEST_USE_CLOCK
 #endif
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 namespace internal {
@@ -296,4 +296,4 @@ bool Test::testMatch(bool MatchResult, MatcherBase &Matcher, const char *LHSStr,
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/LibcTest.h b/libc/test/UnitTest/LibcTest.h
index 42ba37af45834..774c97916c49a 100644
--- a/libc/test/UnitTest/LibcTest.h
+++ b/libc/test/UnitTest/LibcTest.h
@@ -32,7 +32,7 @@
 #include "test/UnitTest/ExecuteFunction.h"
 #include "test/UnitTest/TestLogger.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 // Only the following conditions are supported. Notice that we do not have
@@ -312,7 +312,7 @@ template <typename... Types> using TypeList = internal::TypeList<Types...>;
 CString libc_make_test_file_path_func(const char *file_name);
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 // For TYPED_TEST and TYPED_TEST_F below we need to display which type was used
 // to run the test. The default will return the fully qualified canonical type
diff --git a/libc/test/UnitTest/MemoryMatcher.cpp b/libc/test/UnitTest/MemoryMatcher.cpp
index c18bc4a8ab590..0f82f931c8055 100644
--- a/libc/test/UnitTest/MemoryMatcher.cpp
+++ b/libc/test/UnitTest/MemoryMatcher.cpp
@@ -14,7 +14,7 @@
 
 using LIBC_NAMESPACE::testing::tlog;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 template <typename T>
@@ -77,6 +77,6 @@ void MemoryMatcher::explainError() {
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TEST_HAS_MATCHERS()
diff --git a/libc/test/UnitTest/MemoryMatcher.h b/libc/test/UnitTest/MemoryMatcher.h
index ab77eff153b40..04758a74472fd 100644
--- a/libc/test/UnitTest/MemoryMatcher.h
+++ b/libc/test/UnitTest/MemoryMatcher.h
@@ -13,13 +13,13 @@
 
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 using MemoryView = LIBC_NAMESPACE::cpp::span<const char>;
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #if !LIBC_TEST_HAS_MATCHERS()
 
@@ -41,7 +41,8 @@ using MemoryView = LIBC_NAMESPACE::cpp::span<const char>;
 
 #else // LIBC_TEST_HAS_MATCHERS()
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 class MemoryMatcher : public Matcher<MemoryView> {
   MemoryView expected;
@@ -57,7 +58,8 @@ class MemoryMatcher : public Matcher<MemoryView> {
   void explainError() override;
 };
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
 
 #define EXPECT_MEM_EQ(expected, actual)                                        \
   EXPECT_THAT(actual, LIBC_NAMESPACE::testing::MemoryMatcher(expected))
diff --git a/libc/test/UnitTest/PrintfMatcher.cpp b/libc/test/UnitTest/PrintfMatcher.cpp
index c8303815c9229..1c38dca223802 100644
--- a/libc/test/UnitTest/PrintfMatcher.cpp
+++ b/libc/test/UnitTest/PrintfMatcher.cpp
@@ -16,7 +16,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 using printf_core::FormatFlags;
@@ -100,4 +100,4 @@ void FormatSectionMatcher::explainError() {
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/PrintfMatcher.h b/libc/test/UnitTest/PrintfMatcher.h
index a4fbeda4d585a..2817be2ee049e 100644
--- a/libc/test/UnitTest/PrintfMatcher.h
+++ b/libc/test/UnitTest/PrintfMatcher.h
@@ -14,7 +14,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 class FormatSectionMatcher : public Matcher<printf_core::FormatSection> {
@@ -31,7 +31,7 @@ class FormatSectionMatcher : public Matcher<printf_core::FormatSection> {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define EXPECT_PFORMAT_EQ(expected, actual)                                    \
   EXPECT_THAT(actual, LIBC_NAMESPACE::testing::FormatSectionMatcher(expected))
diff --git a/libc/test/UnitTest/RoundingModeUtils.cpp b/libc/test/UnitTest/RoundingModeUtils.cpp
index cb34c5eab421e..fab62731ab728 100644
--- a/libc/test/UnitTest/RoundingModeUtils.cpp
+++ b/libc/test/UnitTest/RoundingModeUtils.cpp
@@ -12,7 +12,7 @@
 
 #include "hdr/fenv_macros.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 namespace testing {
 
@@ -48,4 +48,4 @@ ForceRoundingMode::~ForceRoundingMode() {
 
 } // namespace testing
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index b986c98fa2e5e..bbb42d028ea86 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -11,7 +11,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 namespace testing {
 
@@ -32,6 +32,6 @@ template <RoundingMode R> struct ForceRoundingModeTest : ForceRoundingMode {
 
 } // namespace testing
 } // namespace fputil
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_UNITTEST_ROUNDINGMODEUTILS_H
diff --git a/libc/test/UnitTest/ScanfMatcher.cpp b/libc/test/UnitTest/ScanfMatcher.cpp
index 91cb73fb332ed..f46dd362ba699 100644
--- a/libc/test/UnitTest/ScanfMatcher.cpp
+++ b/libc/test/UnitTest/ScanfMatcher.cpp
@@ -16,7 +16,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 using scanf_core::FormatFlags;
@@ -99,4 +99,4 @@ void FormatSectionMatcher::explainError() {
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/ScanfMatcher.h b/libc/test/UnitTest/ScanfMatcher.h
index 0b9a8868bf0b8..f3fc8625df9d1 100644
--- a/libc/test/UnitTest/ScanfMatcher.h
+++ b/libc/test/UnitTest/ScanfMatcher.h
@@ -14,7 +14,7 @@
 
 #include <errno.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 class FormatSectionMatcher : public Matcher<scanf_core::FormatSection> {
@@ -31,7 +31,7 @@ class FormatSectionMatcher : public Matcher<scanf_core::FormatSection> {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define EXPECT_SFORMAT_EQ(expected, actual)                                    \
   EXPECT_THAT(actual, LIBC_NAMESPACE::testing::FormatSectionMatcher(expected))
diff --git a/libc/test/UnitTest/StringUtils.h b/libc/test/UnitTest/StringUtils.h
index 61d74b49d4c98..f9908dc91e508 100644
--- a/libc/test/UnitTest/StringUtils.h
+++ b/libc/test/UnitTest/StringUtils.h
@@ -13,7 +13,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/big_int.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Return the first N hex digits of an integer as a string in upper case.
 template <typename T>
@@ -32,6 +32,6 @@ int_to_hex(T value, size_t length = sizeof(T) * 2) {
   return "0x" + s;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_UNITTEST_STRINGUTILS_H
diff --git a/libc/test/UnitTest/TestLogger.cpp b/libc/test/UnitTest/TestLogger.cpp
index feba4b5ddd39b..4b2c81e4abe2f 100644
--- a/libc/test/UnitTest/TestLogger.cpp
+++ b/libc/test/UnitTest/TestLogger.cpp
@@ -8,7 +8,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 // cpp::string_view specialization
@@ -86,4 +86,4 @@ template TestLogger &TestLogger::operator<< <UInt<320>>(UInt<320>);
 TestLogger tlog;
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/UnitTest/TestLogger.h b/libc/test/UnitTest/TestLogger.h
index 6188bcf4434af..a725e65fad287 100644
--- a/libc/test/UnitTest/TestLogger.h
+++ b/libc/test/UnitTest/TestLogger.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_TEST_UNITTEST_TESTLOGGER_H
 #define LLVM_LIBC_TEST_UNITTEST_TESTLOGGER_H
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 // A class to log to standard output in the context of hermetic tests.
@@ -22,6 +22,6 @@ struct TestLogger {
 extern TestLogger tlog;
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif /* LLVM_LIBC_TEST_UNITTEST_TESTLOGGER_H */
diff --git a/libc/test/UnitTest/ZxTest.h b/libc/test/UnitTest/ZxTest.h
index e6bd1e8b64372..ae7d41ad91ff9 100644
--- a/libc/test/UnitTest/ZxTest.h
+++ b/libc/test/UnitTest/ZxTest.h
@@ -28,11 +28,13 @@
 #define EXPECT_DEATH(FUNC, SIG) ([&] { ASSERT_DEATH(FUNC, SIG); }())
 #endif
 
-namespace LIBC_NAMESPACE::testing {
+namespace LIBC_NAMESPACE_DECL {
+namespace testing {
 
 using Test = ::zxtest::Test;
 
-} // namespace LIBC_NAMESPACE::testing
+} // namespace testing
+} // namespace LIBC_NAMESPACE_DECL
 
 // zxtest does not have gmock-style matchers.
 #define LIBC_TEST_HAS_MATCHERS() (0)
diff --git a/libc/test/include/sys/queue_test.cpp b/libc/test/include/sys/queue_test.cpp
index c10e48d627caa..672751458aab8 100644
--- a/libc/test/include/sys/queue_test.cpp
+++ b/libc/test/include/sys/queue_test.cpp
@@ -15,7 +15,7 @@
 using LIBC_NAMESPACE::CharVector;
 using LIBC_NAMESPACE::cpp::string;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcQueueTest, SList) {
   struct Entry {
@@ -165,4 +165,4 @@ TEST(LlvmLibcQueueTest, STailQ) {
   ASSERT_TRUE(STAILQ_EMPTY(&head));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/integration/src/pthread/pthread_rwlock_test.cpp b/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
index 9175efea4be95..268343f6d960c 100644
--- a/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
+++ b/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
@@ -41,14 +41,16 @@
 #include <pthread.h>
 #include <time.h>
 
-namespace LIBC_NAMESPACE::rwlock {
+namespace LIBC_NAMESPACE_DECL {
+namespace rwlock {
 class RwLockTester {
 public:
   static constexpr int full_reader_state() {
     return (~0) & (~RwState::PENDING_MASK) & (~RwState::ACTIVE_WRITER_BIT);
   }
 };
-} // namespace LIBC_NAMESPACE::rwlock
+} // namespace rwlock
+} // namespace LIBC_NAMESPACE_DECL
 
 static void smoke_test() {
   pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
diff --git a/libc/test/src/__support/CPP/algorithm_test.cpp b/libc/test/src/__support/CPP/algorithm_test.cpp
index e52e5624e4a6b..e2427b1b4e5e0 100644
--- a/libc/test/src/__support/CPP/algorithm_test.cpp
+++ b/libc/test/src/__support/CPP/algorithm_test.cpp
@@ -12,7 +12,8 @@
 
 // TODO(https://github.com/llvm/llvm-project/issues/94066): Add unittests for
 // the remaining algorithm functions.
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 TEST(LlvmLibcAlgorithmTest, FindIfNot) {
   array<int, 4> nums{1, 2, 3, 4};
@@ -44,4 +45,5 @@ TEST(LlvmLibcAlgorithmTest, AllOf) {
   EXPECT_TRUE(all_of(nums.begin(), nums.begin(), [](int i) { return i < 0; }));
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/CPP/bit_test.cpp b/libc/test/src/__support/CPP/bit_test.cpp
index 299623d2ca240..5f28990286386 100644
--- a/libc/test/src/__support/CPP/bit_test.cpp
+++ b/libc/test/src/__support/CPP/bit_test.cpp
@@ -13,7 +13,8 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 using UnsignedTypes = testing::TypeList<
 #if defined(LIBC_TYPES_HAS_INT128)
@@ -228,4 +229,5 @@ TYPED_TEST(LlvmLibcBitTest, CountOnes, UnsignedTypes) {
               cpp::numeric_limits<T>::digits - i);
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/CPP/cstddef_test.cpp b/libc/test/src/__support/CPP/cstddef_test.cpp
index 8337081345a02..86ff218eaa633 100644
--- a/libc/test/src/__support/CPP/cstddef_test.cpp
+++ b/libc/test/src/__support/CPP/cstddef_test.cpp
@@ -9,7 +9,8 @@
 #include "src/__support/CPP/cstddef.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 TEST(LlvmLibcByteTest, to_integer) {
   const char str[] = "abc";
@@ -41,4 +42,5 @@ TEST(LlvmLibcByteTest, bitwise) {
   ASSERT_EQ(b, byte{0b00001111});
 }
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/CPP/limits_test.cpp b/libc/test/src/__support/CPP/limits_test.cpp
index bcf7d5ed6a6e7..b7e03e111aa1d 100644
--- a/libc/test/src/__support/CPP/limits_test.cpp
+++ b/libc/test/src/__support/CPP/limits_test.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // This just checks against the C spec, almost all implementations will surpass
 // this.
@@ -42,4 +42,4 @@ TEST(LlvmLibcLimitsTest, UInt128Limits) {
 #endif // LIBC_TYPES_HAS_INT128
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/CPP/type_traits_test.cpp b/libc/test/src/__support/CPP/type_traits_test.cpp
index 1c428e93a2fd8..79fc508789a28 100644
--- a/libc/test/src/__support/CPP/type_traits_test.cpp
+++ b/libc/test/src/__support/CPP/type_traits_test.cpp
@@ -11,7 +11,8 @@
 
 // TODO: Split this file if it becomes too big.
 
-namespace LIBC_NAMESPACE::cpp {
+namespace LIBC_NAMESPACE_DECL {
+namespace cpp {
 
 class Class {};
 union Union {};
@@ -441,4 +442,5 @@ TEST(LlvmLibcTypeTraitsTest, true_type) { EXPECT_TRUE((true_type::value)); }
 
 // TODO void_t
 
-} // namespace LIBC_NAMESPACE::cpp
+} // namespace cpp
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/HashTable/bitmask_test.cpp b/libc/test/src/__support/HashTable/bitmask_test.cpp
index 5203220e9b5cf..a90844d6323ee 100644
--- a/libc/test/src/__support/HashTable/bitmask_test.cpp
+++ b/libc/test/src/__support/HashTable/bitmask_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/__support/HashTable/bitmask.h"
 #include "test/UnitTest/Test.h"
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 using ShortBitMask = BitMaskAdaptor<uint16_t, 1>;
@@ -66,4 +66,4 @@ TEST(LlvmLibcHashTableBitMaskTest, MultiBitStrideIteration) {
   }
 }
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/HashTable/group_test.cpp b/libc/test/src/__support/HashTable/group_test.cpp
index 907908335863a..6431545e2dcbd 100644
--- a/libc/test/src/__support/HashTable/group_test.cpp
+++ b/libc/test/src/__support/HashTable/group_test.cpp
@@ -12,7 +12,7 @@
 #include "test/UnitTest/Test.h"
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
 struct ByteArray {
@@ -87,4 +87,4 @@ TEST(LlvmLibcHashTableBitMaskTest, MaskAvailable) {
   }
 }
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/HashTable/table_test.cpp b/libc/test/src/__support/HashTable/table_test.cpp
index dcae6f4e8fca9..15b4256076c57 100644
--- a/libc/test/src/__support/HashTable/table_test.cpp
+++ b/libc/test/src/__support/HashTable/table_test.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/HashTable/table.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 TEST(LlvmLibcTableTest, AllocationAndDeallocation) {
   size_t caps[] = {0, 1, 2, 3, 4, 7, 11, 37, 1024, 5261, 19999};
@@ -128,4 +128,4 @@ TEST(LlvmLibcTableTest, Insertion) {
 }
 
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/big_int_test.cpp b/libc/test/src/__support/big_int_test.cpp
index 84cd206b3273c..dc4fcb2f8a250 100644
--- a/libc/test/src/__support/big_int_test.cpp
+++ b/libc/test/src/__support/big_int_test.cpp
@@ -14,7 +14,7 @@
 #include "hdr/math_macros.h" // HUGE_VALF, HUGE_VALF
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 enum Value { ZERO, ONE, TWO, MIN, MAX };
 
@@ -921,4 +921,4 @@ TEST(LlvmLibcUIntClassTest, OtherWordTypeTests) {
   ASSERT_EQ(static_cast<int>(a >> 64), 1);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/endian_test.cpp b/libc/test/src/__support/endian_test.cpp
index 4d95c03cf1398..85b3a37a89a31 100644
--- a/libc/test/src/__support/endian_test.cpp
+++ b/libc/test/src/__support/endian_test.cpp
@@ -9,7 +9,7 @@
 #include "src/__support/endian.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 struct LlvmLibcEndian : testing::Test {
   template <typename T> void check(const T original, const T swapped) {
@@ -52,4 +52,4 @@ TEST_F(LlvmLibcEndian, uint64_t) {
   check(original, swapped);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/freelist_heap_test.cpp b/libc/test/src/__support/freelist_heap_test.cpp
index add590f5c6d31..cf693489519d5 100644
--- a/libc/test/src/__support/freelist_heap_test.cpp
+++ b/libc/test/src/__support/freelist_heap_test.cpp
@@ -12,7 +12,7 @@
 #include "src/string/memcpy.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LIBC_NAMESPACE::freelist_heap;
 
@@ -284,4 +284,4 @@ TEST_FOR_EACH_ALLOCATOR(InvalidAlignedAllocAlignment, 2048) {
   EXPECT_EQ(ptr, static_cast<void *>(nullptr));
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/math_extras_test.cpp b/libc/test/src/__support/math_extras_test.cpp
index 9f9036b9d5cdf..6b9579689d78c 100644
--- a/libc/test/src/__support/math_extras_test.cpp
+++ b/libc/test/src/__support/math_extras_test.cpp
@@ -11,7 +11,7 @@
 #include "src/__support/uint128.h" // UInt<128>
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // TODO: add UInt<128> support.
 using UnsignedTypesNoBigInt = testing::TypeList<
@@ -158,4 +158,4 @@ TYPED_TEST(LlvmLibcBlockMathExtrasTest, sub_overflow, UnsignedTypes) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/memory_size_test.cpp b/libc/test/src/__support/memory_size_test.cpp
index 1c8f1ce87415b..77d4da1b50ab6 100644
--- a/libc/test/src/__support/memory_size_test.cpp
+++ b/libc/test/src/__support/memory_size_test.cpp
@@ -9,7 +9,7 @@
 #include "src/__support/memory_size.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 static inline constexpr size_t SAFE_MEM_SIZE_TEST_LIMIT =
     static_cast<size_t>(cpp::numeric_limits<cpp::make_signed_t<size_t>>::max());
@@ -100,4 +100,4 @@ TEST(LlvmLibcBlockBitTest, OffsetTo) {
   }
 }
 } // namespace internal
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/str_to_double_test.cpp b/libc/test/src/__support/str_to_double_test.cpp
index 3c6d03978803b..c078c81332de8 100644
--- a/libc/test/src/__support/str_to_double_test.cpp
+++ b/libc/test/src/__support/str_to_double_test.cpp
@@ -1,6 +1,6 @@
 #include "str_to_fp_test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 using LlvmLibcStrToDblTest = LlvmLibcStrToFloatTest<double>;
 
 TEST_F(LlvmLibcStrToDblTest, ClingerFastPathFloat64Simple) {
@@ -102,4 +102,4 @@ TEST(LlvmLibcStrToDblTest, SimpleDecimalConversionExtraTypes) {
   EXPECT_EQ(double_result.error, 0);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/str_to_float_test.cpp b/libc/test/src/__support/str_to_float_test.cpp
index f23d8706d77da..1f7a5b1ffe015 100644
--- a/libc/test/src/__support/str_to_float_test.cpp
+++ b/libc/test/src/__support/str_to_float_test.cpp
@@ -1,6 +1,6 @@
 #include "str_to_fp_test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LlvmLibcStrToFltTest = LlvmLibcStrToFloatTest<float>;
 
@@ -56,4 +56,4 @@ TEST(LlvmLibcStrToFltTest, SimpleDecimalConversionExtraTypes) {
   EXPECT_EQ(float_result.error, 0);
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/str_to_fp_test.h b/libc/test/src/__support/str_to_fp_test.h
index 8d6181cda884b..3adee018b72c5 100644
--- a/libc/test/src/__support/str_to_fp_test.h
+++ b/libc/test/src/__support/str_to_fp_test.h
@@ -13,7 +13,7 @@
 
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T> struct LlvmLibcStrToFloatTest : public testing::Test {
   using StorageType = typename fputil::FPBits<T>::StorageType;
@@ -79,4 +79,4 @@ template <typename T> struct LlvmLibcStrToFloatTest : public testing::Test {
   }
 };
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/__support/str_to_long_double_test.cpp b/libc/test/src/__support/str_to_long_double_test.cpp
index c97fe27565e85..1c7556fa81bdc 100644
--- a/libc/test/src/__support/str_to_long_double_test.cpp
+++ b/libc/test/src/__support/str_to_long_double_test.cpp
@@ -2,7 +2,7 @@
 
 #include "src/__support/integer_literals.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using LlvmLibcStrToLongDblTest = LlvmLibcStrToFloatTest<long double>;
 using LIBC_NAMESPACE::operator""_u128;
@@ -81,4 +81,4 @@ TEST_F(LlvmLibcStrToLongDblTest, EiselLemireFloat128Fallback) {
 #error "Unknown long double type"
 #endif
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
index 3027932c70f40..1bcca22864139 100644
--- a/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
+++ b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
@@ -12,7 +12,7 @@
 #include <cstddef>
 #include <fstream>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 template <typename T> class BinaryOpSingleOutputPerf {
@@ -121,7 +121,7 @@ template <typename T> class BinaryOpSingleOutputPerf {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define BINARY_OP_SINGLE_OUTPUT_PERF(T, myFunc, otherFunc, filename)           \
   int main() {                                                                 \
diff --git a/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
index b5b38313a69ca..cfc64cfeb9c86 100644
--- a/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
+++ b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
@@ -11,7 +11,7 @@
 
 #include <fstream>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 template <typename T> class SingleInputSingleOutputPerf {
@@ -80,7 +80,7 @@ template <typename T> class SingleInputSingleOutputPerf {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define SINGLE_INPUT_SINGLE_OUTPUT_PERF(T, myFunc, otherFunc, filename)        \
   int main() {                                                                 \
diff --git a/libc/test/src/math/performance_testing/Timer.cpp b/libc/test/src/math/performance_testing/Timer.cpp
index 979196ae6b835..758a7d1766327 100644
--- a/libc/test/src/math/performance_testing/Timer.cpp
+++ b/libc/test/src/math/performance_testing/Timer.cpp
@@ -11,7 +11,7 @@
 #include <chrono>
 #include <fstream>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 struct TimerImplementation {
@@ -39,4 +39,4 @@ uint64_t Timer::nanoseconds() const {
 }
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/math/performance_testing/Timer.h b/libc/test/src/math/performance_testing/Timer.h
index 2327ede260ab9..24c0de2bd0fd1 100644
--- a/libc/test/src/math/performance_testing/Timer.h
+++ b/libc/test/src/math/performance_testing/Timer.h
@@ -11,7 +11,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 class Timer {
@@ -28,6 +28,6 @@ class Timer {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_SRC_MATH_PERFORMANCE_TESTING_TIMER_H
diff --git a/libc/test/src/math/sdcomp26094.h b/libc/test/src/math/sdcomp26094.h
index 4a77b2a4cd078..1193d59fb8156 100644
--- a/libc/test/src/math/sdcomp26094.h
+++ b/libc/test/src/math/sdcomp26094.h
@@ -13,7 +13,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 static constexpr LIBC_NAMESPACE::cpp::array<uint32_t, 10> SDCOMP26094_VALUES{
@@ -22,6 +22,6 @@ static constexpr LIBC_NAMESPACE::cpp::array<uint32_t, 10> SDCOMP26094_VALUES{
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_SRC_MATH_SDCOMP26094_H
diff --git a/libc/test/src/stdio/sprintf_test.cpp b/libc/test/src/stdio/sprintf_test.cpp
index 1ca22f71f0f2f..f64e452bf3c13 100644
--- a/libc/test/src/stdio/sprintf_test.cpp
+++ b/libc/test/src/stdio/sprintf_test.cpp
@@ -16,7 +16,7 @@
 // TODO: Add a comment here explaining the printf format string.
 
 // #include <stdio.h>
-// namespace LIBC_NAMESPACE {
+// namespace LIBC_NAMESPACE_DECL {
 // using ::sprintf;
 // }
 
diff --git a/libc/test/src/stdlib/strtoint32_test.cpp b/libc/test/src/stdlib/strtoint32_test.cpp
index a7c9141d9f79b..ac336fe15520b 100644
--- a/libc/test/src/stdlib/strtoint32_test.cpp
+++ b/libc/test/src/stdlib/strtoint32_test.cpp
@@ -14,7 +14,7 @@
 #include "StrtolTest.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int32_t strtoint32(const char *__restrict str, char **__restrict str_end,
                    int base) {
@@ -39,7 +39,7 @@ uint32_t strtouint32(const char *__restrict str, char **__restrict str_end,
 
   return result;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 STRTOL_TEST(Strtoint32, LIBC_NAMESPACE::strtoint32)
 STRTOL_TEST(Strtouint32, LIBC_NAMESPACE::strtouint32)
diff --git a/libc/test/src/stdlib/strtoint64_test.cpp b/libc/test/src/stdlib/strtoint64_test.cpp
index 350b5aca4c850..c9994c39b6e02 100644
--- a/libc/test/src/stdlib/strtoint64_test.cpp
+++ b/libc/test/src/stdlib/strtoint64_test.cpp
@@ -14,7 +14,7 @@
 #include "StrtolTest.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 int64_t strtoint64(const char *__restrict str, char **__restrict str_end,
                    int base) {
@@ -39,7 +39,7 @@ uint64_t strtouint64(const char *__restrict str, char **__restrict str_end,
 
   return result;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 STRTOL_TEST(Strtoint64, LIBC_NAMESPACE::strtoint64)
 STRTOL_TEST(Strtouint64, LIBC_NAMESPACE::strtouint64)
diff --git a/libc/test/src/string/bcmp_test.cpp b/libc/test/src/string/bcmp_test.cpp
index fa89e4d7b08f1..9f486b306df2d 100644
--- a/libc/test/src/string/bcmp_test.cpp
+++ b/libc/test/src/string/bcmp_test.cpp
@@ -11,7 +11,7 @@
 #include "test/UnitTest/Test.h"
 #include "test/UnitTest/TestLogger.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcBcmpTest, CmpZeroByte) {
   const char *lhs = "ab";
@@ -57,4 +57,4 @@ TEST(LlvmLibcBcmpTest, SizeSweep) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/bcopy_test.cpp b/libc/test/src/string/bcopy_test.cpp
index f8cb9208838f3..ab3345e682701 100644
--- a/libc/test/src/string/bcopy_test.cpp
+++ b/libc/test/src/string/bcopy_test.cpp
@@ -16,7 +16,7 @@
 using LIBC_NAMESPACE::cpp::array;
 using LIBC_NAMESPACE::cpp::span;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcBcopyTest, MoveZeroByte) {
   char Buffer[] = {'a', 'b', 'y', 'z'};
@@ -95,4 +95,4 @@ TEST(LlvmLibcBcopyTest, SizeSweep) {
     }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/bzero_test.cpp b/libc/test/src/string/bzero_test.cpp
index 7382490e13cba..63e81bf55f1cb 100644
--- a/libc/test/src/string/bzero_test.cpp
+++ b/libc/test/src/string/bzero_test.cpp
@@ -10,7 +10,7 @@
 #include "src/string/bzero.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Adapt CheckMemset signature to bzero.
 static inline void Adaptor(cpp::span<char> p1, uint8_t value, size_t size) {
@@ -26,4 +26,4 @@ TEST(LlvmLibcBzeroTest, SizeSweep) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memcmp_test.cpp b/libc/test/src/string/memcmp_test.cpp
index ca7a5c7ce3702..eee3bbf78f719 100644
--- a/libc/test/src/string/memcmp_test.cpp
+++ b/libc/test/src/string/memcmp_test.cpp
@@ -11,7 +11,7 @@
 #include "test/UnitTest/Test.h"
 #include "test/UnitTest/TestLogger.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcMemcmpTest, CmpZeroByte) {
   const char *lhs = "ab";
@@ -64,4 +64,4 @@ TEST(LlvmLibcMemcmpTest, SizeSweep) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memcpy_test.cpp b/libc/test/src/string/memcpy_test.cpp
index 1ac9631148441..30d4770b7d0d1 100644
--- a/libc/test/src/string/memcpy_test.cpp
+++ b/libc/test/src/string/memcpy_test.cpp
@@ -15,7 +15,7 @@
 #include "memory_utils/protected_pages.h"
 #endif // !defined(LIBC_FULL_BUILD) && defined(LIBC_TARGET_OS_IS_LINUX)
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Adapt CheckMemcpy signature to memcpy.
 static inline void Adaptor(cpp::span<char> dst, cpp::span<char> src,
@@ -71,4 +71,4 @@ TEST(LlvmLibcMemcpyTest, CheckAccess) {
 
 #endif // !defined(LIBC_FULL_BUILD) && defined(LIBC_TARGET_OS_IS_LINUX)
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memmem_test.cpp b/libc/test/src/string/memmem_test.cpp
index 56d4b7f03c264..abf93ce2ecbb6 100644
--- a/libc/test/src/string/memmem_test.cpp
+++ b/libc/test/src/string/memmem_test.cpp
@@ -11,7 +11,7 @@
 
 #include "src/string/string_utils.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcMemmemTest, EmptyHaystackEmptyNeedleReturnsHaystck) {
   char *h = nullptr;
@@ -126,4 +126,4 @@ TEST(LlvmLibcMemmemTest, ReturnNullIfInadequateHaystackLength) {
     ASSERT_EQ(result, static_cast<void *>(nullptr));
   }
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memmove_test.cpp b/libc/test/src/string/memmove_test.cpp
index b076e862b6ec7..dd6d1327edbcf 100644
--- a/libc/test/src/string/memmove_test.cpp
+++ b/libc/test/src/string/memmove_test.cpp
@@ -16,7 +16,7 @@
 using LIBC_NAMESPACE::cpp::array;
 using LIBC_NAMESPACE::cpp::span;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 TEST(LlvmLibcMemmoveTest, MoveZeroByte) {
   char Buffer[] = {'a', 'b', 'y', 'z'};
@@ -101,4 +101,4 @@ TEST(LlvmLibcMemmoveTest, SizeSweep) {
     }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memory_utils/memory_check_utils.h b/libc/test/src/string/memory_utils/memory_check_utils.h
index 9504230e0c3aa..5d9b9874b12c8 100644
--- a/libc/test/src/string/memory_utils/memory_check_utils.h
+++ b/libc/test/src/string/memory_utils/memory_check_utils.h
@@ -17,7 +17,7 @@
 #include <stdint.h> // uintxx_t
 #include <stdlib.h> // malloc/free
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Simple structure to allocate a buffer of a particular size.
 // When ASAN is present it also poisons the whole memory.
@@ -198,6 +198,6 @@ inline bool CheckMemmove(cpp::span<char> buffer, size_t size, int overlap) {
   return true;
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TEST_SRC_STRING_MEMORY_UTILS_MEMORY_CHECK_UTILS_H
diff --git a/libc/test/src/string/memory_utils/op_tests.cpp b/libc/test/src/string/memory_utils/op_tests.cpp
index 703a26b16b03f..f8318b8319413 100644
--- a/libc/test/src/string/memory_utils/op_tests.cpp
+++ b/libc/test/src/string/memory_utils/op_tests.cpp
@@ -15,7 +15,7 @@
 #include "src/string/memory_utils/op_x86.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 template <typename T> struct has_head_tail {
   template <typename C> static char sfinae(decltype(&C::head_tail));
@@ -344,4 +344,4 @@ TYPED_TEST(LlvmLibcOpTest, Memcmp, MemcmpImplementations) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memory_utils/utils_test.cpp b/libc/test/src/string/memory_utils/utils_test.cpp
index 5ed35b08cdffd..24d3fb767bb06 100644
--- a/libc/test/src/string/memory_utils/utils_test.cpp
+++ b/libc/test/src/string/memory_utils/utils_test.cpp
@@ -10,7 +10,7 @@
 #include "src/string/memory_utils/utils.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 using UINT = uintptr_t;
 
@@ -137,4 +137,4 @@ TEST(LlvmLibcUtilsTest, LoadStoreAligned) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memset_explicit_test.cpp b/libc/test/src/string/memset_explicit_test.cpp
index bb5111bd639e3..1dff3d70c0b72 100644
--- a/libc/test/src/string/memset_explicit_test.cpp
+++ b/libc/test/src/string/memset_explicit_test.cpp
@@ -10,7 +10,7 @@
 #include "src/string/memset_explicit.h"
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Apply the same tests as memset
 
@@ -28,4 +28,4 @@ TEST(LlvmLibcmemsetExplicitTest, SizeSweep) {
   }
 }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/string/memset_test.cpp b/libc/test/src/string/memset_test.cpp
index d78b579a0edbf..e3a0f00103eed 100644
--- a/libc/test/src/string/memset_test.cpp
+++ b/libc/test/src/string/memset_test.cpp
@@ -15,7 +15,7 @@
 #include "memory_utils/protected_pages.h"
 #endif // !defined(LIBC_FULL_BUILD) && defined(LIBC_TARGET_OS_IS_LINUX)
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 
 // Adapt CheckMemset signature to memset.
 static inline void Adaptor(cpp::span<char> p1, uint8_t value, size_t size) {
@@ -58,4 +58,4 @@ TEST(LlvmLibcMemsetTest, CheckAccess) {
 
 #endif // !defined(LIBC_FULL_BUILD) && defined(LIBC_TARGET_OS_IS_LINUX)
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp b/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
index bd5195c7969bd..18f4feacbe5ff 100644
--- a/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
+++ b/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
@@ -8,7 +8,7 @@
 #include <linux/magic.h>
 using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 static int fstatfs(int fd, struct statfs *buf) {
   using namespace statfs_utils;
   if (cpp::optional<LinuxStatFs> result = linux_fstatfs(fd)) {
@@ -17,7 +17,7 @@ static int fstatfs(int fd, struct statfs *buf) {
   }
   return -1;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 struct PathFD {
   int fd;
diff --git a/libc/test/src/sys/statvfs/linux/statvfs_test.cpp b/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
index 695d2c0d5e98d..4af043d750544 100644
--- a/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
+++ b/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
@@ -5,7 +5,7 @@
 #include <linux/magic.h>
 using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 static int statfs(const char *path, struct statfs *buf) {
   using namespace statfs_utils;
   if (cpp::optional<LinuxStatFs> result = linux_statfs(path)) {
@@ -14,7 +14,7 @@ static int statfs(const char *path, struct statfs *buf) {
   }
   return -1;
 }
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 TEST(LlvmLibcSysStatfsTest, StatfsBasic) {
   struct statfs buf;
diff --git a/libc/test/src/time/TmHelper.h b/libc/test/src/time/TmHelper.h
index 16210944bf15f..a2de96d6ca78e 100644
--- a/libc/test/src/time/TmHelper.h
+++ b/libc/test/src/time/TmHelper.h
@@ -15,7 +15,7 @@
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace tmhelper {
 namespace testing {
 
@@ -38,6 +38,6 @@ static inline void initialize_tm_data(struct tm *tm_data, int year, int month,
 
 } // namespace testing
 } // namespace tmhelper
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_TEST_SRC_TIME_TMHELPER_H
diff --git a/libc/test/src/time/TmMatcher.h b/libc/test/src/time/TmMatcher.h
index 7cdc2c4b90502..5468e89adc895 100644
--- a/libc/test/src/time/TmMatcher.h
+++ b/libc/test/src/time/TmMatcher.h
@@ -13,7 +13,7 @@
 
 #include "test/UnitTest/Test.h"
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
 class StructTmMatcher : public Matcher<::tm> {
@@ -57,7 +57,7 @@ class StructTmMatcher : public Matcher<::tm> {
 };
 
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 #define EXPECT_TM_EQ(expected, actual)                                         \
   EXPECT_THAT((actual), LIBC_NAMESPACE::testing::StructTmMatcher((expected)))
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 99a240e555af2..374d3439ba9ff 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -22,7 +22,7 @@
 
 template <typename T> using FPBits = LIBC_NAMESPACE::fputil::FPBits<T>;
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 namespace mpfr {
 
@@ -1299,4 +1299,4 @@ template float16 round<float16>(float16, RoundingMode);
 
 } // namespace mpfr
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index fd0d72472bf7e..a03f8e774ba46 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -15,7 +15,7 @@
 
 #include <stdint.h>
 
-namespace LIBC_NAMESPACE {
+namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 namespace mpfr {
 
@@ -372,7 +372,7 @@ template <typename T> bool round_to_long(T x, RoundingMode mode, long &result);
 
 } // namespace mpfr
 } // namespace testing
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
 
 // GET_MPFR_DUMMY_ARG is going to be added to the end of GET_MPFR_MACRO as a
 // simple way to avoid the compiler warning `gnu-zero-variadic-macro-arguments`.

>From ea3cb65c0146a89339b3899631069529bacea813 Mon Sep 17 00:00:00 2001
From: Petr Hosek <phosek at google.com>
Date: Mon, 8 Jul 2024 15:03:09 -0700
Subject: [PATCH 2/3] Add `src/__support/macros/config.h` includes

---
 libc/benchmarks/LibcDefaultImplementations.cpp                | 1 +
 libc/benchmarks/LibcMemoryBenchmarkMain.cpp                   | 1 +
 libc/benchmarks/automemcpy/lib/CodeGen.cpp                    | 1 +
 libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp          | 1 +
 libc/benchmarks/gpu/BenchmarkLogger.cpp                       | 1 +
 libc/benchmarks/gpu/BenchmarkLogger.h                         | 2 ++
 libc/benchmarks/gpu/LibcGpuBenchmark.cpp                      | 1 +
 libc/benchmarks/gpu/LibcGpuBenchmark.h                        | 1 +
 libc/config/linux/app.h                                       | 1 +
 libc/fuzzing/__support/hashtable_fuzz.cpp                     | 1 +
 libc/src/__support/CPP/algorithm.h                            | 1 +
 libc/src/__support/CPP/array.h                                | 1 +
 libc/src/__support/CPP/atomic.h                               | 1 +
 libc/src/__support/CPP/bit.h                                  | 1 +
 libc/src/__support/CPP/bitset.h                               | 1 +
 libc/src/__support/CPP/cstddef.h                              | 1 +
 libc/src/__support/CPP/expected.h                             | 1 +
 libc/src/__support/CPP/functional.h                           | 1 +
 libc/src/__support/CPP/iterator.h                             | 1 +
 libc/src/__support/CPP/limits.h                               | 1 +
 libc/src/__support/CPP/mutex.h                                | 2 ++
 libc/src/__support/CPP/new.h                                  | 1 +
 libc/src/__support/CPP/optional.h                             | 1 +
 libc/src/__support/CPP/span.h                                 | 1 +
 libc/src/__support/CPP/string.h                               | 1 +
 libc/src/__support/CPP/string_view.h                          | 1 +
 libc/src/__support/CPP/stringstream.h                         | 1 +
 libc/src/__support/CPP/type_traits/add_lvalue_reference.h     | 1 +
 libc/src/__support/CPP/type_traits/add_pointer.h              | 1 +
 libc/src/__support/CPP/type_traits/add_rvalue_reference.h     | 1 +
 libc/src/__support/CPP/type_traits/aligned_storage.h          | 1 +
 libc/src/__support/CPP/type_traits/always_false.h             | 1 +
 libc/src/__support/CPP/type_traits/bool_constant.h            | 1 +
 libc/src/__support/CPP/type_traits/conditional.h              | 1 +
 libc/src/__support/CPP/type_traits/decay.h                    | 1 +
 libc/src/__support/CPP/type_traits/enable_if.h                | 1 +
 libc/src/__support/CPP/type_traits/false_type.h               | 1 +
 libc/src/__support/CPP/type_traits/integral_constant.h        | 1 +
 libc/src/__support/CPP/type_traits/invoke.h                   | 1 +
 libc/src/__support/CPP/type_traits/invoke_result.h            | 1 +
 libc/src/__support/CPP/type_traits/is_arithmetic.h            | 1 +
 libc/src/__support/CPP/type_traits/is_array.h                 | 1 +
 libc/src/__support/CPP/type_traits/is_base_of.h               | 1 +
 libc/src/__support/CPP/type_traits/is_class.h                 | 1 +
 libc/src/__support/CPP/type_traits/is_const.h                 | 1 +
 libc/src/__support/CPP/type_traits/is_constant_evaluated.h    | 1 +
 libc/src/__support/CPP/type_traits/is_convertible.h           | 1 +
 libc/src/__support/CPP/type_traits/is_destructible.h          | 1 +
 libc/src/__support/CPP/type_traits/is_enum.h                  | 1 +
 libc/src/__support/CPP/type_traits/is_fixed_point.h           | 1 +
 libc/src/__support/CPP/type_traits/is_floating_point.h        | 1 +
 libc/src/__support/CPP/type_traits/is_function.h              | 1 +
 libc/src/__support/CPP/type_traits/is_integral.h              | 1 +
 libc/src/__support/CPP/type_traits/is_lvalue_reference.h      | 1 +
 libc/src/__support/CPP/type_traits/is_member_pointer.h        | 1 +
 libc/src/__support/CPP/type_traits/is_null_pointer.h          | 1 +
 libc/src/__support/CPP/type_traits/is_object.h                | 1 +
 libc/src/__support/CPP/type_traits/is_pointer.h               | 1 +
 libc/src/__support/CPP/type_traits/is_reference.h             | 1 +
 libc/src/__support/CPP/type_traits/is_rvalue_reference.h      | 1 +
 libc/src/__support/CPP/type_traits/is_same.h                  | 1 +
 libc/src/__support/CPP/type_traits/is_scalar.h                | 1 +
 libc/src/__support/CPP/type_traits/is_signed.h                | 1 +
 .../__support/CPP/type_traits/is_trivially_constructible.h    | 1 +
 libc/src/__support/CPP/type_traits/is_trivially_copyable.h    | 1 +
 .../src/__support/CPP/type_traits/is_trivially_destructible.h | 1 +
 libc/src/__support/CPP/type_traits/is_union.h                 | 1 +
 libc/src/__support/CPP/type_traits/is_unsigned.h              | 1 +
 libc/src/__support/CPP/type_traits/is_void.h                  | 1 +
 libc/src/__support/CPP/type_traits/make_signed.h              | 1 +
 libc/src/__support/CPP/type_traits/make_unsigned.h            | 1 +
 libc/src/__support/CPP/type_traits/remove_all_extents.h       | 1 +
 libc/src/__support/CPP/type_traits/remove_cv.h                | 1 +
 libc/src/__support/CPP/type_traits/remove_cvref.h             | 1 +
 libc/src/__support/CPP/type_traits/remove_extent.h            | 1 +
 libc/src/__support/CPP/type_traits/remove_reference.h         | 1 +
 libc/src/__support/CPP/type_traits/true_type.h                | 1 +
 libc/src/__support/CPP/type_traits/type_identity.h            | 2 ++
 libc/src/__support/CPP/type_traits/void_t.h                   | 1 +
 libc/src/__support/CPP/utility/declval.h                      | 1 +
 libc/src/__support/CPP/utility/forward.h                      | 1 +
 libc/src/__support/CPP/utility/in_place.h                     | 1 +
 libc/src/__support/CPP/utility/integer_sequence.h             | 1 +
 libc/src/__support/CPP/utility/move.h                         | 1 +
 libc/src/__support/FPUtil/BasicOperations.h                   | 1 +
 libc/src/__support/FPUtil/DivisionAndRemainderOperations.h    | 1 +
 libc/src/__support/FPUtil/FEnvImpl.h                          | 1 +
 libc/src/__support/FPUtil/FMA.h                               | 1 +
 libc/src/__support/FPUtil/FPBits.h                            | 1 +
 libc/src/__support/FPUtil/Hypot.h                             | 1 +
 libc/src/__support/FPUtil/ManipulationFunctions.h             | 1 +
 libc/src/__support/FPUtil/NearestIntegerOperations.h          | 1 +
 libc/src/__support/FPUtil/NormalFloat.h                       | 1 +
 libc/src/__support/FPUtil/PolyEval.h                          | 1 +
 libc/src/__support/FPUtil/aarch64/FEnvImpl.h                  | 1 +
 libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h          | 1 +
 libc/src/__support/FPUtil/aarch64/nearest_integer.h           | 1 +
 libc/src/__support/FPUtil/aarch64/sqrt.h                      | 1 +
 libc/src/__support/FPUtil/arm/FEnvImpl.h                      | 1 +
 libc/src/__support/FPUtil/double_double.h                     | 1 +
 libc/src/__support/FPUtil/dyadic_float.h                      | 1 +
 libc/src/__support/FPUtil/except_value_utils.h                | 1 +
 libc/src/__support/FPUtil/fpbits_str.h                        | 1 +
 libc/src/__support/FPUtil/generic/FMA.h                       | 1 +
 libc/src/__support/FPUtil/generic/FMod.h                      | 1 +
 libc/src/__support/FPUtil/generic/add_sub.h                   | 1 +
 libc/src/__support/FPUtil/generic/div.h                       | 1 +
 libc/src/__support/FPUtil/generic/sqrt.h                      | 1 +
 libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h   | 1 +
 libc/src/__support/FPUtil/multiply_add.h                      | 1 +
 libc/src/__support/FPUtil/nearest_integer.h                   | 1 +
 libc/src/__support/FPUtil/riscv/sqrt.h                        | 1 +
 libc/src/__support/FPUtil/rounding_mode.h                     | 1 +
 libc/src/__support/FPUtil/triple_double.h                     | 2 ++
 libc/src/__support/FPUtil/x86_64/FEnvImpl.h                   | 1 +
 libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h        | 1 +
 libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h       | 1 +
 libc/src/__support/FPUtil/x86_64/nearest_integer.h            | 1 +
 libc/src/__support/FPUtil/x86_64/sqrt.h                       | 1 +
 libc/src/__support/File/dir.cpp                               | 1 +
 libc/src/__support/File/dir.h                                 | 1 +
 libc/src/__support/File/file.cpp                              | 1 +
 libc/src/__support/File/file.h                                | 1 +
 libc/src/__support/File/linux/dir.cpp                         | 1 +
 libc/src/__support/File/linux/file.cpp                        | 3 ++-
 libc/src/__support/File/linux/file.h                          | 1 +
 libc/src/__support/File/linux/lseekImpl.h                     | 1 +
 libc/src/__support/File/linux/stderr.cpp                      | 1 +
 libc/src/__support/File/linux/stdin.cpp                       | 1 +
 libc/src/__support/File/linux/stdout.cpp                      | 1 +
 libc/src/__support/GPU/allocator.cpp                          | 1 +
 libc/src/__support/GPU/allocator.h                            | 1 +
 libc/src/__support/GPU/generic/utils.h                        | 1 +
 libc/src/__support/GPU/nvptx/utils.h                          | 1 +
 libc/src/__support/GPU/utils.h                                | 1 +
 libc/src/__support/HashTable/bitmask.h                        | 1 +
 libc/src/__support/HashTable/generic/bitmask_impl.inc         | 1 +
 libc/src/__support/HashTable/randomness.h                     | 1 +
 libc/src/__support/HashTable/sse2/bitmask_impl.inc            | 3 +++
 libc/src/__support/HashTable/table.h                          | 1 +
 libc/src/__support/OSUtil/baremetal/exit.cpp                  | 1 +
 libc/src/__support/OSUtil/baremetal/io.cpp                    | 1 +
 libc/src/__support/OSUtil/baremetal/io.h                      | 1 +
 libc/src/__support/OSUtil/darwin/arm/syscall.h                | 1 +
 libc/src/__support/OSUtil/darwin/io.h                         | 1 +
 libc/src/__support/OSUtil/darwin/syscall.h                    | 1 +
 libc/src/__support/OSUtil/exit.h                              | 2 ++
 libc/src/__support/OSUtil/fcntl.h                             | 2 ++
 libc/src/__support/OSUtil/fuchsia/io.h                        | 1 +
 libc/src/__support/OSUtil/gpu/exit.cpp                        | 1 +
 libc/src/__support/OSUtil/gpu/io.cpp                          | 1 +
 libc/src/__support/OSUtil/gpu/io.h                            | 1 +
 libc/src/__support/OSUtil/linux/aarch64/syscall.h             | 1 +
 libc/src/__support/OSUtil/linux/arm/syscall.h                 | 1 +
 libc/src/__support/OSUtil/linux/exit.cpp                      | 1 +
 libc/src/__support/OSUtil/linux/fcntl.cpp                     | 1 +
 libc/src/__support/OSUtil/linux/io.h                          | 1 +
 libc/src/__support/OSUtil/linux/riscv/syscall.h               | 1 +
 libc/src/__support/OSUtil/linux/syscall.h                     | 1 +
 libc/src/__support/OSUtil/linux/x86_64/syscall.h              | 1 +
 libc/src/__support/RPC/rpc.h                                  | 1 +
 libc/src/__support/RPC/rpc_client.cpp                         | 1 +
 libc/src/__support/RPC/rpc_client.h                           | 1 +
 libc/src/__support/RPC/rpc_util.h                             | 1 +
 libc/src/__support/StringUtil/error_to_string.cpp             | 1 +
 libc/src/__support/StringUtil/error_to_string.h               | 1 +
 libc/src/__support/StringUtil/message_mapper.h                | 1 +
 libc/src/__support/StringUtil/signal_to_string.cpp            | 1 +
 libc/src/__support/StringUtil/signal_to_string.h              | 1 +
 libc/src/__support/StringUtil/tables/linux_extension_errors.h | 1 +
 .../src/__support/StringUtil/tables/linux_extension_signals.h | 1 +
 libc/src/__support/StringUtil/tables/linux_platform_errors.h  | 1 +
 libc/src/__support/StringUtil/tables/linux_platform_signals.h | 1 +
 .../src/__support/StringUtil/tables/minimal_platform_errors.h | 1 +
 .../__support/StringUtil/tables/minimal_platform_signals.h    | 1 +
 libc/src/__support/StringUtil/tables/posix_errors.h           | 1 +
 libc/src/__support/StringUtil/tables/posix_signals.h          | 1 +
 libc/src/__support/StringUtil/tables/signal_table.h           | 1 +
 libc/src/__support/StringUtil/tables/stdc_errors.h            | 1 +
 libc/src/__support/StringUtil/tables/stdc_signals.h           | 1 +
 libc/src/__support/arg_list.h                                 | 1 +
 libc/src/__support/big_int.h                                  | 1 +
 libc/src/__support/block.h                                    | 1 +
 libc/src/__support/blockstore.h                               | 1 +
 libc/src/__support/c_string.h                                 | 1 +
 libc/src/__support/char_vector.h                              | 1 +
 libc/src/__support/ctype_utils.h                              | 1 +
 libc/src/__support/detailed_powers_of_ten.h                   | 1 +
 libc/src/__support/endian.h                                   | 1 +
 libc/src/__support/error_or.h                                 | 1 +
 libc/src/__support/fixed_point/fx_bits.h                      | 1 +
 libc/src/__support/fixed_point/fx_rep.h                       | 1 +
 libc/src/__support/fixed_point/sqrt.h                         | 1 +
 libc/src/__support/fixedvector.h                              | 1 +
 libc/src/__support/float_to_string.h                          | 1 +
 libc/src/__support/freelist.h                                 | 1 +
 libc/src/__support/freelist_heap.h                            | 1 +
 libc/src/__support/hash.h                                     | 1 +
 libc/src/__support/high_precision_decimal.h                   | 1 +
 libc/src/__support/integer_literals.h                         | 1 +
 libc/src/__support/integer_operations.h                       | 1 +
 libc/src/__support/integer_to_string.h                        | 1 +
 libc/src/__support/intrusive_list.h                           | 1 +
 libc/src/__support/libc_assert.h                              | 1 +
 libc/src/__support/macros/config.h                            | 1 +
 libc/src/__support/macros/optimization.h                      | 1 +
 libc/src/__support/math_extras.h                              | 1 +
 libc/src/__support/memory_size.h                              | 1 +
 libc/src/__support/number_pair.h                              | 1 +
 libc/src/__support/str_to_float.h                             | 1 +
 libc/src/__support/str_to_integer.h                           | 1 +
 libc/src/__support/str_to_num_result.h                        | 1 +
 libc/src/__support/threads/CndVar.h                           | 1 +
 libc/src/__support/threads/callonce.h                         | 1 +
 libc/src/__support/threads/fork_callbacks.cpp                 | 1 +
 libc/src/__support/threads/fork_callbacks.h                   | 2 ++
 libc/src/__support/threads/gpu/mutex.h                        | 1 +
 libc/src/__support/threads/linux/CndVar.cpp                   | 1 +
 libc/src/__support/threads/linux/callonce.cpp                 | 1 +
 libc/src/__support/threads/linux/callonce.h                   | 1 +
 libc/src/__support/threads/linux/futex_utils.h                | 1 +
 libc/src/__support/threads/linux/futex_word.h                 | 1 +
 libc/src/__support/threads/linux/mutex.h                      | 1 +
 libc/src/__support/threads/linux/raw_mutex.h                  | 1 +
 libc/src/__support/threads/linux/rwlock.h                     | 1 +
 libc/src/__support/threads/linux/thread.cpp                   | 1 +
 libc/src/__support/threads/mutex_common.h                     | 2 ++
 libc/src/__support/threads/sleep.h                            | 1 +
 libc/src/__support/threads/thread.cpp                         | 1 +
 libc/src/__support/threads/thread.h                           | 1 +
 libc/src/__support/time/linux/abs_timeout.h                   | 1 +
 libc/src/__support/time/linux/clock_conversion.h              | 1 +
 libc/src/__support/time/linux/clock_gettime.h                 | 1 +
 libc/src/__support/time/linux/monotonicity.h                  | 1 +
 libc/src/__support/time/units.h                               | 1 +
 libc/src/__support/wctype_utils.h                             | 1 +
 libc/src/assert/__assert_fail.h                               | 1 +
 libc/src/assert/generic/__assert_fail.cpp                     | 1 +
 libc/src/assert/gpu/__assert_fail.cpp                         | 1 +
 libc/src/ctype/isalnum.cpp                                    | 1 +
 libc/src/ctype/isalnum.h                                      | 2 ++
 libc/src/ctype/isalpha.cpp                                    | 1 +
 libc/src/ctype/isalpha.h                                      | 2 ++
 libc/src/ctype/isascii.cpp                                    | 1 +
 libc/src/ctype/isascii.h                                      | 1 +
 libc/src/ctype/isblank.cpp                                    | 1 +
 libc/src/ctype/isblank.h                                      | 2 ++
 libc/src/ctype/iscntrl.cpp                                    | 1 +
 libc/src/ctype/iscntrl.h                                      | 2 ++
 libc/src/ctype/isdigit.cpp                                    | 1 +
 libc/src/ctype/isdigit.h                                      | 2 ++
 libc/src/ctype/isgraph.cpp                                    | 1 +
 libc/src/ctype/isgraph.h                                      | 2 ++
 libc/src/ctype/islower.cpp                                    | 1 +
 libc/src/ctype/islower.h                                      | 2 ++
 libc/src/ctype/isprint.cpp                                    | 1 +
 libc/src/ctype/isprint.h                                      | 2 ++
 libc/src/ctype/ispunct.cpp                                    | 1 +
 libc/src/ctype/ispunct.h                                      | 2 ++
 libc/src/ctype/isspace.cpp                                    | 1 +
 libc/src/ctype/isspace.h                                      | 2 ++
 libc/src/ctype/isupper.cpp                                    | 1 +
 libc/src/ctype/isupper.h                                      | 2 ++
 libc/src/ctype/isxdigit.cpp                                   | 1 +
 libc/src/ctype/isxdigit.h                                     | 2 ++
 libc/src/ctype/toascii.cpp                                    | 1 +
 libc/src/ctype/toascii.h                                      | 2 ++
 libc/src/ctype/tolower.cpp                                    | 1 +
 libc/src/ctype/tolower.h                                      | 2 ++
 libc/src/ctype/toupper.cpp                                    | 1 +
 libc/src/ctype/toupper.h                                      | 2 ++
 libc/src/dirent/closedir.cpp                                  | 1 +
 libc/src/dirent/closedir.h                                    | 1 +
 libc/src/dirent/dirfd.cpp                                     | 1 +
 libc/src/dirent/dirfd.h                                       | 1 +
 libc/src/dirent/opendir.cpp                                   | 1 +
 libc/src/dirent/opendir.h                                     | 1 +
 libc/src/dirent/readdir.cpp                                   | 1 +
 libc/src/dirent/readdir.h                                     | 1 +
 libc/src/dlfcn/dlclose.cpp                                    | 1 +
 libc/src/dlfcn/dlclose.h                                      | 2 ++
 libc/src/dlfcn/dlerror.cpp                                    | 1 +
 libc/src/dlfcn/dlerror.h                                      | 2 ++
 libc/src/dlfcn/dlopen.cpp                                     | 1 +
 libc/src/dlfcn/dlopen.h                                       | 2 ++
 libc/src/dlfcn/dlsym.cpp                                      | 1 +
 libc/src/dlfcn/dlsym.h                                        | 2 ++
 libc/src/errno/libc_errno.cpp                                 | 1 +
 libc/src/errno/libc_errno.h                                   | 1 +
 libc/src/fcntl/creat.h                                        | 1 +
 libc/src/fcntl/fcntl.h                                        | 2 ++
 libc/src/fcntl/linux/creat.cpp                                | 1 +
 libc/src/fcntl/linux/fcntl.cpp                                | 1 +
 libc/src/fcntl/linux/open.cpp                                 | 1 +
 libc/src/fcntl/linux/openat.cpp                               | 1 +
 libc/src/fcntl/open.h                                         | 1 +
 libc/src/fcntl/openat.h                                       | 1 +
 libc/src/fenv/feclearexcept.cpp                               | 1 +
 libc/src/fenv/feclearexcept.h                                 | 2 ++
 libc/src/fenv/fedisableexcept.cpp                             | 1 +
 libc/src/fenv/fedisableexcept.h                               | 2 ++
 libc/src/fenv/feenableexcept.cpp                              | 1 +
 libc/src/fenv/feenableexcept.h                                | 2 ++
 libc/src/fenv/fegetenv.cpp                                    | 1 +
 libc/src/fenv/fegetenv.h                                      | 1 +
 libc/src/fenv/fegetexcept.cpp                                 | 1 +
 libc/src/fenv/fegetexcept.h                                   | 2 ++
 libc/src/fenv/fegetexceptflag.cpp                             | 1 +
 libc/src/fenv/fegetexceptflag.h                               | 1 +
 libc/src/fenv/fegetround.cpp                                  | 1 +
 libc/src/fenv/fegetround.h                                    | 2 ++
 libc/src/fenv/feholdexcept.cpp                                | 1 +
 libc/src/fenv/feholdexcept.h                                  | 1 +
 libc/src/fenv/feraiseexcept.cpp                               | 1 +
 libc/src/fenv/feraiseexcept.h                                 | 2 ++
 libc/src/fenv/fesetenv.cpp                                    | 1 +
 libc/src/fenv/fesetenv.h                                      | 1 +
 libc/src/fenv/fesetexcept.cpp                                 | 1 +
 libc/src/fenv/fesetexcept.h                                   | 2 ++
 libc/src/fenv/fesetexceptflag.cpp                             | 1 +
 libc/src/fenv/fesetexceptflag.h                               | 1 +
 libc/src/fenv/fesetround.cpp                                  | 1 +
 libc/src/fenv/fesetround.h                                    | 2 ++
 libc/src/fenv/fetestexcept.cpp                                | 1 +
 libc/src/fenv/fetestexcept.h                                  | 2 ++
 libc/src/fenv/fetestexceptflag.cpp                            | 1 +
 libc/src/fenv/fetestexceptflag.h                              | 1 +
 libc/src/fenv/feupdateenv.cpp                                 | 1 +
 libc/src/fenv/feupdateenv.h                                   | 1 +
 libc/src/gpu/rpc_fprintf.cpp                                  | 1 +
 libc/src/gpu/rpc_fprintf.h                                    | 1 +
 libc/src/gpu/rpc_host_call.cpp                                | 1 +
 libc/src/gpu/rpc_host_call.h                                  | 1 +
 libc/src/inttypes/imaxabs.cpp                                 | 1 +
 libc/src/inttypes/imaxabs.h                                   | 1 +
 libc/src/inttypes/imaxdiv.cpp                                 | 1 +
 libc/src/inttypes/imaxdiv.h                                   | 1 +
 libc/src/inttypes/strtoimax.cpp                               | 1 +
 libc/src/inttypes/strtoimax.h                                 | 1 +
 libc/src/inttypes/strtoumax.cpp                               | 1 +
 libc/src/inttypes/strtoumax.h                                 | 1 +
 libc/src/math/aarch64/ceil.cpp                                | 1 +
 libc/src/math/aarch64/ceilf.cpp                               | 1 +
 libc/src/math/aarch64/floor.cpp                               | 1 +
 libc/src/math/aarch64/floorf.cpp                              | 1 +
 libc/src/math/aarch64/round.cpp                               | 1 +
 libc/src/math/aarch64/roundf.cpp                              | 1 +
 libc/src/math/aarch64/trunc.cpp                               | 1 +
 libc/src/math/aarch64/truncf.cpp                              | 1 +
 libc/src/math/acos.h                                          | 2 ++
 libc/src/math/acosf.h                                         | 2 ++
 libc/src/math/acosh.h                                         | 2 ++
 libc/src/math/acoshf.h                                        | 2 ++
 libc/src/math/amdgpu/acos.cpp                                 | 1 +
 libc/src/math/amdgpu/acosf.cpp                                | 1 +
 libc/src/math/amdgpu/acosh.cpp                                | 1 +
 libc/src/math/amdgpu/acoshf.cpp                               | 1 +
 libc/src/math/amdgpu/asin.cpp                                 | 1 +
 libc/src/math/amdgpu/asinf.cpp                                | 1 +
 libc/src/math/amdgpu/asinh.cpp                                | 1 +
 libc/src/math/amdgpu/asinhf.cpp                               | 1 +
 libc/src/math/amdgpu/atan.cpp                                 | 1 +
 libc/src/math/amdgpu/atan2.cpp                                | 1 +
 libc/src/math/amdgpu/atan2f.cpp                               | 1 +
 libc/src/math/amdgpu/atanf.cpp                                | 1 +
 libc/src/math/amdgpu/atanh.cpp                                | 1 +
 libc/src/math/amdgpu/atanhf.cpp                               | 1 +
 libc/src/math/amdgpu/ceil.cpp                                 | 1 +
 libc/src/math/amdgpu/ceilf.cpp                                | 1 +
 libc/src/math/amdgpu/copysign.cpp                             | 1 +
 libc/src/math/amdgpu/copysignf.cpp                            | 1 +
 libc/src/math/amdgpu/cos.cpp                                  | 1 +
 libc/src/math/amdgpu/cosf.cpp                                 | 1 +
 libc/src/math/amdgpu/cosh.cpp                                 | 1 +
 libc/src/math/amdgpu/coshf.cpp                                | 1 +
 libc/src/math/amdgpu/declarations.h                           | 1 +
 libc/src/math/amdgpu/erf.cpp                                  | 1 +
 libc/src/math/amdgpu/erff.cpp                                 | 1 +
 libc/src/math/amdgpu/exp.cpp                                  | 1 +
 libc/src/math/amdgpu/exp10.cpp                                | 1 +
 libc/src/math/amdgpu/exp10f.cpp                               | 1 +
 libc/src/math/amdgpu/exp2.cpp                                 | 1 +
 libc/src/math/amdgpu/exp2f.cpp                                | 1 +
 libc/src/math/amdgpu/expf.cpp                                 | 1 +
 libc/src/math/amdgpu/expm1.cpp                                | 1 +
 libc/src/math/amdgpu/expm1f.cpp                               | 1 +
 libc/src/math/amdgpu/fabs.cpp                                 | 1 +
 libc/src/math/amdgpu/fabsf.cpp                                | 1 +
 libc/src/math/amdgpu/fdim.cpp                                 | 1 +
 libc/src/math/amdgpu/fdimf.cpp                                | 1 +
 libc/src/math/amdgpu/floor.cpp                                | 1 +
 libc/src/math/amdgpu/floorf.cpp                               | 1 +
 libc/src/math/amdgpu/fma.cpp                                  | 1 +
 libc/src/math/amdgpu/fmaf.cpp                                 | 1 +
 libc/src/math/amdgpu/fmax.cpp                                 | 1 +
 libc/src/math/amdgpu/fmaxf.cpp                                | 1 +
 libc/src/math/amdgpu/fmin.cpp                                 | 1 +
 libc/src/math/amdgpu/fminf.cpp                                | 1 +
 libc/src/math/amdgpu/fmod.cpp                                 | 1 +
 libc/src/math/amdgpu/fmodf.cpp                                | 1 +
 libc/src/math/amdgpu/frexp.cpp                                | 1 +
 libc/src/math/amdgpu/frexpf.cpp                               | 1 +
 libc/src/math/amdgpu/hypot.cpp                                | 1 +
 libc/src/math/amdgpu/hypotf.cpp                               | 1 +
 libc/src/math/amdgpu/ilogb.cpp                                | 1 +
 libc/src/math/amdgpu/ilogbf.cpp                               | 1 +
 libc/src/math/amdgpu/ldexp.cpp                                | 1 +
 libc/src/math/amdgpu/ldexpf.cpp                               | 1 +
 libc/src/math/amdgpu/llrint.cpp                               | 1 +
 libc/src/math/amdgpu/llrintf.cpp                              | 1 +
 libc/src/math/amdgpu/log.cpp                                  | 1 +
 libc/src/math/amdgpu/log10.cpp                                | 1 +
 libc/src/math/amdgpu/log10f.cpp                               | 1 +
 libc/src/math/amdgpu/log1p.cpp                                | 1 +
 libc/src/math/amdgpu/log1pf.cpp                               | 1 +
 libc/src/math/amdgpu/log2.cpp                                 | 1 +
 libc/src/math/amdgpu/log2f.cpp                                | 1 +
 libc/src/math/amdgpu/logb.cpp                                 | 1 +
 libc/src/math/amdgpu/logbf.cpp                                | 1 +
 libc/src/math/amdgpu/logf.cpp                                 | 1 +
 libc/src/math/amdgpu/lrint.cpp                                | 1 +
 libc/src/math/amdgpu/lrintf.cpp                               | 1 +
 libc/src/math/amdgpu/nearbyint.cpp                            | 1 +
 libc/src/math/amdgpu/nearbyintf.cpp                           | 1 +
 libc/src/math/amdgpu/nextafter.cpp                            | 1 +
 libc/src/math/amdgpu/nextafterf.cpp                           | 1 +
 libc/src/math/amdgpu/platform.h                               | 1 +
 libc/src/math/amdgpu/pow.cpp                                  | 1 +
 libc/src/math/amdgpu/powf.cpp                                 | 1 +
 libc/src/math/amdgpu/powi.cpp                                 | 1 +
 libc/src/math/amdgpu/powif.cpp                                | 1 +
 libc/src/math/amdgpu/remainder.cpp                            | 1 +
 libc/src/math/amdgpu/remainderf.cpp                           | 1 +
 libc/src/math/amdgpu/remquo.cpp                               | 1 +
 libc/src/math/amdgpu/remquof.cpp                              | 1 +
 libc/src/math/amdgpu/rint.cpp                                 | 1 +
 libc/src/math/amdgpu/rintf.cpp                                | 1 +
 libc/src/math/amdgpu/round.cpp                                | 1 +
 libc/src/math/amdgpu/roundf.cpp                               | 1 +
 libc/src/math/amdgpu/scalbn.cpp                               | 1 +
 libc/src/math/amdgpu/scalbnf.cpp                              | 1 +
 libc/src/math/amdgpu/sin.cpp                                  | 1 +
 libc/src/math/amdgpu/sincos.cpp                               | 1 +
 libc/src/math/amdgpu/sincosf.cpp                              | 1 +
 libc/src/math/amdgpu/sinf.cpp                                 | 1 +
 libc/src/math/amdgpu/sinh.cpp                                 | 1 +
 libc/src/math/amdgpu/sinhf.cpp                                | 1 +
 libc/src/math/amdgpu/sqrt.cpp                                 | 1 +
 libc/src/math/amdgpu/sqrtf.cpp                                | 1 +
 libc/src/math/amdgpu/tan.cpp                                  | 1 +
 libc/src/math/amdgpu/tanf.cpp                                 | 1 +
 libc/src/math/amdgpu/tanh.cpp                                 | 1 +
 libc/src/math/amdgpu/tanhf.cpp                                | 1 +
 libc/src/math/amdgpu/tgamma.cpp                               | 1 +
 libc/src/math/amdgpu/tgammaf.cpp                              | 1 +
 libc/src/math/amdgpu/trunc.cpp                                | 1 +
 libc/src/math/amdgpu/truncf.cpp                               | 1 +
 libc/src/math/asin.h                                          | 2 ++
 libc/src/math/asinf.h                                         | 2 ++
 libc/src/math/asinh.h                                         | 2 ++
 libc/src/math/asinhf.h                                        | 2 ++
 libc/src/math/atan.h                                          | 2 ++
 libc/src/math/atan2.h                                         | 2 ++
 libc/src/math/atan2f.h                                        | 2 ++
 libc/src/math/atanf.h                                         | 2 ++
 libc/src/math/atanh.h                                         | 2 ++
 libc/src/math/atanhf.h                                        | 2 ++
 libc/src/math/canonicalize.h                                  | 2 ++
 libc/src/math/canonicalizef.h                                 | 2 ++
 libc/src/math/canonicalizef128.h                              | 1 +
 libc/src/math/canonicalizef16.h                               | 1 +
 libc/src/math/canonicalizel.h                                 | 2 ++
 libc/src/math/cbrtf.h                                         | 2 ++
 libc/src/math/ceil.h                                          | 2 ++
 libc/src/math/ceilf.h                                         | 2 ++
 libc/src/math/ceilf128.h                                      | 1 +
 libc/src/math/ceilf16.h                                       | 1 +
 libc/src/math/ceill.h                                         | 2 ++
 libc/src/math/copysign.h                                      | 2 ++
 libc/src/math/copysignf.h                                     | 2 ++
 libc/src/math/copysignf128.h                                  | 1 +
 libc/src/math/copysignf16.h                                   | 1 +
 libc/src/math/copysignl.h                                     | 2 ++
 libc/src/math/cos.h                                           | 2 ++
 libc/src/math/cosf.h                                          | 2 ++
 libc/src/math/cosh.h                                          | 2 ++
 libc/src/math/coshf.h                                         | 2 ++
 libc/src/math/cospif.h                                        | 2 ++
 libc/src/math/erf.h                                           | 2 ++
 libc/src/math/erff.h                                          | 2 ++
 libc/src/math/exp.h                                           | 2 ++
 libc/src/math/exp10.h                                         | 2 ++
 libc/src/math/exp10f.h                                        | 2 ++
 libc/src/math/exp2.h                                          | 2 ++
 libc/src/math/exp2f.h                                         | 2 ++
 libc/src/math/exp2m1f.h                                       | 2 ++
 libc/src/math/expf.h                                          | 2 ++
 libc/src/math/expm1.h                                         | 2 ++
 libc/src/math/expm1f.h                                        | 2 ++
 libc/src/math/f16add.h                                        | 1 +
 libc/src/math/f16addf.h                                       | 1 +
 libc/src/math/f16addf128.h                                    | 1 +
 libc/src/math/f16addl.h                                       | 1 +
 libc/src/math/f16div.h                                        | 1 +
 libc/src/math/f16divf.h                                       | 1 +
 libc/src/math/f16divf128.h                                    | 1 +
 libc/src/math/f16divl.h                                       | 1 +
 libc/src/math/f16fma.h                                        | 1 +
 libc/src/math/f16fmaf.h                                       | 1 +
 libc/src/math/f16fmaf128.h                                    | 1 +
 libc/src/math/f16fmal.h                                       | 1 +
 libc/src/math/f16sqrt.h                                       | 1 +
 libc/src/math/f16sqrtf.h                                      | 1 +
 libc/src/math/f16sqrtf128.h                                   | 1 +
 libc/src/math/f16sqrtl.h                                      | 1 +
 libc/src/math/f16sub.h                                        | 1 +
 libc/src/math/f16subf.h                                       | 1 +
 libc/src/math/f16subf128.h                                    | 1 +
 libc/src/math/f16subl.h                                       | 1 +
 libc/src/math/fabs.h                                          | 2 ++
 libc/src/math/fabsf.h                                         | 2 ++
 libc/src/math/fabsf128.h                                      | 1 +
 libc/src/math/fabsf16.h                                       | 1 +
 libc/src/math/fabsl.h                                         | 2 ++
 libc/src/math/fdim.h                                          | 2 ++
 libc/src/math/fdimf.h                                         | 2 ++
 libc/src/math/fdimf128.h                                      | 1 +
 libc/src/math/fdimf16.h                                       | 1 +
 libc/src/math/fdiml.h                                         | 2 ++
 libc/src/math/floor.h                                         | 2 ++
 libc/src/math/floorf.h                                        | 2 ++
 libc/src/math/floorf128.h                                     | 1 +
 libc/src/math/floorf16.h                                      | 1 +
 libc/src/math/floorl.h                                        | 2 ++
 libc/src/math/fma.h                                           | 2 ++
 libc/src/math/fmaf.h                                          | 2 ++
 libc/src/math/fmax.h                                          | 2 ++
 libc/src/math/fmaxf.h                                         | 2 ++
 libc/src/math/fmaxf128.h                                      | 1 +
 libc/src/math/fmaxf16.h                                       | 1 +
 libc/src/math/fmaximum.h                                      | 2 ++
 libc/src/math/fmaximum_mag.h                                  | 2 ++
 libc/src/math/fmaximum_mag_num.h                              | 2 ++
 libc/src/math/fmaximum_mag_numf.h                             | 2 ++
 libc/src/math/fmaximum_mag_numf128.h                          | 1 +
 libc/src/math/fmaximum_mag_numf16.h                           | 1 +
 libc/src/math/fmaximum_mag_numl.h                             | 2 ++
 libc/src/math/fmaximum_magf.h                                 | 2 ++
 libc/src/math/fmaximum_magf128.h                              | 1 +
 libc/src/math/fmaximum_magf16.h                               | 1 +
 libc/src/math/fmaximum_magl.h                                 | 2 ++
 libc/src/math/fmaximum_num.h                                  | 2 ++
 libc/src/math/fmaximum_numf.h                                 | 2 ++
 libc/src/math/fmaximum_numf128.h                              | 1 +
 libc/src/math/fmaximum_numf16.h                               | 1 +
 libc/src/math/fmaximum_numl.h                                 | 2 ++
 libc/src/math/fmaximumf.h                                     | 2 ++
 libc/src/math/fmaximumf128.h                                  | 1 +
 libc/src/math/fmaximumf16.h                                   | 1 +
 libc/src/math/fmaximuml.h                                     | 2 ++
 libc/src/math/fmaxl.h                                         | 2 ++
 libc/src/math/fmin.h                                          | 2 ++
 libc/src/math/fminf.h                                         | 2 ++
 libc/src/math/fminf128.h                                      | 1 +
 libc/src/math/fminf16.h                                       | 1 +
 libc/src/math/fminimum.h                                      | 2 ++
 libc/src/math/fminimum_mag.h                                  | 2 ++
 libc/src/math/fminimum_mag_num.h                              | 2 ++
 libc/src/math/fminimum_mag_numf.h                             | 2 ++
 libc/src/math/fminimum_mag_numf128.h                          | 1 +
 libc/src/math/fminimum_mag_numf16.h                           | 1 +
 libc/src/math/fminimum_mag_numl.h                             | 2 ++
 libc/src/math/fminimum_magf.h                                 | 2 ++
 libc/src/math/fminimum_magf128.h                              | 1 +
 libc/src/math/fminimum_magf16.h                               | 1 +
 libc/src/math/fminimum_magl.h                                 | 2 ++
 libc/src/math/fminimum_num.h                                  | 2 ++
 libc/src/math/fminimum_numf.h                                 | 2 ++
 libc/src/math/fminimum_numf128.h                              | 1 +
 libc/src/math/fminimum_numf16.h                               | 1 +
 libc/src/math/fminimum_numl.h                                 | 2 ++
 libc/src/math/fminimumf.h                                     | 2 ++
 libc/src/math/fminimumf128.h                                  | 1 +
 libc/src/math/fminimumf16.h                                   | 1 +
 libc/src/math/fminimuml.h                                     | 2 ++
 libc/src/math/fminl.h                                         | 2 ++
 libc/src/math/fmod.h                                          | 2 ++
 libc/src/math/fmodf.h                                         | 2 ++
 libc/src/math/fmodf128.h                                      | 1 +
 libc/src/math/fmodf16.h                                       | 1 +
 libc/src/math/fmodl.h                                         | 2 ++
 libc/src/math/fmul.h                                          | 2 ++
 libc/src/math/frexp.h                                         | 2 ++
 libc/src/math/frexpf.h                                        | 2 ++
 libc/src/math/frexpf128.h                                     | 1 +
 libc/src/math/frexpf16.h                                      | 1 +
 libc/src/math/frexpl.h                                        | 2 ++
 libc/src/math/fromfp.h                                        | 2 ++
 libc/src/math/fromfpf.h                                       | 2 ++
 libc/src/math/fromfpf128.h                                    | 1 +
 libc/src/math/fromfpf16.h                                     | 1 +
 libc/src/math/fromfpl.h                                       | 2 ++
 libc/src/math/fromfpx.h                                       | 2 ++
 libc/src/math/fromfpxf.h                                      | 2 ++
 libc/src/math/fromfpxf128.h                                   | 1 +
 libc/src/math/fromfpxf16.h                                    | 1 +
 libc/src/math/fromfpxl.h                                      | 2 ++
 libc/src/math/generic/acosf.cpp                               | 1 +
 libc/src/math/generic/acoshf.cpp                              | 1 +
 libc/src/math/generic/asinf.cpp                               | 1 +
 libc/src/math/generic/asinhf.cpp                              | 1 +
 libc/src/math/generic/atan2f.cpp                              | 1 +
 libc/src/math/generic/atanf.cpp                               | 1 +
 libc/src/math/generic/atanhf.cpp                              | 1 +
 libc/src/math/generic/canonicalize.cpp                        | 1 +
 libc/src/math/generic/canonicalizef.cpp                       | 1 +
 libc/src/math/generic/canonicalizef128.cpp                    | 1 +
 libc/src/math/generic/canonicalizef16.cpp                     | 1 +
 libc/src/math/generic/canonicalizel.cpp                       | 1 +
 libc/src/math/generic/cbrtf.cpp                               | 1 +
 libc/src/math/generic/ceil.cpp                                | 1 +
 libc/src/math/generic/ceilf.cpp                               | 1 +
 libc/src/math/generic/ceilf128.cpp                            | 1 +
 libc/src/math/generic/ceilf16.cpp                             | 1 +
 libc/src/math/generic/ceill.cpp                               | 1 +
 libc/src/math/generic/common_constants.cpp                    | 1 +
 libc/src/math/generic/common_constants.h                      | 1 +
 libc/src/math/generic/copysign.cpp                            | 1 +
 libc/src/math/generic/copysignf.cpp                           | 1 +
 libc/src/math/generic/copysignf128.cpp                        | 1 +
 libc/src/math/generic/copysignf16.cpp                         | 1 +
 libc/src/math/generic/copysignl.cpp                           | 1 +
 libc/src/math/generic/cos.cpp                                 | 1 +
 libc/src/math/generic/cosf.cpp                                | 1 +
 libc/src/math/generic/coshf.cpp                               | 1 +
 libc/src/math/generic/cospif.cpp                              | 1 +
 libc/src/math/generic/erff.cpp                                | 1 +
 libc/src/math/generic/exp.cpp                                 | 1 +
 libc/src/math/generic/exp10.cpp                               | 1 +
 libc/src/math/generic/exp10f.cpp                              | 1 +
 libc/src/math/generic/exp10f_impl.h                           | 1 +
 libc/src/math/generic/exp2.cpp                                | 1 +
 libc/src/math/generic/exp2f.cpp                               | 1 +
 libc/src/math/generic/exp2f_impl.h                            | 1 +
 libc/src/math/generic/exp2m1f.cpp                             | 1 +
 libc/src/math/generic/exp_utils.cpp                           | 1 +
 libc/src/math/generic/exp_utils.h                             | 1 +
 libc/src/math/generic/expf.cpp                                | 1 +
 libc/src/math/generic/explogxf.cpp                            | 1 +
 libc/src/math/generic/explogxf.h                              | 1 +
 libc/src/math/generic/expm1.cpp                               | 1 +
 libc/src/math/generic/expm1f.cpp                              | 1 +
 libc/src/math/generic/f16add.cpp                              | 1 +
 libc/src/math/generic/f16addf.cpp                             | 1 +
 libc/src/math/generic/f16addf128.cpp                          | 1 +
 libc/src/math/generic/f16addl.cpp                             | 1 +
 libc/src/math/generic/f16div.cpp                              | 1 +
 libc/src/math/generic/f16divf.cpp                             | 1 +
 libc/src/math/generic/f16divf128.cpp                          | 1 +
 libc/src/math/generic/f16divl.cpp                             | 1 +
 libc/src/math/generic/f16fma.cpp                              | 1 +
 libc/src/math/generic/f16fmaf.cpp                             | 1 +
 libc/src/math/generic/f16fmaf128.cpp                          | 1 +
 libc/src/math/generic/f16fmal.cpp                             | 1 +
 libc/src/math/generic/f16sqrt.cpp                             | 1 +
 libc/src/math/generic/f16sqrtf.cpp                            | 1 +
 libc/src/math/generic/f16sqrtf128.cpp                         | 1 +
 libc/src/math/generic/f16sqrtl.cpp                            | 1 +
 libc/src/math/generic/f16sub.cpp                              | 1 +
 libc/src/math/generic/f16subf.cpp                             | 1 +
 libc/src/math/generic/f16subf128.cpp                          | 1 +
 libc/src/math/generic/f16subl.cpp                             | 1 +
 libc/src/math/generic/fabs.cpp                                | 1 +
 libc/src/math/generic/fabsf.cpp                               | 1 +
 libc/src/math/generic/fabsf128.cpp                            | 1 +
 libc/src/math/generic/fabsf16.cpp                             | 1 +
 libc/src/math/generic/fabsl.cpp                               | 1 +
 libc/src/math/generic/fdim.cpp                                | 1 +
 libc/src/math/generic/fdimf.cpp                               | 1 +
 libc/src/math/generic/fdimf128.cpp                            | 1 +
 libc/src/math/generic/fdimf16.cpp                             | 1 +
 libc/src/math/generic/fdiml.cpp                               | 1 +
 libc/src/math/generic/floor.cpp                               | 1 +
 libc/src/math/generic/floorf.cpp                              | 1 +
 libc/src/math/generic/floorf128.cpp                           | 1 +
 libc/src/math/generic/floorf16.cpp                            | 1 +
 libc/src/math/generic/floorl.cpp                              | 1 +
 libc/src/math/generic/fma.cpp                                 | 1 +
 libc/src/math/generic/fmaf.cpp                                | 1 +
 libc/src/math/generic/fmax.cpp                                | 1 +
 libc/src/math/generic/fmaxf.cpp                               | 1 +
 libc/src/math/generic/fmaxf128.cpp                            | 1 +
 libc/src/math/generic/fmaxf16.cpp                             | 1 +
 libc/src/math/generic/fmaximum.cpp                            | 1 +
 libc/src/math/generic/fmaximum_mag.cpp                        | 1 +
 libc/src/math/generic/fmaximum_mag_num.cpp                    | 1 +
 libc/src/math/generic/fmaximum_mag_numf.cpp                   | 1 +
 libc/src/math/generic/fmaximum_mag_numf128.cpp                | 1 +
 libc/src/math/generic/fmaximum_mag_numf16.cpp                 | 1 +
 libc/src/math/generic/fmaximum_mag_numl.cpp                   | 1 +
 libc/src/math/generic/fmaximum_magf.cpp                       | 1 +
 libc/src/math/generic/fmaximum_magf128.cpp                    | 1 +
 libc/src/math/generic/fmaximum_magf16.cpp                     | 1 +
 libc/src/math/generic/fmaximum_magl.cpp                       | 1 +
 libc/src/math/generic/fmaximum_num.cpp                        | 1 +
 libc/src/math/generic/fmaximum_numf.cpp                       | 1 +
 libc/src/math/generic/fmaximum_numf128.cpp                    | 1 +
 libc/src/math/generic/fmaximum_numf16.cpp                     | 1 +
 libc/src/math/generic/fmaximum_numl.cpp                       | 1 +
 libc/src/math/generic/fmaximumf.cpp                           | 1 +
 libc/src/math/generic/fmaximumf128.cpp                        | 1 +
 libc/src/math/generic/fmaximumf16.cpp                         | 1 +
 libc/src/math/generic/fmaximuml.cpp                           | 1 +
 libc/src/math/generic/fmaxl.cpp                               | 1 +
 libc/src/math/generic/fmin.cpp                                | 1 +
 libc/src/math/generic/fminf.cpp                               | 1 +
 libc/src/math/generic/fminf128.cpp                            | 1 +
 libc/src/math/generic/fminf16.cpp                             | 1 +
 libc/src/math/generic/fminimum.cpp                            | 1 +
 libc/src/math/generic/fminimum_mag.cpp                        | 1 +
 libc/src/math/generic/fminimum_mag_num.cpp                    | 1 +
 libc/src/math/generic/fminimum_mag_numf.cpp                   | 1 +
 libc/src/math/generic/fminimum_mag_numf128.cpp                | 1 +
 libc/src/math/generic/fminimum_mag_numf16.cpp                 | 1 +
 libc/src/math/generic/fminimum_mag_numl.cpp                   | 1 +
 libc/src/math/generic/fminimum_magf.cpp                       | 1 +
 libc/src/math/generic/fminimum_magf128.cpp                    | 1 +
 libc/src/math/generic/fminimum_magf16.cpp                     | 1 +
 libc/src/math/generic/fminimum_magl.cpp                       | 1 +
 libc/src/math/generic/fminimum_num.cpp                        | 1 +
 libc/src/math/generic/fminimum_numf.cpp                       | 1 +
 libc/src/math/generic/fminimum_numf128.cpp                    | 1 +
 libc/src/math/generic/fminimum_numf16.cpp                     | 1 +
 libc/src/math/generic/fminimum_numl.cpp                       | 1 +
 libc/src/math/generic/fminimumf.cpp                           | 1 +
 libc/src/math/generic/fminimumf128.cpp                        | 1 +
 libc/src/math/generic/fminimumf16.cpp                         | 1 +
 libc/src/math/generic/fminimuml.cpp                           | 1 +
 libc/src/math/generic/fminl.cpp                               | 1 +
 libc/src/math/generic/fmod.cpp                                | 1 +
 libc/src/math/generic/fmodf.cpp                               | 1 +
 libc/src/math/generic/fmodf128.cpp                            | 1 +
 libc/src/math/generic/fmodf16.cpp                             | 1 +
 libc/src/math/generic/fmodl.cpp                               | 1 +
 libc/src/math/generic/fmul.cpp                                | 1 +
 libc/src/math/generic/frexp.cpp                               | 1 +
 libc/src/math/generic/frexpf.cpp                              | 1 +
 libc/src/math/generic/frexpf128.cpp                           | 1 +
 libc/src/math/generic/frexpf16.cpp                            | 1 +
 libc/src/math/generic/frexpl.cpp                              | 1 +
 libc/src/math/generic/fromfp.cpp                              | 1 +
 libc/src/math/generic/fromfpf.cpp                             | 1 +
 libc/src/math/generic/fromfpf128.cpp                          | 1 +
 libc/src/math/generic/fromfpf16.cpp                           | 1 +
 libc/src/math/generic/fromfpl.cpp                             | 1 +
 libc/src/math/generic/fromfpx.cpp                             | 1 +
 libc/src/math/generic/fromfpxf.cpp                            | 1 +
 libc/src/math/generic/fromfpxf128.cpp                         | 1 +
 libc/src/math/generic/fromfpxf16.cpp                          | 1 +
 libc/src/math/generic/fromfpxl.cpp                            | 1 +
 libc/src/math/generic/getpayloadf16.cpp                       | 1 +
 libc/src/math/generic/hypot.cpp                               | 1 +
 libc/src/math/generic/hypotf.cpp                              | 1 +
 libc/src/math/generic/ilogb.cpp                               | 1 +
 libc/src/math/generic/ilogbf.cpp                              | 1 +
 libc/src/math/generic/ilogbf128.cpp                           | 1 +
 libc/src/math/generic/ilogbf16.cpp                            | 1 +
 libc/src/math/generic/ilogbl.cpp                              | 1 +
 libc/src/math/generic/inv_trigf_utils.cpp                     | 1 +
 libc/src/math/generic/inv_trigf_utils.h                       | 1 +
 libc/src/math/generic/isnan.cpp                               | 3 ++-
 libc/src/math/generic/isnanf.cpp                              | 1 +
 libc/src/math/generic/isnanl.cpp                              | 1 +
 libc/src/math/generic/ldexp.cpp                               | 1 +
 libc/src/math/generic/ldexpf.cpp                              | 1 +
 libc/src/math/generic/ldexpf128.cpp                           | 1 +
 libc/src/math/generic/ldexpf16.cpp                            | 1 +
 libc/src/math/generic/ldexpl.cpp                              | 1 +
 libc/src/math/generic/llogb.cpp                               | 1 +
 libc/src/math/generic/llogbf.cpp                              | 1 +
 libc/src/math/generic/llogbf128.cpp                           | 1 +
 libc/src/math/generic/llogbf16.cpp                            | 1 +
 libc/src/math/generic/llogbl.cpp                              | 1 +
 libc/src/math/generic/llrint.cpp                              | 1 +
 libc/src/math/generic/llrintf.cpp                             | 1 +
 libc/src/math/generic/llrintf128.cpp                          | 1 +
 libc/src/math/generic/llrintf16.cpp                           | 1 +
 libc/src/math/generic/llrintl.cpp                             | 1 +
 libc/src/math/generic/llround.cpp                             | 1 +
 libc/src/math/generic/llroundf.cpp                            | 1 +
 libc/src/math/generic/llroundf128.cpp                         | 1 +
 libc/src/math/generic/llroundf16.cpp                          | 1 +
 libc/src/math/generic/llroundl.cpp                            | 1 +
 libc/src/math/generic/log.cpp                                 | 1 +
 libc/src/math/generic/log10.cpp                               | 1 +
 libc/src/math/generic/log10f.cpp                              | 1 +
 libc/src/math/generic/log1p.cpp                               | 1 +
 libc/src/math/generic/log1pf.cpp                              | 1 +
 libc/src/math/generic/log2.cpp                                | 1 +
 libc/src/math/generic/log2f.cpp                               | 1 +
 libc/src/math/generic/log_range_reduction.h                   | 1 +
 libc/src/math/generic/logb.cpp                                | 1 +
 libc/src/math/generic/logbf.cpp                               | 1 +
 libc/src/math/generic/logbf128.cpp                            | 1 +
 libc/src/math/generic/logbf16.cpp                             | 1 +
 libc/src/math/generic/logbl.cpp                               | 1 +
 libc/src/math/generic/logf.cpp                                | 1 +
 libc/src/math/generic/lrint.cpp                               | 1 +
 libc/src/math/generic/lrintf.cpp                              | 1 +
 libc/src/math/generic/lrintf128.cpp                           | 1 +
 libc/src/math/generic/lrintf16.cpp                            | 1 +
 libc/src/math/generic/lrintl.cpp                              | 1 +
 libc/src/math/generic/lround.cpp                              | 1 +
 libc/src/math/generic/lroundf.cpp                             | 1 +
 libc/src/math/generic/lroundf128.cpp                          | 1 +
 libc/src/math/generic/lroundf16.cpp                           | 1 +
 libc/src/math/generic/lroundl.cpp                             | 1 +
 libc/src/math/generic/modf.cpp                                | 1 +
 libc/src/math/generic/modff.cpp                               | 1 +
 libc/src/math/generic/modff128.cpp                            | 1 +
 libc/src/math/generic/modff16.cpp                             | 1 +
 libc/src/math/generic/modfl.cpp                               | 1 +
 libc/src/math/generic/nan.cpp                                 | 1 +
 libc/src/math/generic/nanf.cpp                                | 1 +
 libc/src/math/generic/nanf128.cpp                             | 1 +
 libc/src/math/generic/nanf16.cpp                              | 1 +
 libc/src/math/generic/nanl.cpp                                | 1 +
 libc/src/math/generic/nearbyint.cpp                           | 1 +
 libc/src/math/generic/nearbyintf.cpp                          | 1 +
 libc/src/math/generic/nearbyintf128.cpp                       | 1 +
 libc/src/math/generic/nearbyintf16.cpp                        | 1 +
 libc/src/math/generic/nearbyintl.cpp                          | 1 +
 libc/src/math/generic/nextafter.cpp                           | 1 +
 libc/src/math/generic/nextafterf.cpp                          | 1 +
 libc/src/math/generic/nextafterf128.cpp                       | 1 +
 libc/src/math/generic/nextafterf16.cpp                        | 1 +
 libc/src/math/generic/nextafterl.cpp                          | 1 +
 libc/src/math/generic/nextdown.cpp                            | 1 +
 libc/src/math/generic/nextdownf.cpp                           | 1 +
 libc/src/math/generic/nextdownf128.cpp                        | 1 +
 libc/src/math/generic/nextdownf16.cpp                         | 1 +
 libc/src/math/generic/nextdownl.cpp                           | 1 +
 libc/src/math/generic/nexttoward.cpp                          | 1 +
 libc/src/math/generic/nexttowardf.cpp                         | 1 +
 libc/src/math/generic/nexttowardf16.cpp                       | 1 +
 libc/src/math/generic/nexttowardl.cpp                         | 1 +
 libc/src/math/generic/nextup.cpp                              | 1 +
 libc/src/math/generic/nextupf.cpp                             | 1 +
 libc/src/math/generic/nextupf128.cpp                          | 1 +
 libc/src/math/generic/nextupf16.cpp                           | 1 +
 libc/src/math/generic/nextupl.cpp                             | 1 +
 libc/src/math/generic/powf.cpp                                | 1 +
 libc/src/math/generic/range_reduction.h                       | 1 +
 libc/src/math/generic/range_reduction_double_common.h         | 1 +
 libc/src/math/generic/range_reduction_double_fma.h            | 1 +
 libc/src/math/generic/range_reduction_double_nofma.h          | 1 +
 libc/src/math/generic/range_reduction_fma.h                   | 1 +
 libc/src/math/generic/remainder.cpp                           | 1 +
 libc/src/math/generic/remainderf.cpp                          | 1 +
 libc/src/math/generic/remainderf16.cpp                        | 1 +
 libc/src/math/generic/remainderl.cpp                          | 1 +
 libc/src/math/generic/remquo.cpp                              | 1 +
 libc/src/math/generic/remquof.cpp                             | 1 +
 libc/src/math/generic/remquof128.cpp                          | 1 +
 libc/src/math/generic/remquof16.cpp                           | 1 +
 libc/src/math/generic/remquol.cpp                             | 1 +
 libc/src/math/generic/rint.cpp                                | 1 +
 libc/src/math/generic/rintf.cpp                               | 1 +
 libc/src/math/generic/rintf128.cpp                            | 1 +
 libc/src/math/generic/rintf16.cpp                             | 1 +
 libc/src/math/generic/rintl.cpp                               | 1 +
 libc/src/math/generic/round.cpp                               | 1 +
 libc/src/math/generic/roundeven.cpp                           | 1 +
 libc/src/math/generic/roundevenf.cpp                          | 1 +
 libc/src/math/generic/roundevenf128.cpp                       | 1 +
 libc/src/math/generic/roundevenf16.cpp                        | 1 +
 libc/src/math/generic/roundevenl.cpp                          | 1 +
 libc/src/math/generic/roundf.cpp                              | 1 +
 libc/src/math/generic/roundf128.cpp                           | 1 +
 libc/src/math/generic/roundf16.cpp                            | 1 +
 libc/src/math/generic/roundl.cpp                              | 1 +
 libc/src/math/generic/scalblnf16.cpp                          | 1 +
 libc/src/math/generic/scalbn.cpp                              | 1 +
 libc/src/math/generic/scalbnf.cpp                             | 1 +
 libc/src/math/generic/scalbnf128.cpp                          | 1 +
 libc/src/math/generic/scalbnf16.cpp                           | 1 +
 libc/src/math/generic/scalbnl.cpp                             | 1 +
 libc/src/math/generic/setpayloadf16.cpp                       | 1 +
 libc/src/math/generic/setpayloadsigf16.cpp                    | 1 +
 libc/src/math/generic/sin.cpp                                 | 1 +
 libc/src/math/generic/sincos.cpp                              | 1 +
 libc/src/math/generic/sincos_eval.h                           | 1 +
 libc/src/math/generic/sincosf.cpp                             | 1 +
 libc/src/math/generic/sincosf_utils.h                         | 1 +
 libc/src/math/generic/sinf.cpp                                | 1 +
 libc/src/math/generic/sinhf.cpp                               | 1 +
 libc/src/math/generic/sinpif.cpp                              | 1 +
 libc/src/math/generic/sqrt.cpp                                | 1 +
 libc/src/math/generic/sqrtf.cpp                               | 1 +
 libc/src/math/generic/sqrtf128.cpp                            | 1 +
 libc/src/math/generic/sqrtl.cpp                               | 1 +
 libc/src/math/generic/tan.cpp                                 | 1 +
 libc/src/math/generic/tanf.cpp                                | 1 +
 libc/src/math/generic/tanhf.cpp                               | 1 +
 libc/src/math/generic/totalorderf16.cpp                       | 1 +
 libc/src/math/generic/totalordermagf16.cpp                    | 1 +
 libc/src/math/generic/trunc.cpp                               | 1 +
 libc/src/math/generic/truncf.cpp                              | 1 +
 libc/src/math/generic/truncf128.cpp                           | 1 +
 libc/src/math/generic/truncf16.cpp                            | 1 +
 libc/src/math/generic/truncl.cpp                              | 1 +
 libc/src/math/generic/ufromfp.cpp                             | 1 +
 libc/src/math/generic/ufromfpf.cpp                            | 1 +
 libc/src/math/generic/ufromfpf128.cpp                         | 1 +
 libc/src/math/generic/ufromfpf16.cpp                          | 1 +
 libc/src/math/generic/ufromfpl.cpp                            | 1 +
 libc/src/math/generic/ufromfpx.cpp                            | 1 +
 libc/src/math/generic/ufromfpxf.cpp                           | 1 +
 libc/src/math/generic/ufromfpxf128.cpp                        | 1 +
 libc/src/math/generic/ufromfpxf16.cpp                         | 1 +
 libc/src/math/generic/ufromfpxl.cpp                           | 1 +
 libc/src/math/getpayloadf16.h                                 | 1 +
 libc/src/math/hypot.h                                         | 2 ++
 libc/src/math/hypotf.h                                        | 2 ++
 libc/src/math/ilogb.h                                         | 2 ++
 libc/src/math/ilogbf.h                                        | 2 ++
 libc/src/math/ilogbf128.h                                     | 1 +
 libc/src/math/ilogbf16.h                                      | 1 +
 libc/src/math/ilogbl.h                                        | 2 ++
 libc/src/math/isnan.h                                         | 4 +++-
 libc/src/math/isnanf.h                                        | 4 +++-
 libc/src/math/isnanl.h                                        | 2 ++
 libc/src/math/ldexp.h                                         | 2 ++
 libc/src/math/ldexpf.h                                        | 2 ++
 libc/src/math/ldexpf128.h                                     | 1 +
 libc/src/math/ldexpf16.h                                      | 1 +
 libc/src/math/ldexpl.h                                        | 2 ++
 libc/src/math/llogb.h                                         | 1 +
 libc/src/math/llogbf.h                                        | 1 +
 libc/src/math/llogbf128.h                                     | 1 +
 libc/src/math/llogbf16.h                                      | 1 +
 libc/src/math/llogbl.h                                        | 1 +
 libc/src/math/llrint.h                                        | 2 ++
 libc/src/math/llrintf.h                                       | 2 ++
 libc/src/math/llrintf128.h                                    | 1 +
 libc/src/math/llrintf16.h                                     | 1 +
 libc/src/math/llrintl.h                                       | 2 ++
 libc/src/math/llround.h                                       | 2 ++
 libc/src/math/llroundf.h                                      | 2 ++
 libc/src/math/llroundf128.h                                   | 1 +
 libc/src/math/llroundf16.h                                    | 1 +
 libc/src/math/llroundl.h                                      | 2 ++
 libc/src/math/log.h                                           | 2 ++
 libc/src/math/log10.h                                         | 2 ++
 libc/src/math/log10f.h                                        | 2 ++
 libc/src/math/log1p.h                                         | 2 ++
 libc/src/math/log1pf.h                                        | 2 ++
 libc/src/math/log2.h                                          | 2 ++
 libc/src/math/log2f.h                                         | 2 ++
 libc/src/math/logb.h                                          | 2 ++
 libc/src/math/logbf.h                                         | 2 ++
 libc/src/math/logbf128.h                                      | 1 +
 libc/src/math/logbf16.h                                       | 1 +
 libc/src/math/logbl.h                                         | 2 ++
 libc/src/math/logf.h                                          | 2 ++
 libc/src/math/lrint.h                                         | 2 ++
 libc/src/math/lrintf.h                                        | 2 ++
 libc/src/math/lrintf128.h                                     | 1 +
 libc/src/math/lrintf16.h                                      | 1 +
 libc/src/math/lrintl.h                                        | 2 ++
 libc/src/math/lround.h                                        | 2 ++
 libc/src/math/lroundf.h                                       | 2 ++
 libc/src/math/lroundf128.h                                    | 1 +
 libc/src/math/lroundf16.h                                     | 1 +
 libc/src/math/lroundl.h                                       | 2 ++
 libc/src/math/modf.h                                          | 2 ++
 libc/src/math/modff.h                                         | 2 ++
 libc/src/math/modff128.h                                      | 1 +
 libc/src/math/modff16.h                                       | 1 +
 libc/src/math/modfl.h                                         | 2 ++
 libc/src/math/nan.h                                           | 2 ++
 libc/src/math/nanf.h                                          | 2 ++
 libc/src/math/nanf128.h                                       | 1 +
 libc/src/math/nanf16.h                                        | 1 +
 libc/src/math/nanl.h                                          | 2 ++
 libc/src/math/nearbyint.h                                     | 2 ++
 libc/src/math/nearbyintf.h                                    | 2 ++
 libc/src/math/nearbyintf128.h                                 | 1 +
 libc/src/math/nearbyintf16.h                                  | 1 +
 libc/src/math/nearbyintl.h                                    | 2 ++
 libc/src/math/nextafter.h                                     | 2 ++
 libc/src/math/nextafterf.h                                    | 2 ++
 libc/src/math/nextafterf128.h                                 | 1 +
 libc/src/math/nextafterf16.h                                  | 1 +
 libc/src/math/nextafterl.h                                    | 2 ++
 libc/src/math/nextdown.h                                      | 2 ++
 libc/src/math/nextdownf.h                                     | 2 ++
 libc/src/math/nextdownf128.h                                  | 1 +
 libc/src/math/nextdownf16.h                                   | 1 +
 libc/src/math/nextdownl.h                                     | 2 ++
 libc/src/math/nexttoward.h                                    | 2 ++
 libc/src/math/nexttowardf.h                                   | 2 ++
 libc/src/math/nexttowardf16.h                                 | 1 +
 libc/src/math/nexttowardl.h                                   | 2 ++
 libc/src/math/nextup.h                                        | 2 ++
 libc/src/math/nextupf.h                                       | 2 ++
 libc/src/math/nextupf128.h                                    | 1 +
 libc/src/math/nextupf16.h                                     | 1 +
 libc/src/math/nextupl.h                                       | 2 ++
 libc/src/math/nvptx/acos.cpp                                  | 1 +
 libc/src/math/nvptx/acosf.cpp                                 | 1 +
 libc/src/math/nvptx/acosh.cpp                                 | 1 +
 libc/src/math/nvptx/acoshf.cpp                                | 1 +
 libc/src/math/nvptx/asin.cpp                                  | 1 +
 libc/src/math/nvptx/asinf.cpp                                 | 1 +
 libc/src/math/nvptx/asinh.cpp                                 | 1 +
 libc/src/math/nvptx/asinhf.cpp                                | 1 +
 libc/src/math/nvptx/atan.cpp                                  | 1 +
 libc/src/math/nvptx/atan2.cpp                                 | 1 +
 libc/src/math/nvptx/atan2f.cpp                                | 1 +
 libc/src/math/nvptx/atanf.cpp                                 | 1 +
 libc/src/math/nvptx/atanh.cpp                                 | 1 +
 libc/src/math/nvptx/atanhf.cpp                                | 1 +
 libc/src/math/nvptx/ceil.cpp                                  | 1 +
 libc/src/math/nvptx/ceilf.cpp                                 | 1 +
 libc/src/math/nvptx/copysign.cpp                              | 1 +
 libc/src/math/nvptx/copysignf.cpp                             | 1 +
 libc/src/math/nvptx/cos.cpp                                   | 1 +
 libc/src/math/nvptx/cosf.cpp                                  | 1 +
 libc/src/math/nvptx/cosh.cpp                                  | 1 +
 libc/src/math/nvptx/coshf.cpp                                 | 1 +
 libc/src/math/nvptx/declarations.h                            | 2 ++
 libc/src/math/nvptx/erf.cpp                                   | 1 +
 libc/src/math/nvptx/erff.cpp                                  | 1 +
 libc/src/math/nvptx/exp.cpp                                   | 1 +
 libc/src/math/nvptx/exp10.cpp                                 | 1 +
 libc/src/math/nvptx/exp10f.cpp                                | 1 +
 libc/src/math/nvptx/exp2.cpp                                  | 1 +
 libc/src/math/nvptx/exp2f.cpp                                 | 1 +
 libc/src/math/nvptx/expf.cpp                                  | 1 +
 libc/src/math/nvptx/expm1.cpp                                 | 1 +
 libc/src/math/nvptx/expm1f.cpp                                | 1 +
 libc/src/math/nvptx/fabs.cpp                                  | 1 +
 libc/src/math/nvptx/fabsf.cpp                                 | 1 +
 libc/src/math/nvptx/fdim.cpp                                  | 1 +
 libc/src/math/nvptx/fdimf.cpp                                 | 1 +
 libc/src/math/nvptx/floor.cpp                                 | 1 +
 libc/src/math/nvptx/floorf.cpp                                | 1 +
 libc/src/math/nvptx/fma.cpp                                   | 1 +
 libc/src/math/nvptx/fmaf.cpp                                  | 1 +
 libc/src/math/nvptx/fmax.cpp                                  | 1 +
 libc/src/math/nvptx/fmaxf.cpp                                 | 1 +
 libc/src/math/nvptx/fmin.cpp                                  | 1 +
 libc/src/math/nvptx/fminf.cpp                                 | 1 +
 libc/src/math/nvptx/fmod.cpp                                  | 1 +
 libc/src/math/nvptx/fmodf.cpp                                 | 1 +
 libc/src/math/nvptx/frexp.cpp                                 | 1 +
 libc/src/math/nvptx/frexpf.cpp                                | 1 +
 libc/src/math/nvptx/hypot.cpp                                 | 1 +
 libc/src/math/nvptx/hypotf.cpp                                | 1 +
 libc/src/math/nvptx/ilogb.cpp                                 | 1 +
 libc/src/math/nvptx/ilogbf.cpp                                | 1 +
 libc/src/math/nvptx/ldexp.cpp                                 | 1 +
 libc/src/math/nvptx/ldexpf.cpp                                | 1 +
 libc/src/math/nvptx/llrint.cpp                                | 1 +
 libc/src/math/nvptx/llrintf.cpp                               | 1 +
 libc/src/math/nvptx/log.cpp                                   | 1 +
 libc/src/math/nvptx/log10.cpp                                 | 1 +
 libc/src/math/nvptx/log10f.cpp                                | 1 +
 libc/src/math/nvptx/log1p.cpp                                 | 1 +
 libc/src/math/nvptx/log1pf.cpp                                | 1 +
 libc/src/math/nvptx/log2.cpp                                  | 1 +
 libc/src/math/nvptx/log2f.cpp                                 | 1 +
 libc/src/math/nvptx/logb.cpp                                  | 1 +
 libc/src/math/nvptx/logbf.cpp                                 | 1 +
 libc/src/math/nvptx/logf.cpp                                  | 1 +
 libc/src/math/nvptx/lrint.cpp                                 | 1 +
 libc/src/math/nvptx/lrintf.cpp                                | 1 +
 libc/src/math/nvptx/nearbyint.cpp                             | 1 +
 libc/src/math/nvptx/nearbyintf.cpp                            | 1 +
 libc/src/math/nvptx/nextafter.cpp                             | 1 +
 libc/src/math/nvptx/nextafterf.cpp                            | 1 +
 libc/src/math/nvptx/nvptx.h                                   | 1 +
 libc/src/math/nvptx/pow.cpp                                   | 1 +
 libc/src/math/nvptx/powf.cpp                                  | 1 +
 libc/src/math/nvptx/powi.cpp                                  | 1 +
 libc/src/math/nvptx/powif.cpp                                 | 1 +
 libc/src/math/nvptx/remainder.cpp                             | 1 +
 libc/src/math/nvptx/remainderf.cpp                            | 1 +
 libc/src/math/nvptx/remquo.cpp                                | 1 +
 libc/src/math/nvptx/remquof.cpp                               | 1 +
 libc/src/math/nvptx/rint.cpp                                  | 1 +
 libc/src/math/nvptx/rintf.cpp                                 | 1 +
 libc/src/math/nvptx/round.cpp                                 | 1 +
 libc/src/math/nvptx/roundf.cpp                                | 1 +
 libc/src/math/nvptx/scalbn.cpp                                | 1 +
 libc/src/math/nvptx/scalbnf.cpp                               | 1 +
 libc/src/math/nvptx/sin.cpp                                   | 1 +
 libc/src/math/nvptx/sincos.cpp                                | 1 +
 libc/src/math/nvptx/sincosf.cpp                               | 1 +
 libc/src/math/nvptx/sinf.cpp                                  | 1 +
 libc/src/math/nvptx/sinh.cpp                                  | 1 +
 libc/src/math/nvptx/sinhf.cpp                                 | 1 +
 libc/src/math/nvptx/sqrt.cpp                                  | 1 +
 libc/src/math/nvptx/sqrtf.cpp                                 | 1 +
 libc/src/math/nvptx/tan.cpp                                   | 1 +
 libc/src/math/nvptx/tanf.cpp                                  | 1 +
 libc/src/math/nvptx/tanh.cpp                                  | 1 +
 libc/src/math/nvptx/tanhf.cpp                                 | 1 +
 libc/src/math/nvptx/tgamma.cpp                                | 1 +
 libc/src/math/nvptx/tgammaf.cpp                               | 1 +
 libc/src/math/nvptx/trunc.cpp                                 | 1 +
 libc/src/math/nvptx/truncf.cpp                                | 1 +
 libc/src/math/pow.h                                           | 2 ++
 libc/src/math/powf.h                                          | 2 ++
 libc/src/math/powi.h                                          | 2 ++
 libc/src/math/powif.h                                         | 2 ++
 libc/src/math/remainder.h                                     | 2 ++
 libc/src/math/remainderf.h                                    | 2 ++
 libc/src/math/remainderf16.h                                  | 1 +
 libc/src/math/remainderl.h                                    | 2 ++
 libc/src/math/remquo.h                                        | 2 ++
 libc/src/math/remquof.h                                       | 2 ++
 libc/src/math/remquof128.h                                    | 1 +
 libc/src/math/remquof16.h                                     | 1 +
 libc/src/math/remquol.h                                       | 2 ++
 libc/src/math/rint.h                                          | 2 ++
 libc/src/math/rintf.h                                         | 2 ++
 libc/src/math/rintf128.h                                      | 1 +
 libc/src/math/rintf16.h                                       | 1 +
 libc/src/math/rintl.h                                         | 2 ++
 libc/src/math/round.h                                         | 2 ++
 libc/src/math/roundeven.h                                     | 2 ++
 libc/src/math/roundevenf.h                                    | 2 ++
 libc/src/math/roundevenf128.h                                 | 1 +
 libc/src/math/roundevenf16.h                                  | 1 +
 libc/src/math/roundevenl.h                                    | 2 ++
 libc/src/math/roundf.h                                        | 2 ++
 libc/src/math/roundf128.h                                     | 1 +
 libc/src/math/roundf16.h                                      | 1 +
 libc/src/math/roundl.h                                        | 2 ++
 libc/src/math/scalblnf16.h                                    | 1 +
 libc/src/math/scalbn.h                                        | 2 ++
 libc/src/math/scalbnf.h                                       | 2 ++
 libc/src/math/scalbnf128.h                                    | 1 +
 libc/src/math/scalbnf16.h                                     | 1 +
 libc/src/math/scalbnl.h                                       | 2 ++
 libc/src/math/setpayloadf16.h                                 | 1 +
 libc/src/math/setpayloadsigf16.h                              | 1 +
 libc/src/math/sin.h                                           | 2 ++
 libc/src/math/sincos.h                                        | 2 ++
 libc/src/math/sincosf.h                                       | 2 ++
 libc/src/math/sinf.h                                          | 2 ++
 libc/src/math/sinh.h                                          | 2 ++
 libc/src/math/sinhf.h                                         | 2 ++
 libc/src/math/sinpif.h                                        | 2 ++
 libc/src/math/sqrt.h                                          | 2 ++
 libc/src/math/sqrtf.h                                         | 2 ++
 libc/src/math/sqrtf128.h                                      | 1 +
 libc/src/math/sqrtl.h                                         | 2 ++
 libc/src/math/tan.h                                           | 2 ++
 libc/src/math/tanf.h                                          | 2 ++
 libc/src/math/tanh.h                                          | 2 ++
 libc/src/math/tanhf.h                                         | 2 ++
 libc/src/math/tgamma.h                                        | 2 ++
 libc/src/math/tgammaf.h                                       | 2 ++
 libc/src/math/totalorderf16.h                                 | 1 +
 libc/src/math/totalordermagf16.h                              | 1 +
 libc/src/math/trunc.h                                         | 2 ++
 libc/src/math/truncf.h                                        | 2 ++
 libc/src/math/truncf128.h                                     | 1 +
 libc/src/math/truncf16.h                                      | 1 +
 libc/src/math/truncl.h                                        | 2 ++
 libc/src/math/ufromfp.h                                       | 2 ++
 libc/src/math/ufromfpf.h                                      | 2 ++
 libc/src/math/ufromfpf128.h                                   | 1 +
 libc/src/math/ufromfpf16.h                                    | 1 +
 libc/src/math/ufromfpl.h                                      | 2 ++
 libc/src/math/ufromfpx.h                                      | 2 ++
 libc/src/math/ufromfpxf.h                                     | 2 ++
 libc/src/math/ufromfpxf128.h                                  | 1 +
 libc/src/math/ufromfpxf16.h                                   | 1 +
 libc/src/math/ufromfpxl.h                                     | 2 ++
 libc/src/network/htonl.cpp                                    | 1 +
 libc/src/network/htonl.h                                      | 1 +
 libc/src/network/htons.cpp                                    | 1 +
 libc/src/network/htons.h                                      | 1 +
 libc/src/network/ntohl.cpp                                    | 1 +
 libc/src/network/ntohl.h                                      | 1 +
 libc/src/network/ntohs.cpp                                    | 1 +
 libc/src/network/ntohs.h                                      | 1 +
 libc/src/pthread/pthread_atfork.cpp                           | 1 +
 libc/src/pthread/pthread_atfork.h                             | 1 +
 libc/src/pthread/pthread_attr_destroy.cpp                     | 1 +
 libc/src/pthread/pthread_attr_destroy.h                       | 1 +
 libc/src/pthread/pthread_attr_getdetachstate.cpp              | 1 +
 libc/src/pthread/pthread_attr_getdetachstate.h                | 1 +
 libc/src/pthread/pthread_attr_getguardsize.cpp                | 1 +
 libc/src/pthread/pthread_attr_getguardsize.h                  | 1 +
 libc/src/pthread/pthread_attr_getstack.cpp                    | 1 +
 libc/src/pthread/pthread_attr_getstack.h                      | 1 +
 libc/src/pthread/pthread_attr_getstacksize.cpp                | 1 +
 libc/src/pthread/pthread_attr_getstacksize.h                  | 1 +
 libc/src/pthread/pthread_attr_init.cpp                        | 1 +
 libc/src/pthread/pthread_attr_init.h                          | 1 +
 libc/src/pthread/pthread_attr_setdetachstate.cpp              | 1 +
 libc/src/pthread/pthread_attr_setdetachstate.h                | 1 +
 libc/src/pthread/pthread_attr_setguardsize.cpp                | 1 +
 libc/src/pthread/pthread_attr_setguardsize.h                  | 1 +
 libc/src/pthread/pthread_attr_setstack.cpp                    | 1 +
 libc/src/pthread/pthread_attr_setstack.h                      | 1 +
 libc/src/pthread/pthread_attr_setstacksize.cpp                | 1 +
 libc/src/pthread/pthread_attr_setstacksize.h                  | 1 +
 libc/src/pthread/pthread_condattr_destroy.cpp                 | 1 +
 libc/src/pthread/pthread_condattr_destroy.h                   | 1 +
 libc/src/pthread/pthread_condattr_getclock.cpp                | 1 +
 libc/src/pthread/pthread_condattr_getclock.h                  | 1 +
 libc/src/pthread/pthread_condattr_getpshared.cpp              | 1 +
 libc/src/pthread/pthread_condattr_getpshared.h                | 1 +
 libc/src/pthread/pthread_condattr_init.cpp                    | 1 +
 libc/src/pthread/pthread_condattr_init.h                      | 1 +
 libc/src/pthread/pthread_condattr_setclock.cpp                | 1 +
 libc/src/pthread/pthread_condattr_setclock.h                  | 1 +
 libc/src/pthread/pthread_condattr_setpshared.cpp              | 1 +
 libc/src/pthread/pthread_condattr_setpshared.h                | 1 +
 libc/src/pthread/pthread_create.cpp                           | 1 +
 libc/src/pthread/pthread_create.h                             | 1 +
 libc/src/pthread/pthread_detach.cpp                           | 1 +
 libc/src/pthread/pthread_detach.h                             | 1 +
 libc/src/pthread/pthread_equal.cpp                            | 1 +
 libc/src/pthread/pthread_equal.h                              | 1 +
 libc/src/pthread/pthread_exit.cpp                             | 1 +
 libc/src/pthread/pthread_exit.h                               | 1 +
 libc/src/pthread/pthread_getname_np.cpp                       | 1 +
 libc/src/pthread/pthread_getname_np.h                         | 1 +
 libc/src/pthread/pthread_getspecific.cpp                      | 1 +
 libc/src/pthread/pthread_getspecific.h                        | 1 +
 libc/src/pthread/pthread_join.cpp                             | 1 +
 libc/src/pthread/pthread_join.h                               | 1 +
 libc/src/pthread/pthread_key_create.cpp                       | 1 +
 libc/src/pthread/pthread_key_create.h                         | 1 +
 libc/src/pthread/pthread_key_delete.cpp                       | 1 +
 libc/src/pthread/pthread_key_delete.h                         | 1 +
 libc/src/pthread/pthread_mutex_destroy.cpp                    | 1 +
 libc/src/pthread/pthread_mutex_destroy.h                      | 1 +
 libc/src/pthread/pthread_mutex_init.cpp                       | 1 +
 libc/src/pthread/pthread_mutex_init.h                         | 1 +
 libc/src/pthread/pthread_mutex_lock.cpp                       | 1 +
 libc/src/pthread/pthread_mutex_lock.h                         | 1 +
 libc/src/pthread/pthread_mutex_unlock.cpp                     | 1 +
 libc/src/pthread/pthread_mutex_unlock.h                       | 1 +
 libc/src/pthread/pthread_mutexattr.h                          | 1 +
 libc/src/pthread/pthread_mutexattr_destroy.cpp                | 1 +
 libc/src/pthread/pthread_mutexattr_destroy.h                  | 1 +
 libc/src/pthread/pthread_mutexattr_getpshared.cpp             | 1 +
 libc/src/pthread/pthread_mutexattr_getpshared.h               | 1 +
 libc/src/pthread/pthread_mutexattr_getrobust.cpp              | 1 +
 libc/src/pthread/pthread_mutexattr_getrobust.h                | 1 +
 libc/src/pthread/pthread_mutexattr_gettype.cpp                | 1 +
 libc/src/pthread/pthread_mutexattr_gettype.h                  | 1 +
 libc/src/pthread/pthread_mutexattr_init.cpp                   | 1 +
 libc/src/pthread/pthread_mutexattr_init.h                     | 1 +
 libc/src/pthread/pthread_mutexattr_setpshared.cpp             | 1 +
 libc/src/pthread/pthread_mutexattr_setpshared.h               | 1 +
 libc/src/pthread/pthread_mutexattr_setrobust.cpp              | 1 +
 libc/src/pthread/pthread_mutexattr_setrobust.h                | 1 +
 libc/src/pthread/pthread_mutexattr_settype.cpp                | 1 +
 libc/src/pthread/pthread_mutexattr_settype.h                  | 1 +
 libc/src/pthread/pthread_once.cpp                             | 1 +
 libc/src/pthread/pthread_once.h                               | 1 +
 libc/src/pthread/pthread_rwlock_destroy.cpp                   | 1 +
 libc/src/pthread/pthread_rwlock_destroy.h                     | 1 +
 libc/src/pthread/pthread_rwlock_init.cpp                      | 1 +
 libc/src/pthread/pthread_rwlock_init.h                        | 1 +
 libc/src/pthread/pthread_rwlock_rdlock.cpp                    | 1 +
 libc/src/pthread/pthread_rwlock_rdlock.h                      | 1 +
 libc/src/pthread/pthread_rwlock_timedrdlock.cpp               | 1 +
 libc/src/pthread/pthread_rwlock_timedrdlock.h                 | 1 +
 libc/src/pthread/pthread_rwlock_timedwrlock.cpp               | 1 +
 libc/src/pthread/pthread_rwlock_timedwrlock.h                 | 1 +
 libc/src/pthread/pthread_rwlock_tryrdlock.cpp                 | 1 +
 libc/src/pthread/pthread_rwlock_tryrdlock.h                   | 1 +
 libc/src/pthread/pthread_rwlock_trywrlock.cpp                 | 1 +
 libc/src/pthread/pthread_rwlock_trywrlock.h                   | 1 +
 libc/src/pthread/pthread_rwlock_unlock.cpp                    | 1 +
 libc/src/pthread/pthread_rwlock_unlock.h                      | 1 +
 libc/src/pthread/pthread_rwlock_wrlock.cpp                    | 1 +
 libc/src/pthread/pthread_rwlock_wrlock.h                      | 1 +
 libc/src/pthread/pthread_rwlockattr_destroy.cpp               | 1 +
 libc/src/pthread/pthread_rwlockattr_destroy.h                 | 1 +
 libc/src/pthread/pthread_rwlockattr_getkind_np.cpp            | 1 +
 libc/src/pthread/pthread_rwlockattr_getkind_np.h              | 1 +
 libc/src/pthread/pthread_rwlockattr_getpshared.cpp            | 1 +
 libc/src/pthread/pthread_rwlockattr_getpshared.h              | 1 +
 libc/src/pthread/pthread_rwlockattr_init.cpp                  | 1 +
 libc/src/pthread/pthread_rwlockattr_init.h                    | 1 +
 libc/src/pthread/pthread_rwlockattr_setkind_np.cpp            | 1 +
 libc/src/pthread/pthread_rwlockattr_setkind_np.h              | 1 +
 libc/src/pthread/pthread_rwlockattr_setpshared.cpp            | 1 +
 libc/src/pthread/pthread_rwlockattr_setpshared.h              | 1 +
 libc/src/pthread/pthread_self.cpp                             | 1 +
 libc/src/pthread/pthread_self.h                               | 1 +
 libc/src/pthread/pthread_setname_np.cpp                       | 1 +
 libc/src/pthread/pthread_setname_np.h                         | 1 +
 libc/src/pthread/pthread_setspecific.cpp                      | 1 +
 libc/src/pthread/pthread_setspecific.h                        | 1 +
 libc/src/sched/linux/sched_get_priority_max.cpp               | 1 +
 libc/src/sched/linux/sched_get_priority_min.cpp               | 1 +
 libc/src/sched/linux/sched_getaffinity.cpp                    | 1 +
 libc/src/sched/linux/sched_getcpucount.cpp                    | 1 +
 libc/src/sched/linux/sched_getparam.cpp                       | 1 +
 libc/src/sched/linux/sched_getscheduler.cpp                   | 1 +
 libc/src/sched/linux/sched_rr_get_interval.cpp                | 1 +
 libc/src/sched/linux/sched_setaffinity.cpp                    | 1 +
 libc/src/sched/linux/sched_setparam.cpp                       | 1 +
 libc/src/sched/linux/sched_setscheduler.cpp                   | 1 +
 libc/src/sched/linux/sched_yield.cpp                          | 1 +
 libc/src/sched/sched_get_priority_max.h                       | 2 ++
 libc/src/sched/sched_get_priority_min.h                       | 2 ++
 libc/src/sched/sched_getaffinity.h                            | 1 +
 libc/src/sched/sched_getcpucount.h                            | 1 +
 libc/src/sched/sched_getparam.h                               | 1 +
 libc/src/sched/sched_getscheduler.h                           | 1 +
 libc/src/sched/sched_rr_get_interval.h                        | 1 +
 libc/src/sched/sched_setaffinity.h                            | 1 +
 libc/src/sched/sched_setparam.h                               | 1 +
 libc/src/sched/sched_setscheduler.h                           | 1 +
 libc/src/sched/sched_yield.h                                  | 2 ++
 libc/src/search/hcreate.cpp                                   | 1 +
 libc/src/search/hcreate.h                                     | 1 +
 libc/src/search/hcreate_r.cpp                                 | 1 +
 libc/src/search/hcreate_r.h                                   | 1 +
 libc/src/search/hdestroy.cpp                                  | 1 +
 libc/src/search/hdestroy.h                                    | 1 +
 libc/src/search/hdestroy_r.cpp                                | 1 +
 libc/src/search/hdestroy_r.h                                  | 1 +
 libc/src/search/hsearch.cpp                                   | 1 +
 libc/src/search/hsearch.h                                     | 1 +
 libc/src/search/hsearch/global.cpp                            | 2 ++
 libc/src/search/hsearch/global.h                              | 2 ++
 libc/src/search/hsearch_r.cpp                                 | 1 +
 libc/src/search/hsearch_r.h                                   | 1 +
 libc/src/search/insque.cpp                                    | 1 +
 libc/src/search/insque.h                                      | 1 +
 libc/src/search/remque.cpp                                    | 1 +
 libc/src/search/remque.h                                      | 1 +
 libc/src/setjmp/arm/longjmp.cpp                               | 1 +
 libc/src/setjmp/arm/setjmp.cpp                                | 1 +
 libc/src/setjmp/longjmp.h                                     | 1 +
 libc/src/setjmp/riscv/longjmp.cpp                             | 1 +
 libc/src/setjmp/riscv/setjmp.cpp                              | 1 +
 libc/src/setjmp/setjmp_impl.h                                 | 1 +
 libc/src/setjmp/x86_64/longjmp.cpp                            | 1 +
 libc/src/setjmp/x86_64/setjmp.cpp                             | 1 +
 libc/src/signal/kill.h                                        | 1 +
 libc/src/signal/linux/__restore.cpp                           | 1 +
 libc/src/signal/linux/kill.cpp                                | 1 +
 libc/src/signal/linux/raise.cpp                               | 1 +
 libc/src/signal/linux/sigaction.cpp                           | 1 +
 libc/src/signal/linux/sigaddset.cpp                           | 1 +
 libc/src/signal/linux/sigaltstack.cpp                         | 1 +
 libc/src/signal/linux/sigdelset.cpp                           | 1 +
 libc/src/signal/linux/sigemptyset.cpp                         | 1 +
 libc/src/signal/linux/sigfillset.cpp                          | 1 +
 libc/src/signal/linux/signal.cpp                              | 1 +
 libc/src/signal/linux/signal_utils.h                          | 1 +
 libc/src/signal/linux/sigprocmask.cpp                         | 1 +
 libc/src/signal/raise.h                                       | 1 +
 libc/src/signal/sigaction.h                                   | 1 +
 libc/src/signal/sigaddset.h                                   | 1 +
 libc/src/signal/sigaltstack.h                                 | 1 +
 libc/src/signal/sigdelset.h                                   | 1 +
 libc/src/signal/sigemptyset.h                                 | 1 +
 libc/src/signal/sigfillset.h                                  | 1 +
 libc/src/signal/signal.h                                      | 1 +
 libc/src/signal/sigprocmask.h                                 | 1 +
 libc/src/spawn/file_actions.h                                 | 1 +
 libc/src/spawn/linux/posix_spawn.cpp                          | 1 +
 libc/src/spawn/posix_spawn.h                                  | 1 +
 libc/src/spawn/posix_spawn_file_actions_addclose.cpp          | 1 +
 libc/src/spawn/posix_spawn_file_actions_addclose.h            | 1 +
 libc/src/spawn/posix_spawn_file_actions_adddup2.cpp           | 1 +
 libc/src/spawn/posix_spawn_file_actions_adddup2.h             | 1 +
 libc/src/spawn/posix_spawn_file_actions_addopen.cpp           | 1 +
 libc/src/spawn/posix_spawn_file_actions_addopen.h             | 1 +
 libc/src/spawn/posix_spawn_file_actions_destroy.cpp           | 1 +
 libc/src/spawn/posix_spawn_file_actions_destroy.h             | 1 +
 libc/src/spawn/posix_spawn_file_actions_init.cpp              | 1 +
 libc/src/spawn/posix_spawn_file_actions_init.h                | 1 +
 libc/src/stdbit/stdc_bit_ceil_uc.cpp                          | 1 +
 libc/src/stdbit/stdc_bit_ceil_uc.h                            | 2 ++
 libc/src/stdbit/stdc_bit_ceil_ui.cpp                          | 1 +
 libc/src/stdbit/stdc_bit_ceil_ui.h                            | 2 ++
 libc/src/stdbit/stdc_bit_ceil_ul.cpp                          | 1 +
 libc/src/stdbit/stdc_bit_ceil_ul.h                            | 2 ++
 libc/src/stdbit/stdc_bit_ceil_ull.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_ceil_ull.h                           | 2 ++
 libc/src/stdbit/stdc_bit_ceil_us.cpp                          | 1 +
 libc/src/stdbit/stdc_bit_ceil_us.h                            | 2 ++
 libc/src/stdbit/stdc_bit_floor_uc.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_floor_uc.h                           | 2 ++
 libc/src/stdbit/stdc_bit_floor_ui.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_floor_ui.h                           | 2 ++
 libc/src/stdbit/stdc_bit_floor_ul.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_floor_ul.h                           | 2 ++
 libc/src/stdbit/stdc_bit_floor_ull.cpp                        | 1 +
 libc/src/stdbit/stdc_bit_floor_ull.h                          | 2 ++
 libc/src/stdbit/stdc_bit_floor_us.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_floor_us.h                           | 2 ++
 libc/src/stdbit/stdc_bit_width_uc.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_width_uc.h                           | 2 ++
 libc/src/stdbit/stdc_bit_width_ui.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_width_ui.h                           | 2 ++
 libc/src/stdbit/stdc_bit_width_ul.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_width_ul.h                           | 2 ++
 libc/src/stdbit/stdc_bit_width_ull.cpp                        | 1 +
 libc/src/stdbit/stdc_bit_width_ull.h                          | 2 ++
 libc/src/stdbit/stdc_bit_width_us.cpp                         | 1 +
 libc/src/stdbit/stdc_bit_width_us.h                           | 2 ++
 libc/src/stdbit/stdc_count_ones_uc.cpp                        | 1 +
 libc/src/stdbit/stdc_count_ones_uc.h                          | 2 ++
 libc/src/stdbit/stdc_count_ones_ui.cpp                        | 1 +
 libc/src/stdbit/stdc_count_ones_ui.h                          | 2 ++
 libc/src/stdbit/stdc_count_ones_ul.cpp                        | 1 +
 libc/src/stdbit/stdc_count_ones_ul.h                          | 2 ++
 libc/src/stdbit/stdc_count_ones_ull.cpp                       | 1 +
 libc/src/stdbit/stdc_count_ones_ull.h                         | 2 ++
 libc/src/stdbit/stdc_count_ones_us.cpp                        | 1 +
 libc/src/stdbit/stdc_count_ones_us.h                          | 2 ++
 libc/src/stdbit/stdc_count_zeros_uc.cpp                       | 1 +
 libc/src/stdbit/stdc_count_zeros_uc.h                         | 2 ++
 libc/src/stdbit/stdc_count_zeros_ui.cpp                       | 1 +
 libc/src/stdbit/stdc_count_zeros_ui.h                         | 2 ++
 libc/src/stdbit/stdc_count_zeros_ul.cpp                       | 1 +
 libc/src/stdbit/stdc_count_zeros_ul.h                         | 2 ++
 libc/src/stdbit/stdc_count_zeros_ull.cpp                      | 1 +
 libc/src/stdbit/stdc_count_zeros_ull.h                        | 2 ++
 libc/src/stdbit/stdc_count_zeros_us.cpp                       | 1 +
 libc/src/stdbit/stdc_count_zeros_us.h                         | 2 ++
 libc/src/stdbit/stdc_first_leading_one_uc.cpp                 | 1 +
 libc/src/stdbit/stdc_first_leading_one_uc.h                   | 2 ++
 libc/src/stdbit/stdc_first_leading_one_ui.cpp                 | 1 +
 libc/src/stdbit/stdc_first_leading_one_ui.h                   | 2 ++
 libc/src/stdbit/stdc_first_leading_one_ul.cpp                 | 1 +
 libc/src/stdbit/stdc_first_leading_one_ul.h                   | 2 ++
 libc/src/stdbit/stdc_first_leading_one_ull.cpp                | 1 +
 libc/src/stdbit/stdc_first_leading_one_ull.h                  | 2 ++
 libc/src/stdbit/stdc_first_leading_one_us.cpp                 | 1 +
 libc/src/stdbit/stdc_first_leading_one_us.h                   | 2 ++
 libc/src/stdbit/stdc_first_leading_zero_uc.cpp                | 1 +
 libc/src/stdbit/stdc_first_leading_zero_uc.h                  | 2 ++
 libc/src/stdbit/stdc_first_leading_zero_ui.cpp                | 1 +
 libc/src/stdbit/stdc_first_leading_zero_ui.h                  | 2 ++
 libc/src/stdbit/stdc_first_leading_zero_ul.cpp                | 1 +
 libc/src/stdbit/stdc_first_leading_zero_ul.h                  | 2 ++
 libc/src/stdbit/stdc_first_leading_zero_ull.cpp               | 1 +
 libc/src/stdbit/stdc_first_leading_zero_ull.h                 | 2 ++
 libc/src/stdbit/stdc_first_leading_zero_us.cpp                | 1 +
 libc/src/stdbit/stdc_first_leading_zero_us.h                  | 2 ++
 libc/src/stdbit/stdc_first_trailing_one_uc.cpp                | 1 +
 libc/src/stdbit/stdc_first_trailing_one_uc.h                  | 2 ++
 libc/src/stdbit/stdc_first_trailing_one_ui.cpp                | 1 +
 libc/src/stdbit/stdc_first_trailing_one_ui.h                  | 2 ++
 libc/src/stdbit/stdc_first_trailing_one_ul.cpp                | 1 +
 libc/src/stdbit/stdc_first_trailing_one_ul.h                  | 2 ++
 libc/src/stdbit/stdc_first_trailing_one_ull.cpp               | 1 +
 libc/src/stdbit/stdc_first_trailing_one_ull.h                 | 2 ++
 libc/src/stdbit/stdc_first_trailing_one_us.cpp                | 1 +
 libc/src/stdbit/stdc_first_trailing_one_us.h                  | 2 ++
 libc/src/stdbit/stdc_first_trailing_zero_uc.cpp               | 1 +
 libc/src/stdbit/stdc_first_trailing_zero_uc.h                 | 2 ++
 libc/src/stdbit/stdc_first_trailing_zero_ui.cpp               | 1 +
 libc/src/stdbit/stdc_first_trailing_zero_ui.h                 | 2 ++
 libc/src/stdbit/stdc_first_trailing_zero_ul.cpp               | 1 +
 libc/src/stdbit/stdc_first_trailing_zero_ul.h                 | 2 ++
 libc/src/stdbit/stdc_first_trailing_zero_ull.cpp              | 1 +
 libc/src/stdbit/stdc_first_trailing_zero_ull.h                | 2 ++
 libc/src/stdbit/stdc_first_trailing_zero_us.cpp               | 1 +
 libc/src/stdbit/stdc_first_trailing_zero_us.h                 | 2 ++
 libc/src/stdbit/stdc_has_single_bit_uc.cpp                    | 1 +
 libc/src/stdbit/stdc_has_single_bit_uc.h                      | 2 ++
 libc/src/stdbit/stdc_has_single_bit_ui.cpp                    | 1 +
 libc/src/stdbit/stdc_has_single_bit_ui.h                      | 2 ++
 libc/src/stdbit/stdc_has_single_bit_ul.cpp                    | 1 +
 libc/src/stdbit/stdc_has_single_bit_ul.h                      | 2 ++
 libc/src/stdbit/stdc_has_single_bit_ull.cpp                   | 1 +
 libc/src/stdbit/stdc_has_single_bit_ull.h                     | 2 ++
 libc/src/stdbit/stdc_has_single_bit_us.cpp                    | 1 +
 libc/src/stdbit/stdc_has_single_bit_us.h                      | 2 ++
 libc/src/stdbit/stdc_leading_ones_uc.cpp                      | 1 +
 libc/src/stdbit/stdc_leading_ones_uc.h                        | 2 ++
 libc/src/stdbit/stdc_leading_ones_ui.cpp                      | 1 +
 libc/src/stdbit/stdc_leading_ones_ui.h                        | 2 ++
 libc/src/stdbit/stdc_leading_ones_ul.cpp                      | 1 +
 libc/src/stdbit/stdc_leading_ones_ul.h                        | 2 ++
 libc/src/stdbit/stdc_leading_ones_ull.cpp                     | 1 +
 libc/src/stdbit/stdc_leading_ones_ull.h                       | 2 ++
 libc/src/stdbit/stdc_leading_ones_us.cpp                      | 1 +
 libc/src/stdbit/stdc_leading_ones_us.h                        | 2 ++
 libc/src/stdbit/stdc_leading_zeros_uc.cpp                     | 1 +
 libc/src/stdbit/stdc_leading_zeros_uc.h                       | 2 ++
 libc/src/stdbit/stdc_leading_zeros_ui.cpp                     | 1 +
 libc/src/stdbit/stdc_leading_zeros_ui.h                       | 2 ++
 libc/src/stdbit/stdc_leading_zeros_ul.cpp                     | 1 +
 libc/src/stdbit/stdc_leading_zeros_ul.h                       | 2 ++
 libc/src/stdbit/stdc_leading_zeros_ull.cpp                    | 1 +
 libc/src/stdbit/stdc_leading_zeros_ull.h                      | 2 ++
 libc/src/stdbit/stdc_leading_zeros_us.cpp                     | 1 +
 libc/src/stdbit/stdc_leading_zeros_us.h                       | 2 ++
 libc/src/stdbit/stdc_trailing_ones_uc.cpp                     | 1 +
 libc/src/stdbit/stdc_trailing_ones_uc.h                       | 2 ++
 libc/src/stdbit/stdc_trailing_ones_ui.cpp                     | 1 +
 libc/src/stdbit/stdc_trailing_ones_ui.h                       | 2 ++
 libc/src/stdbit/stdc_trailing_ones_ul.cpp                     | 1 +
 libc/src/stdbit/stdc_trailing_ones_ul.h                       | 2 ++
 libc/src/stdbit/stdc_trailing_ones_ull.cpp                    | 1 +
 libc/src/stdbit/stdc_trailing_ones_ull.h                      | 2 ++
 libc/src/stdbit/stdc_trailing_ones_us.cpp                     | 1 +
 libc/src/stdbit/stdc_trailing_ones_us.h                       | 2 ++
 libc/src/stdbit/stdc_trailing_zeros_uc.cpp                    | 1 +
 libc/src/stdbit/stdc_trailing_zeros_uc.h                      | 2 ++
 libc/src/stdbit/stdc_trailing_zeros_ui.cpp                    | 1 +
 libc/src/stdbit/stdc_trailing_zeros_ui.h                      | 2 ++
 libc/src/stdbit/stdc_trailing_zeros_ul.cpp                    | 1 +
 libc/src/stdbit/stdc_trailing_zeros_ul.h                      | 2 ++
 libc/src/stdbit/stdc_trailing_zeros_ull.cpp                   | 1 +
 libc/src/stdbit/stdc_trailing_zeros_ull.h                     | 2 ++
 libc/src/stdbit/stdc_trailing_zeros_us.cpp                    | 1 +
 libc/src/stdbit/stdc_trailing_zeros_us.h                      | 2 ++
 libc/src/stdfix/abshk.cpp                                     | 1 +
 libc/src/stdfix/abshk.h                                       | 1 +
 libc/src/stdfix/abshr.cpp                                     | 1 +
 libc/src/stdfix/abshr.h                                       | 1 +
 libc/src/stdfix/absk.cpp                                      | 1 +
 libc/src/stdfix/absk.h                                        | 1 +
 libc/src/stdfix/abslk.cpp                                     | 1 +
 libc/src/stdfix/abslk.h                                       | 1 +
 libc/src/stdfix/abslr.cpp                                     | 1 +
 libc/src/stdfix/abslr.h                                       | 1 +
 libc/src/stdfix/absr.cpp                                      | 1 +
 libc/src/stdfix/absr.h                                        | 1 +
 libc/src/stdfix/exphk.cpp                                     | 1 +
 libc/src/stdfix/exphk.h                                       | 1 +
 libc/src/stdfix/expk.cpp                                      | 1 +
 libc/src/stdfix/expk.h                                        | 1 +
 libc/src/stdfix/roundhk.cpp                                   | 1 +
 libc/src/stdfix/roundhk.h                                     | 1 +
 libc/src/stdfix/roundhr.cpp                                   | 1 +
 libc/src/stdfix/roundhr.h                                     | 1 +
 libc/src/stdfix/roundk.cpp                                    | 1 +
 libc/src/stdfix/roundk.h                                      | 1 +
 libc/src/stdfix/roundlk.cpp                                   | 1 +
 libc/src/stdfix/roundlk.h                                     | 1 +
 libc/src/stdfix/roundlr.cpp                                   | 1 +
 libc/src/stdfix/roundlr.h                                     | 1 +
 libc/src/stdfix/roundr.cpp                                    | 1 +
 libc/src/stdfix/roundr.h                                      | 1 +
 libc/src/stdfix/rounduhk.cpp                                  | 1 +
 libc/src/stdfix/rounduhk.h                                    | 1 +
 libc/src/stdfix/rounduhr.cpp                                  | 1 +
 libc/src/stdfix/rounduhr.h                                    | 1 +
 libc/src/stdfix/rounduk.cpp                                   | 1 +
 libc/src/stdfix/rounduk.h                                     | 1 +
 libc/src/stdfix/roundulk.cpp                                  | 1 +
 libc/src/stdfix/roundulk.h                                    | 1 +
 libc/src/stdfix/roundulr.cpp                                  | 1 +
 libc/src/stdfix/roundulr.h                                    | 1 +
 libc/src/stdfix/roundur.cpp                                   | 1 +
 libc/src/stdfix/roundur.h                                     | 1 +
 libc/src/stdfix/sqrtuhk.cpp                                   | 1 +
 libc/src/stdfix/sqrtuhk.h                                     | 1 +
 libc/src/stdfix/sqrtuhr.cpp                                   | 1 +
 libc/src/stdfix/sqrtuhr.h                                     | 1 +
 libc/src/stdfix/sqrtuk.cpp                                    | 1 +
 libc/src/stdfix/sqrtuk.h                                      | 1 +
 libc/src/stdfix/sqrtulr.cpp                                   | 1 +
 libc/src/stdfix/sqrtulr.h                                     | 1 +
 libc/src/stdfix/sqrtur.cpp                                    | 1 +
 libc/src/stdfix/sqrtur.h                                      | 1 +
 libc/src/stdfix/uhksqrtus.cpp                                 | 1 +
 libc/src/stdfix/uhksqrtus.h                                   | 1 +
 libc/src/stdfix/uksqrtui.cpp                                  | 1 +
 libc/src/stdfix/uksqrtui.h                                    | 1 +
 libc/src/stdio/baremetal/getchar.cpp                          | 1 +
 libc/src/stdio/baremetal/printf.cpp                           | 1 +
 libc/src/stdio/baremetal/putchar.cpp                          | 1 +
 libc/src/stdio/baremetal/puts.cpp                             | 1 +
 libc/src/stdio/baremetal/remove.cpp                           | 1 +
 libc/src/stdio/baremetal/vprintf.cpp                          | 1 +
 libc/src/stdio/clearerr.h                                     | 1 +
 libc/src/stdio/clearerr_unlocked.h                            | 1 +
 libc/src/stdio/fclose.h                                       | 1 +
 libc/src/stdio/fdopen.h                                       | 1 +
 libc/src/stdio/feof.h                                         | 1 +
 libc/src/stdio/feof_unlocked.h                                | 1 +
 libc/src/stdio/ferror.h                                       | 1 +
 libc/src/stdio/ferror_unlocked.h                              | 1 +
 libc/src/stdio/fflush.h                                       | 1 +
 libc/src/stdio/fgetc.h                                        | 1 +
 libc/src/stdio/fgetc_unlocked.h                               | 1 +
 libc/src/stdio/fgets.h                                        | 1 +
 libc/src/stdio/fileno.h                                       | 1 +
 libc/src/stdio/flockfile.cpp                                  | 1 +
 libc/src/stdio/flockfile.h                                    | 1 +
 libc/src/stdio/fopen.h                                        | 1 +
 libc/src/stdio/fopencookie.cpp                                | 1 +
 libc/src/stdio/fopencookie.h                                  | 1 +
 libc/src/stdio/fprintf.cpp                                    | 1 +
 libc/src/stdio/fprintf.h                                      | 1 +
 libc/src/stdio/fputc.h                                        | 1 +
 libc/src/stdio/fputs.h                                        | 1 +
 libc/src/stdio/fread.h                                        | 1 +
 libc/src/stdio/fread_unlocked.h                               | 1 +
 libc/src/stdio/fscanf.cpp                                     | 1 +
 libc/src/stdio/fscanf.h                                       | 1 +
 libc/src/stdio/fseek.h                                        | 1 +
 libc/src/stdio/fseeko.h                                       | 1 +
 libc/src/stdio/ftell.h                                        | 1 +
 libc/src/stdio/ftello.h                                       | 1 +
 libc/src/stdio/funlockfile.cpp                                | 1 +
 libc/src/stdio/funlockfile.h                                  | 1 +
 libc/src/stdio/fwrite.h                                       | 1 +
 libc/src/stdio/fwrite_unlocked.h                              | 1 +
 libc/src/stdio/generic/clearerr.cpp                           | 1 +
 libc/src/stdio/generic/clearerr_unlocked.cpp                  | 1 +
 libc/src/stdio/generic/fclose.cpp                             | 1 +
 libc/src/stdio/generic/feof.cpp                               | 1 +
 libc/src/stdio/generic/feof_unlocked.cpp                      | 1 +
 libc/src/stdio/generic/ferror.cpp                             | 1 +
 libc/src/stdio/generic/ferror_unlocked.cpp                    | 1 +
 libc/src/stdio/generic/fflush.cpp                             | 1 +
 libc/src/stdio/generic/fgetc.cpp                              | 1 +
 libc/src/stdio/generic/fgetc_unlocked.cpp                     | 1 +
 libc/src/stdio/generic/fgets.cpp                              | 1 +
 libc/src/stdio/generic/fileno.cpp                             | 1 +
 libc/src/stdio/generic/fopen.cpp                              | 1 +
 libc/src/stdio/generic/fputc.cpp                              | 1 +
 libc/src/stdio/generic/fputs.cpp                              | 1 +
 libc/src/stdio/generic/fread.cpp                              | 1 +
 libc/src/stdio/generic/fread_unlocked.cpp                     | 1 +
 libc/src/stdio/generic/fseek.cpp                              | 1 +
 libc/src/stdio/generic/fseeko.cpp                             | 1 +
 libc/src/stdio/generic/ftell.cpp                              | 1 +
 libc/src/stdio/generic/ftello.cpp                             | 1 +
 libc/src/stdio/generic/fwrite.cpp                             | 1 +
 libc/src/stdio/generic/fwrite_unlocked.cpp                    | 1 +
 libc/src/stdio/generic/getc.cpp                               | 1 +
 libc/src/stdio/generic/getc_unlocked.cpp                      | 1 +
 libc/src/stdio/generic/getchar.cpp                            | 1 +
 libc/src/stdio/generic/getchar_unlocked.cpp                   | 1 +
 libc/src/stdio/generic/printf.cpp                             | 1 +
 libc/src/stdio/generic/putc.cpp                               | 1 +
 libc/src/stdio/generic/putchar.cpp                            | 1 +
 libc/src/stdio/generic/puts.cpp                               | 1 +
 libc/src/stdio/generic/ungetc.cpp                             | 1 +
 libc/src/stdio/generic/vprintf.cpp                            | 1 +
 libc/src/stdio/getc.h                                         | 1 +
 libc/src/stdio/getc_unlocked.h                                | 1 +
 libc/src/stdio/getchar.h                                      | 2 ++
 libc/src/stdio/getchar_unlocked.h                             | 2 ++
 libc/src/stdio/gpu/clearerr.cpp                               | 1 +
 libc/src/stdio/gpu/fclose.cpp                                 | 1 +
 libc/src/stdio/gpu/feof.cpp                                   | 1 +
 libc/src/stdio/gpu/ferror.cpp                                 | 1 +
 libc/src/stdio/gpu/fflush.cpp                                 | 1 +
 libc/src/stdio/gpu/fgetc.cpp                                  | 1 +
 libc/src/stdio/gpu/fgets.cpp                                  | 1 +
 libc/src/stdio/gpu/file.h                                     | 1 +
 libc/src/stdio/gpu/fopen.cpp                                  | 1 +
 libc/src/stdio/gpu/fputc.cpp                                  | 3 ++-
 libc/src/stdio/gpu/fputs.cpp                                  | 1 +
 libc/src/stdio/gpu/fread.cpp                                  | 1 +
 libc/src/stdio/gpu/fseek.cpp                                  | 1 +
 libc/src/stdio/gpu/ftell.cpp                                  | 1 +
 libc/src/stdio/gpu/fwrite.cpp                                 | 1 +
 libc/src/stdio/gpu/getc.cpp                                   | 1 +
 libc/src/stdio/gpu/getchar.cpp                                | 1 +
 libc/src/stdio/gpu/putc.cpp                                   | 1 +
 libc/src/stdio/gpu/putchar.cpp                                | 3 ++-
 libc/src/stdio/gpu/puts.cpp                                   | 1 +
 libc/src/stdio/gpu/remove.cpp                                 | 1 +
 libc/src/stdio/gpu/stderr.cpp                                 | 1 +
 libc/src/stdio/gpu/stdin.cpp                                  | 1 +
 libc/src/stdio/gpu/stdout.cpp                                 | 1 +
 libc/src/stdio/gpu/ungetc.cpp                                 | 1 +
 libc/src/stdio/linux/fdopen.cpp                               | 1 +
 libc/src/stdio/linux/remove.cpp                               | 1 +
 libc/src/stdio/linux/rename.cpp                               | 1 +
 libc/src/stdio/printf.h                                       | 1 +
 libc/src/stdio/printf_core/char_converter.h                   | 1 +
 libc/src/stdio/printf_core/converter.cpp                      | 1 +
 libc/src/stdio/printf_core/converter.h                        | 1 +
 libc/src/stdio/printf_core/converter_utils.h                  | 1 +
 libc/src/stdio/printf_core/fixed_converter.h                  | 1 +
 libc/src/stdio/printf_core/float_dec_converter.h              | 1 +
 libc/src/stdio/printf_core/float_hex_converter.h              | 1 +
 libc/src/stdio/printf_core/float_inf_nan_converter.h          | 1 +
 libc/src/stdio/printf_core/int_converter.h                    | 1 +
 libc/src/stdio/printf_core/parser.h                           | 1 +
 libc/src/stdio/printf_core/printf_main.cpp                    | 1 +
 libc/src/stdio/printf_core/printf_main.h                      | 1 +
 libc/src/stdio/printf_core/ptr_converter.h                    | 1 +
 libc/src/stdio/printf_core/string_converter.h                 | 1 +
 libc/src/stdio/printf_core/vfprintf_internal.h                | 1 +
 libc/src/stdio/printf_core/write_int_converter.h              | 1 +
 libc/src/stdio/printf_core/writer.cpp                         | 1 +
 libc/src/stdio/printf_core/writer.h                           | 1 +
 libc/src/stdio/putc.h                                         | 1 +
 libc/src/stdio/putchar.h                                      | 2 ++
 libc/src/stdio/puts.h                                         | 2 ++
 libc/src/stdio/remove.h                                       | 1 +
 libc/src/stdio/rename.h                                       | 2 ++
 libc/src/stdio/scanf.cpp                                      | 1 +
 libc/src/stdio/scanf.h                                        | 2 ++
 libc/src/stdio/scanf_core/converter.cpp                       | 1 +
 libc/src/stdio/scanf_core/converter.h                         | 1 +
 libc/src/stdio/scanf_core/converter_utils.h                   | 1 +
 libc/src/stdio/scanf_core/core_structs.h                      | 1 +
 libc/src/stdio/scanf_core/current_pos_converter.h             | 1 +
 libc/src/stdio/scanf_core/float_converter.cpp                 | 1 +
 libc/src/stdio/scanf_core/float_converter.h                   | 1 +
 libc/src/stdio/scanf_core/int_converter.cpp                   | 1 +
 libc/src/stdio/scanf_core/int_converter.h                     | 1 +
 libc/src/stdio/scanf_core/parser.h                            | 1 +
 libc/src/stdio/scanf_core/ptr_converter.cpp                   | 1 +
 libc/src/stdio/scanf_core/ptr_converter.h                     | 1 +
 libc/src/stdio/scanf_core/reader.cpp                          | 1 +
 libc/src/stdio/scanf_core/reader.h                            | 1 +
 libc/src/stdio/scanf_core/scanf_main.cpp                      | 1 +
 libc/src/stdio/scanf_core/scanf_main.h                        | 1 +
 libc/src/stdio/scanf_core/string_converter.cpp                | 1 +
 libc/src/stdio/scanf_core/string_converter.h                  | 1 +
 libc/src/stdio/scanf_core/vfscanf_internal.h                  | 1 +
 libc/src/stdio/setbuf.cpp                                     | 1 +
 libc/src/stdio/setbuf.h                                       | 1 +
 libc/src/stdio/setvbuf.cpp                                    | 1 +
 libc/src/stdio/setvbuf.h                                      | 1 +
 libc/src/stdio/snprintf.cpp                                   | 1 +
 libc/src/stdio/snprintf.h                                     | 1 +
 libc/src/stdio/sprintf.cpp                                    | 1 +
 libc/src/stdio/sprintf.h                                      | 2 ++
 libc/src/stdio/sscanf.cpp                                     | 1 +
 libc/src/stdio/sscanf.h                                       | 2 ++
 libc/src/stdio/ungetc.h                                       | 1 +
 libc/src/stdio/vfprintf.cpp                                   | 1 +
 libc/src/stdio/vfprintf.h                                     | 1 +
 libc/src/stdio/vprintf.h                                      | 1 +
 libc/src/stdio/vsnprintf.cpp                                  | 1 +
 libc/src/stdio/vsnprintf.h                                    | 1 +
 libc/src/stdio/vsprintf.cpp                                   | 1 +
 libc/src/stdio/vsprintf.h                                     | 1 +
 libc/src/stdlib/_Exit.cpp                                     | 1 +
 libc/src/stdlib/_Exit.h                                       | 2 ++
 libc/src/stdlib/abort.h                                       | 2 ++
 libc/src/stdlib/abs.cpp                                       | 1 +
 libc/src/stdlib/abs.h                                         | 2 ++
 libc/src/stdlib/aligned_alloc.h                               | 1 +
 libc/src/stdlib/at_quick_exit.cpp                             | 1 +
 libc/src/stdlib/at_quick_exit.h                               | 1 +
 libc/src/stdlib/atexit.cpp                                    | 1 +
 libc/src/stdlib/atexit.h                                      | 2 ++
 libc/src/stdlib/atof.cpp                                      | 1 +
 libc/src/stdlib/atof.h                                        | 2 ++
 libc/src/stdlib/atoi.cpp                                      | 1 +
 libc/src/stdlib/atoi.h                                        | 2 ++
 libc/src/stdlib/atol.cpp                                      | 1 +
 libc/src/stdlib/atol.h                                        | 2 ++
 libc/src/stdlib/atoll.cpp                                     | 1 +
 libc/src/stdlib/atoll.h                                       | 2 ++
 libc/src/stdlib/baremetal/abort.cpp                           | 1 +
 libc/src/stdlib/bsearch.cpp                                   | 1 +
 libc/src/stdlib/bsearch.h                                     | 1 +
 libc/src/stdlib/calloc.h                                      | 1 +
 libc/src/stdlib/div.cpp                                       | 1 +
 libc/src/stdlib/div.h                                         | 1 +
 libc/src/stdlib/exit.cpp                                      | 1 +
 libc/src/stdlib/exit.h                                        | 1 +
 libc/src/stdlib/exit_handler.cpp                              | 1 +
 libc/src/stdlib/exit_handler.h                                | 1 +
 libc/src/stdlib/free.h                                        | 1 +
 libc/src/stdlib/freelist_malloc.cpp                           | 1 +
 libc/src/stdlib/getenv.cpp                                    | 1 +
 libc/src/stdlib/getenv.h                                      | 2 ++
 libc/src/stdlib/gpu/abort.cpp                                 | 1 +
 libc/src/stdlib/gpu/free.cpp                                  | 1 +
 libc/src/stdlib/gpu/malloc.cpp                                | 1 +
 libc/src/stdlib/labs.cpp                                      | 1 +
 libc/src/stdlib/labs.h                                        | 2 ++
 libc/src/stdlib/ldiv.cpp                                      | 1 +
 libc/src/stdlib/ldiv.h                                        | 1 +
 libc/src/stdlib/linux/abort.cpp                               | 1 +
 libc/src/stdlib/llabs.cpp                                     | 1 +
 libc/src/stdlib/llabs.h                                       | 2 ++
 libc/src/stdlib/lldiv.cpp                                     | 1 +
 libc/src/stdlib/lldiv.h                                       | 1 +
 libc/src/stdlib/malloc.h                                      | 1 +
 libc/src/stdlib/qsort.cpp                                     | 1 +
 libc/src/stdlib/qsort.h                                       | 1 +
 libc/src/stdlib/qsort_r.cpp                                   | 1 +
 libc/src/stdlib/qsort_r.h                                     | 1 +
 libc/src/stdlib/qsort_util.h                                  | 1 +
 libc/src/stdlib/quick_exit.cpp                                | 1 +
 libc/src/stdlib/quick_exit.h                                  | 2 ++
 libc/src/stdlib/rand.cpp                                      | 1 +
 libc/src/stdlib/rand.h                                        | 1 +
 libc/src/stdlib/rand_util.cpp                                 | 1 +
 libc/src/stdlib/rand_util.h                                   | 1 +
 libc/src/stdlib/realloc.h                                     | 1 +
 libc/src/stdlib/srand.cpp                                     | 1 +
 libc/src/stdlib/srand.h                                       | 1 +
 libc/src/stdlib/str_from_util.h                               | 1 +
 libc/src/stdlib/strfromd.cpp                                  | 1 +
 libc/src/stdlib/strfromd.h                                    | 1 +
 libc/src/stdlib/strfromf.cpp                                  | 1 +
 libc/src/stdlib/strfromf.h                                    | 1 +
 libc/src/stdlib/strfroml.cpp                                  | 1 +
 libc/src/stdlib/strfroml.h                                    | 1 +
 libc/src/stdlib/strtod.cpp                                    | 1 +
 libc/src/stdlib/strtod.h                                      | 2 ++
 libc/src/stdlib/strtof.cpp                                    | 1 +
 libc/src/stdlib/strtof.h                                      | 2 ++
 libc/src/stdlib/strtol.cpp                                    | 1 +
 libc/src/stdlib/strtol.h                                      | 2 ++
 libc/src/stdlib/strtold.cpp                                   | 1 +
 libc/src/stdlib/strtold.h                                     | 2 ++
 libc/src/stdlib/strtoll.cpp                                   | 1 +
 libc/src/stdlib/strtoll.h                                     | 2 ++
 libc/src/stdlib/strtoul.cpp                                   | 1 +
 libc/src/stdlib/strtoul.h                                     | 2 ++
 libc/src/stdlib/strtoull.cpp                                  | 1 +
 libc/src/stdlib/strtoull.h                                    | 2 ++
 libc/src/string/bcmp.cpp                                      | 1 +
 libc/src/string/bcmp.h                                        | 1 +
 libc/src/string/bcopy.cpp                                     | 1 +
 libc/src/string/bcopy.h                                       | 1 +
 libc/src/string/bzero.cpp                                     | 1 +
 libc/src/string/bzero.h                                       | 1 +
 libc/src/string/index.cpp                                     | 1 +
 libc/src/string/index.h                                       | 2 ++
 libc/src/string/memccpy.cpp                                   | 1 +
 libc/src/string/memccpy.h                                     | 1 +
 libc/src/string/memchr.cpp                                    | 1 +
 libc/src/string/memchr.h                                      | 1 +
 libc/src/string/memcmp.cpp                                    | 1 +
 libc/src/string/memcmp.h                                      | 1 +
 libc/src/string/memcpy.cpp                                    | 1 +
 libc/src/string/memcpy.h                                      | 1 +
 libc/src/string/memmem.cpp                                    | 1 +
 libc/src/string/memmem.h                                      | 1 +
 libc/src/string/memmove.cpp                                   | 1 +
 libc/src/string/memmove.h                                     | 1 +
 libc/src/string/memory_utils/aarch64/inline_bcmp.h            | 1 +
 libc/src/string/memory_utils/aarch64/inline_memset.h          | 1 +
 libc/src/string/memory_utils/generic/builtin.h                | 3 ++-
 libc/src/string/memory_utils/inline_bcmp.h                    | 1 +
 libc/src/string/memory_utils/inline_bzero.h                   | 1 +
 libc/src/string/memory_utils/inline_memmem.h                  | 1 +
 libc/src/string/memory_utils/inline_memmove.h                 | 1 +
 libc/src/string/memory_utils/inline_strcmp.h                  | 1 +
 libc/src/string/memory_utils/inline_strstr.h                  | 1 +
 libc/src/string/memory_utils/op_aarch64.h                     | 1 +
 libc/src/string/memory_utils/op_builtin.h                     | 1 +
 libc/src/string/memory_utils/op_generic.h                     | 1 +
 libc/src/string/memory_utils/op_riscv.h                       | 1 +
 libc/src/string/memory_utils/op_x86.h                         | 1 +
 libc/src/string/memory_utils/riscv/inline_bcmp.h              | 1 +
 libc/src/string/memory_utils/riscv/inline_memcmp.h            | 1 +
 libc/src/string/memory_utils/riscv/inline_memcpy.h            | 1 +
 libc/src/string/memory_utils/riscv/inline_memmove.h           | 1 +
 libc/src/string/memory_utils/riscv/inline_memset.h            | 1 +
 libc/src/string/memory_utils/utils.h                          | 1 +
 libc/src/string/memory_utils/x86_64/inline_bcmp.h             | 1 +
 libc/src/string/memory_utils/x86_64/inline_memset.h           | 1 +
 libc/src/string/mempcpy.cpp                                   | 1 +
 libc/src/string/mempcpy.h                                     | 1 +
 libc/src/string/memrchr.cpp                                   | 1 +
 libc/src/string/memrchr.h                                     | 1 +
 libc/src/string/memset.cpp                                    | 1 +
 libc/src/string/memset.h                                      | 1 +
 libc/src/string/memset_explicit.cpp                           | 1 +
 libc/src/string/memset_explicit.h                             | 1 +
 libc/src/string/rindex.cpp                                    | 1 +
 libc/src/string/rindex.h                                      | 2 ++
 libc/src/string/stpcpy.cpp                                    | 1 +
 libc/src/string/stpcpy.h                                      | 2 ++
 libc/src/string/stpncpy.cpp                                   | 1 +
 libc/src/string/stpncpy.h                                     | 1 +
 libc/src/string/strcasecmp.cpp                                | 1 +
 libc/src/string/strcasecmp.h                                  | 2 ++
 libc/src/string/strcasestr.cpp                                | 1 +
 libc/src/string/strcasestr.h                                  | 2 ++
 libc/src/string/strcat.cpp                                    | 1 +
 libc/src/string/strcat.h                                      | 1 +
 libc/src/string/strchr.cpp                                    | 1 +
 libc/src/string/strchr.h                                      | 2 ++
 libc/src/string/strchrnul.cpp                                 | 1 +
 libc/src/string/strchrnul.h                                   | 2 ++
 libc/src/string/strcmp.cpp                                    | 1 +
 libc/src/string/strcmp.h                                      | 2 ++
 libc/src/string/strcoll.cpp                                   | 1 +
 libc/src/string/strcoll.h                                     | 2 ++
 libc/src/string/strcpy.cpp                                    | 1 +
 libc/src/string/strcpy.h                                      | 1 +
 libc/src/string/strcspn.cpp                                   | 1 +
 libc/src/string/strcspn.h                                     | 1 +
 libc/src/string/strdup.cpp                                    | 1 +
 libc/src/string/strdup.h                                      | 1 +
 libc/src/string/strerror.cpp                                  | 1 +
 libc/src/string/strerror.h                                    | 2 ++
 libc/src/string/strerror_r.cpp                                | 1 +
 libc/src/string/strerror_r.h                                  | 1 +
 libc/src/string/string_utils.h                                | 1 +
 libc/src/string/strlcat.cpp                                   | 1 +
 libc/src/string/strlcat.h                                     | 1 +
 libc/src/string/strlcpy.cpp                                   | 1 +
 libc/src/string/strlcpy.h                                     | 1 +
 libc/src/string/strlen.cpp                                    | 1 +
 libc/src/string/strlen.h                                      | 1 +
 libc/src/string/strncasecmp.cpp                               | 1 +
 libc/src/string/strncasecmp.h                                 | 1 +
 libc/src/string/strncat.cpp                                   | 1 +
 libc/src/string/strncat.h                                     | 1 +
 libc/src/string/strncmp.cpp                                   | 1 +
 libc/src/string/strncmp.h                                     | 1 +
 libc/src/string/strncpy.cpp                                   | 1 +
 libc/src/string/strncpy.h                                     | 1 +
 libc/src/string/strndup.cpp                                   | 1 +
 libc/src/string/strndup.h                                     | 1 +
 libc/src/string/strnlen.cpp                                   | 1 +
 libc/src/string/strnlen.h                                     | 1 +
 libc/src/string/strpbrk.cpp                                   | 1 +
 libc/src/string/strpbrk.h                                     | 2 ++
 libc/src/string/strrchr.cpp                                   | 1 +
 libc/src/string/strrchr.h                                     | 2 ++
 libc/src/string/strsep.cpp                                    | 1 +
 libc/src/string/strsep.h                                      | 2 ++
 libc/src/string/strsignal.cpp                                 | 1 +
 libc/src/string/strsignal.h                                   | 2 ++
 libc/src/string/strspn.cpp                                    | 1 +
 libc/src/string/strspn.h                                      | 1 +
 libc/src/string/strstr.cpp                                    | 1 +
 libc/src/string/strstr.h                                      | 2 ++
 libc/src/string/strtok.cpp                                    | 1 +
 libc/src/string/strtok.h                                      | 2 ++
 libc/src/string/strtok_r.cpp                                  | 1 +
 libc/src/string/strtok_r.h                                    | 2 ++
 libc/src/string/strxfrm.cpp                                   | 1 +
 libc/src/string/strxfrm.h                                     | 1 +
 libc/src/sys/auxv/getauxval.h                                 | 1 +
 libc/src/sys/auxv/linux/getauxval.cpp                         | 1 +
 libc/src/sys/epoll/epoll_create.h                             | 2 ++
 libc/src/sys/epoll/epoll_create1.h                            | 2 ++
 libc/src/sys/epoll/epoll_ctl.h                                | 1 +
 libc/src/sys/epoll/epoll_pwait.h                              | 1 +
 libc/src/sys/epoll/epoll_pwait2.h                             | 1 +
 libc/src/sys/epoll/epoll_wait.h                               | 1 +
 libc/src/sys/epoll/linux/epoll_create.cpp                     | 1 +
 libc/src/sys/epoll/linux/epoll_create1.cpp                    | 1 +
 libc/src/sys/epoll/linux/epoll_ctl.cpp                        | 1 +
 libc/src/sys/epoll/linux/epoll_pwait.cpp                      | 1 +
 libc/src/sys/epoll/linux/epoll_pwait2.cpp                     | 1 +
 libc/src/sys/epoll/linux/epoll_wait.cpp                       | 1 +
 libc/src/sys/mman/linux/madvise.cpp                           | 1 +
 libc/src/sys/mman/linux/mincore.cpp                           | 1 +
 libc/src/sys/mman/linux/mlock.cpp                             | 1 +
 libc/src/sys/mman/linux/mlock2.cpp                            | 1 +
 libc/src/sys/mman/linux/mlockall.cpp                          | 1 +
 libc/src/sys/mman/linux/mmap.cpp                              | 1 +
 libc/src/sys/mman/linux/mprotect.cpp                          | 1 +
 libc/src/sys/mman/linux/msync.cpp                             | 1 +
 libc/src/sys/mman/linux/munlock.cpp                           | 1 +
 libc/src/sys/mman/linux/munlockall.cpp                        | 1 +
 libc/src/sys/mman/linux/munmap.cpp                            | 1 +
 libc/src/sys/mman/linux/posix_madvise.cpp                     | 1 +
 libc/src/sys/mman/linux/shm_common.h                          | 1 +
 libc/src/sys/mman/linux/shm_open.cpp                          | 1 +
 libc/src/sys/mman/linux/shm_unlink.cpp                        | 1 +
 libc/src/sys/mman/madvise.h                                   | 1 +
 libc/src/sys/mman/mincore.h                                   | 1 +
 libc/src/sys/mman/mlock.h                                     | 1 +
 libc/src/sys/mman/mlock2.h                                    | 1 +
 libc/src/sys/mman/mlockall.h                                  | 1 +
 libc/src/sys/mman/mmap.h                                      | 1 +
 libc/src/sys/mman/mprotect.h                                  | 1 +
 libc/src/sys/mman/msync.h                                     | 1 +
 libc/src/sys/mman/munlock.h                                   | 1 +
 libc/src/sys/mman/munlockall.h                                | 1 +
 libc/src/sys/mman/munmap.h                                    | 1 +
 libc/src/sys/mman/posix_madvise.h                             | 1 +
 libc/src/sys/mman/shm_open.h                                  | 1 +
 libc/src/sys/mman/shm_unlink.h                                | 2 ++
 libc/src/sys/prctl/linux/prctl.cpp                            | 1 +
 libc/src/sys/prctl/prctl.h                                    | 1 +
 libc/src/sys/random/getrandom.h                               | 1 +
 libc/src/sys/random/linux/getrandom.cpp                       | 1 +
 libc/src/sys/resource/getrlimit.h                             | 1 +
 libc/src/sys/resource/linux/getrlimit.cpp                     | 1 +
 libc/src/sys/resource/linux/setrlimit.cpp                     | 1 +
 libc/src/sys/resource/setrlimit.h                             | 1 +
 libc/src/sys/select/linux/select.cpp                          | 1 +
 libc/src/sys/select/select.h                                  | 1 +
 libc/src/sys/sendfile/linux/sendfile.cpp                      | 1 +
 libc/src/sys/sendfile/sendfile.h                              | 1 +
 libc/src/sys/socket/bind.h                                    | 1 +
 libc/src/sys/socket/linux/bind.cpp                            | 1 +
 libc/src/sys/socket/linux/socket.cpp                          | 1 +
 libc/src/sys/socket/socket.h                                  | 2 ++
 libc/src/sys/stat/chmod.h                                     | 1 +
 libc/src/sys/stat/fchmod.h                                    | 1 +
 libc/src/sys/stat/fchmodat.h                                  | 1 +
 libc/src/sys/stat/fstat.h                                     | 1 +
 libc/src/sys/stat/linux/chmod.cpp                             | 1 +
 libc/src/sys/stat/linux/fchmod.cpp                            | 1 +
 libc/src/sys/stat/linux/fchmodat.cpp                          | 1 +
 libc/src/sys/stat/linux/fstat.cpp                             | 1 +
 libc/src/sys/stat/linux/kernel_statx.h                        | 1 +
 libc/src/sys/stat/linux/lstat.cpp                             | 1 +
 libc/src/sys/stat/linux/mkdir.cpp                             | 1 +
 libc/src/sys/stat/linux/mkdirat.cpp                           | 1 +
 libc/src/sys/stat/linux/stat.cpp                              | 1 +
 libc/src/sys/stat/lstat.h                                     | 1 +
 libc/src/sys/stat/mkdir.h                                     | 1 +
 libc/src/sys/stat/mkdirat.h                                   | 1 +
 libc/src/sys/stat/stat.h                                      | 1 +
 libc/src/sys/statvfs/fstatvfs.h                               | 1 +
 libc/src/sys/statvfs/linux/fstatvfs.cpp                       | 1 +
 libc/src/sys/statvfs/linux/statfs_utils.h                     | 1 +
 libc/src/sys/statvfs/linux/statvfs.cpp                        | 1 +
 libc/src/sys/statvfs/statvfs.h                                | 1 +
 libc/src/sys/utsname/linux/uname.cpp                          | 1 +
 libc/src/sys/utsname/uname.h                                  | 1 +
 libc/src/sys/wait/linux/wait.cpp                              | 1 +
 libc/src/sys/wait/linux/wait4.cpp                             | 1 +
 libc/src/sys/wait/linux/waitpid.cpp                           | 1 +
 libc/src/sys/wait/wait.h                                      | 1 +
 libc/src/sys/wait/wait4.h                                     | 1 +
 libc/src/sys/wait/wait4Impl.h                                 | 1 +
 libc/src/sys/wait/waitpid.h                                   | 1 +
 libc/src/termios/cfgetispeed.h                                | 1 +
 libc/src/termios/cfgetospeed.h                                | 1 +
 libc/src/termios/cfsetispeed.h                                | 1 +
 libc/src/termios/cfsetospeed.h                                | 1 +
 libc/src/termios/linux/cfgetispeed.cpp                        | 1 +
 libc/src/termios/linux/cfgetospeed.cpp                        | 1 +
 libc/src/termios/linux/cfsetispeed.cpp                        | 1 +
 libc/src/termios/linux/cfsetospeed.cpp                        | 1 +
 libc/src/termios/linux/kernel_termios.h                       | 1 +
 libc/src/termios/linux/tcdrain.cpp                            | 1 +
 libc/src/termios/linux/tcflow.cpp                             | 1 +
 libc/src/termios/linux/tcflush.cpp                            | 1 +
 libc/src/termios/linux/tcgetattr.cpp                          | 1 +
 libc/src/termios/linux/tcgetsid.cpp                           | 1 +
 libc/src/termios/linux/tcsendbreak.cpp                        | 1 +
 libc/src/termios/linux/tcsetattr.cpp                          | 1 +
 libc/src/termios/tcdrain.h                                    | 1 +
 libc/src/termios/tcflow.h                                     | 1 +
 libc/src/termios/tcflush.h                                    | 1 +
 libc/src/termios/tcgetattr.h                                  | 1 +
 libc/src/termios/tcgetsid.h                                   | 1 +
 libc/src/termios/tcsendbreak.h                                | 1 +
 libc/src/termios/tcsetattr.h                                  | 1 +
 libc/src/threads/call_once.cpp                                | 1 +
 libc/src/threads/call_once.h                                  | 1 +
 libc/src/threads/cnd_broadcast.h                              | 1 +
 libc/src/threads/cnd_destroy.h                                | 1 +
 libc/src/threads/cnd_init.h                                   | 1 +
 libc/src/threads/cnd_signal.h                                 | 1 +
 libc/src/threads/cnd_wait.h                                   | 1 +
 libc/src/threads/linux/Futex.h                                | 1 +
 libc/src/threads/linux/cnd_broadcast.cpp                      | 1 +
 libc/src/threads/linux/cnd_destroy.cpp                        | 1 +
 libc/src/threads/linux/cnd_init.cpp                           | 1 +
 libc/src/threads/linux/cnd_signal.cpp                         | 1 +
 libc/src/threads/linux/cnd_wait.cpp                           | 1 +
 libc/src/threads/mtx_destroy.cpp                              | 1 +
 libc/src/threads/mtx_destroy.h                                | 1 +
 libc/src/threads/mtx_init.cpp                                 | 1 +
 libc/src/threads/mtx_init.h                                   | 1 +
 libc/src/threads/mtx_lock.cpp                                 | 1 +
 libc/src/threads/mtx_lock.h                                   | 1 +
 libc/src/threads/mtx_unlock.cpp                               | 1 +
 libc/src/threads/mtx_unlock.h                                 | 1 +
 libc/src/threads/thrd_create.cpp                              | 1 +
 libc/src/threads/thrd_create.h                                | 1 +
 libc/src/threads/thrd_current.cpp                             | 1 +
 libc/src/threads/thrd_current.h                               | 1 +
 libc/src/threads/thrd_detach.cpp                              | 1 +
 libc/src/threads/thrd_detach.h                                | 1 +
 libc/src/threads/thrd_equal.cpp                               | 1 +
 libc/src/threads/thrd_equal.h                                 | 1 +
 libc/src/threads/thrd_exit.cpp                                | 1 +
 libc/src/threads/thrd_exit.h                                  | 1 +
 libc/src/threads/thrd_join.cpp                                | 1 +
 libc/src/threads/thrd_join.h                                  | 1 +
 libc/src/threads/tss_create.cpp                               | 1 +
 libc/src/threads/tss_create.h                                 | 1 +
 libc/src/threads/tss_delete.cpp                               | 1 +
 libc/src/threads/tss_delete.h                                 | 1 +
 libc/src/threads/tss_get.cpp                                  | 1 +
 libc/src/threads/tss_get.h                                    | 1 +
 libc/src/threads/tss_set.cpp                                  | 1 +
 libc/src/threads/tss_set.h                                    | 1 +
 libc/src/time/asctime.cpp                                     | 1 +
 libc/src/time/asctime.h                                       | 1 +
 libc/src/time/asctime_r.cpp                                   | 1 +
 libc/src/time/asctime_r.h                                     | 1 +
 libc/src/time/clock.h                                         | 1 +
 libc/src/time/clock_gettime.h                                 | 1 +
 libc/src/time/difftime.cpp                                    | 1 +
 libc/src/time/difftime.h                                      | 1 +
 libc/src/time/gettimeofday.h                                  | 1 +
 libc/src/time/gmtime.cpp                                      | 1 +
 libc/src/time/gmtime.h                                        | 1 +
 libc/src/time/gmtime_r.cpp                                    | 1 +
 libc/src/time/gmtime_r.h                                      | 1 +
 libc/src/time/gpu/clock.cpp                                   | 1 +
 libc/src/time/gpu/nanosleep.cpp                               | 1 +
 libc/src/time/gpu/time_utils.cpp                              | 1 +
 libc/src/time/gpu/time_utils.h                                | 2 ++
 libc/src/time/linux/clock.cpp                                 | 1 +
 libc/src/time/linux/clock_gettime.cpp                         | 1 +
 libc/src/time/linux/gettimeofday.cpp                          | 1 +
 libc/src/time/linux/nanosleep.cpp                             | 1 +
 libc/src/time/linux/time.cpp                                  | 1 +
 libc/src/time/mktime.cpp                                      | 1 +
 libc/src/time/mktime.h                                        | 1 +
 libc/src/time/nanosleep.h                                     | 1 +
 libc/src/time/time_func.h                                     | 1 +
 libc/src/time/time_utils.cpp                                  | 1 +
 libc/src/time/time_utils.h                                    | 1 +
 libc/src/unistd/_exit.cpp                                     | 1 +
 libc/src/unistd/_exit.h                                       | 2 ++
 libc/src/unistd/access.h                                      | 2 ++
 libc/src/unistd/chdir.h                                       | 2 ++
 libc/src/unistd/close.h                                       | 2 ++
 libc/src/unistd/dup.h                                         | 1 +
 libc/src/unistd/dup2.h                                        | 1 +
 libc/src/unistd/dup3.h                                        | 1 +
 libc/src/unistd/environ.cpp                                   | 2 ++
 libc/src/unistd/environ.h                                     | 2 ++
 libc/src/unistd/execv.h                                       | 2 ++
 libc/src/unistd/execve.h                                      | 2 ++
 libc/src/unistd/fchdir.h                                      | 2 ++
 libc/src/unistd/fork.h                                        | 1 +
 libc/src/unistd/fpathconf.h                                   | 2 ++
 libc/src/unistd/fsync.h                                       | 2 ++
 libc/src/unistd/ftruncate.h                                   | 1 +
 libc/src/unistd/getcwd.h                                      | 1 +
 libc/src/unistd/geteuid.h                                     | 1 +
 libc/src/unistd/getopt.cpp                                    | 1 +
 libc/src/unistd/getopt.h                                      | 1 +
 libc/src/unistd/getpid.h                                      | 1 +
 libc/src/unistd/getppid.h                                     | 1 +
 libc/src/unistd/getuid.h                                      | 1 +
 libc/src/unistd/isatty.h                                      | 1 +
 libc/src/unistd/link.h                                        | 1 +
 libc/src/unistd/linkat.h                                      | 2 ++
 libc/src/unistd/linux/access.cpp                              | 1 +
 libc/src/unistd/linux/chdir.cpp                               | 1 +
 libc/src/unistd/linux/close.cpp                               | 1 +
 libc/src/unistd/linux/dup.cpp                                 | 1 +
 libc/src/unistd/linux/dup2.cpp                                | 1 +
 libc/src/unistd/linux/dup3.cpp                                | 1 +
 libc/src/unistd/linux/execv.cpp                               | 1 +
 libc/src/unistd/linux/execve.cpp                              | 1 +
 libc/src/unistd/linux/fchdir.cpp                              | 1 +
 libc/src/unistd/linux/fork.cpp                                | 1 +
 libc/src/unistd/linux/fpathconf.cpp                           | 1 +
 libc/src/unistd/linux/fsync.cpp                               | 1 +
 libc/src/unistd/linux/ftruncate.cpp                           | 1 +
 libc/src/unistd/linux/getcwd.cpp                              | 1 +
 libc/src/unistd/linux/geteuid.cpp                             | 1 +
 libc/src/unistd/linux/getpid.cpp                              | 1 +
 libc/src/unistd/linux/getppid.cpp                             | 1 +
 libc/src/unistd/linux/getuid.cpp                              | 1 +
 libc/src/unistd/linux/isatty.cpp                              | 1 +
 libc/src/unistd/linux/link.cpp                                | 1 +
 libc/src/unistd/linux/linkat.cpp                              | 1 +
 libc/src/unistd/linux/lseek.cpp                               | 1 +
 libc/src/unistd/linux/pathconf.cpp                            | 1 +
 libc/src/unistd/linux/pathconf_utils.cpp                      | 1 +
 libc/src/unistd/linux/pathconf_utils.h                        | 1 +
 libc/src/unistd/linux/pipe.cpp                                | 1 +
 libc/src/unistd/linux/pread.cpp                               | 1 +
 libc/src/unistd/linux/pwrite.cpp                              | 1 +
 libc/src/unistd/linux/read.cpp                                | 1 +
 libc/src/unistd/linux/readlink.cpp                            | 1 +
 libc/src/unistd/linux/readlinkat.cpp                          | 1 +
 libc/src/unistd/linux/rmdir.cpp                               | 1 +
 libc/src/unistd/linux/symlink.cpp                             | 1 +
 libc/src/unistd/linux/symlinkat.cpp                           | 1 +
 libc/src/unistd/linux/syscall.cpp                             | 1 +
 libc/src/unistd/linux/sysconf.cpp                             | 1 +
 libc/src/unistd/linux/truncate.cpp                            | 1 +
 libc/src/unistd/linux/unlink.cpp                              | 1 +
 libc/src/unistd/linux/unlinkat.cpp                            | 1 +
 libc/src/unistd/linux/write.cpp                               | 1 +
 libc/src/unistd/lseek.h                                       | 1 +
 libc/src/unistd/pathconf.h                                    | 2 ++
 libc/src/unistd/pipe.h                                        | 2 ++
 libc/src/unistd/pread.h                                       | 1 +
 libc/src/unistd/pwrite.h                                      | 1 +
 libc/src/unistd/read.h                                        | 1 +
 libc/src/unistd/readlink.h                                    | 1 +
 libc/src/unistd/readlinkat.h                                  | 1 +
 libc/src/unistd/rmdir.h                                       | 2 ++
 libc/src/unistd/swab.cpp                                      | 1 +
 libc/src/unistd/swab.h                                        | 1 +
 libc/src/unistd/symlink.h                                     | 1 +
 libc/src/unistd/symlinkat.h                                   | 1 +
 libc/src/unistd/syscall.h                                     | 1 +
 libc/src/unistd/sysconf.h                                     | 1 +
 libc/src/unistd/truncate.h                                    | 1 +
 libc/src/unistd/unlink.h                                      | 2 ++
 libc/src/unistd/unlinkat.h                                    | 2 ++
 libc/src/unistd/write.h                                       | 1 +
 libc/src/wchar/btowc.cpp                                      | 1 +
 libc/src/wchar/btowc.h                                        | 1 +
 libc/src/wchar/wctob.cpp                                      | 1 +
 libc/src/wchar/wctob.h                                        | 1 +
 libc/startup/baremetal/fini.cpp                               | 1 +
 libc/startup/baremetal/init.cpp                               | 1 +
 libc/startup/gpu/amdgpu/start.cpp                             | 1 +
 libc/startup/gpu/nvptx/start.cpp                              | 1 +
 libc/startup/linux/aarch64/tls.cpp                            | 1 +
 libc/startup/linux/do_start.cpp                               | 1 +
 libc/startup/linux/do_start.h                                 | 1 +
 libc/startup/linux/riscv/tls.cpp                              | 1 +
 libc/startup/linux/x86_64/tls.cpp                             | 1 +
 libc/test/IntegrationTest/test.cpp                            | 1 +
 libc/test/UnitTest/BazelFilePath.cpp                          | 1 +
 libc/test/UnitTest/CmakeFilePath.cpp                          | 1 +
 libc/test/UnitTest/ErrnoSetterMatcher.h                       | 1 +
 libc/test/UnitTest/ExecuteFunction.h                          | 1 +
 libc/test/UnitTest/ExecuteFunctionUnix.cpp                    | 1 +
 libc/test/UnitTest/FEnvSafeTest.cpp                           | 1 +
 libc/test/UnitTest/FEnvSafeTest.h                             | 1 +
 libc/test/UnitTest/FPExceptMatcher.cpp                        | 1 +
 libc/test/UnitTest/FPExceptMatcher.h                          | 1 +
 libc/test/UnitTest/FPMatcher.h                                | 1 +
 libc/test/UnitTest/GTest.h                                    | 1 +
 libc/test/UnitTest/HermeticTestUtils.cpp                      | 1 +
 libc/test/UnitTest/LibcDeathTestExecutors.cpp                 | 1 +
 libc/test/UnitTest/LibcTest.cpp                               | 1 +
 libc/test/UnitTest/LibcTest.h                                 | 1 +
 libc/test/UnitTest/MemoryMatcher.cpp                          | 1 +
 libc/test/UnitTest/MemoryMatcher.h                            | 1 +
 libc/test/UnitTest/PrintfMatcher.cpp                          | 1 +
 libc/test/UnitTest/PrintfMatcher.h                            | 1 +
 libc/test/UnitTest/RoundingModeUtils.cpp                      | 1 +
 libc/test/UnitTest/RoundingModeUtils.h                        | 1 +
 libc/test/UnitTest/ScanfMatcher.cpp                           | 1 +
 libc/test/UnitTest/ScanfMatcher.h                             | 1 +
 libc/test/UnitTest/StringUtils.h                              | 1 +
 libc/test/UnitTest/TestLogger.cpp                             | 1 +
 libc/test/UnitTest/TestLogger.h                               | 2 ++
 libc/test/UnitTest/ZxTest.h                                   | 1 +
 libc/test/include/sys/queue_test.cpp                          | 1 +
 libc/test/integration/src/pthread/pthread_rwlock_test.cpp     | 1 +
 libc/test/src/__support/CPP/algorithm_test.cpp                | 1 +
 libc/test/src/__support/CPP/bit_test.cpp                      | 1 +
 libc/test/src/__support/CPP/cstddef_test.cpp                  | 1 +
 libc/test/src/__support/CPP/limits_test.cpp                   | 1 +
 libc/test/src/__support/CPP/type_traits_test.cpp              | 1 +
 libc/test/src/__support/HashTable/bitmask_test.cpp            | 1 +
 libc/test/src/__support/HashTable/group_test.cpp              | 1 +
 libc/test/src/__support/HashTable/table_test.cpp              | 1 +
 libc/test/src/__support/big_int_test.cpp                      | 1 +
 libc/test/src/__support/endian_test.cpp                       | 1 +
 libc/test/src/__support/freelist_heap_test.cpp                | 1 +
 libc/test/src/__support/math_extras_test.cpp                  | 1 +
 libc/test/src/__support/memory_size_test.cpp                  | 1 +
 libc/test/src/__support/str_to_double_test.cpp                | 1 +
 libc/test/src/__support/str_to_float_test.cpp                 | 1 +
 libc/test/src/__support/str_to_fp_test.h                      | 1 +
 libc/test/src/__support/str_to_long_double_test.cpp           | 1 +
 .../src/math/performance_testing/BinaryOpSingleOutputPerf.h   | 1 +
 .../math/performance_testing/SingleInputSingleOutputPerf.h    | 1 +
 libc/test/src/math/performance_testing/Timer.cpp              | 1 +
 libc/test/src/math/performance_testing/Timer.h                | 1 +
 libc/test/src/math/sdcomp26094.h                              | 1 +
 libc/test/src/stdio/sprintf_test.cpp                          | 1 +
 libc/test/src/stdlib/strtoint32_test.cpp                      | 1 +
 libc/test/src/stdlib/strtoint64_test.cpp                      | 1 +
 libc/test/src/string/bcmp_test.cpp                            | 1 +
 libc/test/src/string/bcopy_test.cpp                           | 1 +
 libc/test/src/string/bzero_test.cpp                           | 1 +
 libc/test/src/string/memcmp_test.cpp                          | 1 +
 libc/test/src/string/memcpy_test.cpp                          | 1 +
 libc/test/src/string/memmem_test.cpp                          | 1 +
 libc/test/src/string/memmove_test.cpp                         | 1 +
 libc/test/src/string/memory_utils/memory_check_utils.h        | 1 +
 libc/test/src/string/memory_utils/op_tests.cpp                | 1 +
 libc/test/src/string/memory_utils/utils_test.cpp              | 1 +
 libc/test/src/string/memset_explicit_test.cpp                 | 1 +
 libc/test/src/string/memset_test.cpp                          | 1 +
 libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp             | 1 +
 libc/test/src/sys/statvfs/linux/statvfs_test.cpp              | 1 +
 libc/test/src/time/TmHelper.h                                 | 1 +
 libc/test/src/time/TmMatcher.h                                | 1 +
 libc/utils/MPFRWrapper/MPFRUtils.cpp                          | 1 +
 libc/utils/MPFRWrapper/MPFRUtils.h                            | 1 +
 2302 files changed, 2687 insertions(+), 7 deletions(-)

diff --git a/libc/benchmarks/LibcDefaultImplementations.cpp b/libc/benchmarks/LibcDefaultImplementations.cpp
index d19c4403329de..1ff940afcc44f 100644
--- a/libc/benchmarks/LibcDefaultImplementations.cpp
+++ b/libc/benchmarks/LibcDefaultImplementations.cpp
@@ -1,4 +1,5 @@
 #include "LibcFunctionPrototypes.h"
+#include "src/__support/macros/config.h"
 #include "llvm/ADT/ArrayRef.h"
 #include <cstddef>
 
diff --git a/libc/benchmarks/LibcMemoryBenchmarkMain.cpp b/libc/benchmarks/LibcMemoryBenchmarkMain.cpp
index ab2d763a4f7a2..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"
diff --git a/libc/benchmarks/automemcpy/lib/CodeGen.cpp b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
index 1563c9be14ed2..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>
diff --git a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
index 77c094d893b48..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>
diff --git a/libc/benchmarks/gpu/BenchmarkLogger.cpp b/libc/benchmarks/gpu/BenchmarkLogger.cpp
index 5c7608d6b662d..0d644fa3c37bc 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.cpp
+++ b/libc/benchmarks/gpu/BenchmarkLogger.cpp
@@ -3,6 +3,7 @@
 #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"
 
diff --git a/libc/benchmarks/gpu/BenchmarkLogger.h b/libc/benchmarks/gpu/BenchmarkLogger.h
index 5685c9dd65908..2b22aba085f86 100644
--- a/libc/benchmarks/gpu/BenchmarkLogger.h
+++ b/libc/benchmarks/gpu/BenchmarkLogger.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
 #define LLVM_LIBC_BENCHMARKS_GPU_BENCHMARKLOGGER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace benchmarks {
 
diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
index 1daee0324d8ed..1c1ba7639d0b1 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp
@@ -5,6 +5,7 @@
 #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_DECL {
diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.h b/libc/benchmarks/gpu/LibcGpuBenchmark.h
index 91a1c158beca3..26cb0fd30bc1c 100644
--- a/libc/benchmarks/gpu/LibcGpuBenchmark.h
+++ b/libc/benchmarks/gpu/LibcGpuBenchmark.h
@@ -6,6 +6,7 @@
 #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>
diff --git a/libc/config/linux/app.h b/libc/config/linux/app.h
index 28bd010f1e6eb..188d34816454b 100644
--- a/libc/config/linux/app.h
+++ b/libc/config/linux/app.h
@@ -9,6 +9,7 @@
 #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>
diff --git a/libc/fuzzing/__support/hashtable_fuzz.cpp b/libc/fuzzing/__support/hashtable_fuzz.cpp
index 8a6d7fd52fd36..7d61e106c9c4a 100644
--- a/libc/fuzzing/__support/hashtable_fuzz.cpp
+++ b/libc/fuzzing/__support/hashtable_fuzz.cpp
@@ -12,6 +12,7 @@
 #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_DECL {
 
diff --git a/libc/src/__support/CPP/algorithm.h b/libc/src/__support/CPP/algorithm.h
index 6ca4ce06a0e26..f5dc9067409eb 100644
--- a/libc/src/__support/CPP/algorithm.h
+++ b/libc/src/__support/CPP/algorithm.h
@@ -13,6 +13,7 @@
 #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_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/array.h b/libc/src/__support/CPP/array.h
index 8cd5cc1133da2..db0a986b71205 100644
--- a/libc/src/__support/CPP/array.h
+++ b/libc/src/__support/CPP/array.h
@@ -11,6 +11,7 @@
 
 #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_DECL {
diff --git a/libc/src/__support/CPP/atomic.h b/libc/src/__support/CPP/atomic.h
index 70cff09a2c511..72e7f2adde6a4 100644
--- a/libc/src/__support/CPP/atomic.h
+++ b/libc/src/__support/CPP/atomic.h
@@ -10,6 +10,7 @@
 #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"
diff --git a/libc/src/__support/CPP/bit.h b/libc/src/__support/CPP/bit.h
index 47f3793bc2112..adcd0472747d0 100644
--- a/libc/src/__support/CPP/bit.h
+++ b/libc/src/__support/CPP/bit.h
@@ -14,6 +14,7 @@
 #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>
diff --git a/libc/src/__support/CPP/bitset.h b/libc/src/__support/CPP/bitset.h
index 58d1827ea2ca7..db193f414abd2 100644
--- a/libc/src/__support/CPP/bitset.h
+++ b/libc/src/__support/CPP/bitset.h
@@ -10,6 +10,7 @@
 #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_DECL {
diff --git a/libc/src/__support/CPP/cstddef.h b/libc/src/__support/CPP/cstddef.h
index 5a0a075b9c69b..ed6c9d03362f4 100644
--- a/libc/src/__support/CPP/cstddef.h
+++ b/libc/src/__support/CPP/cstddef.h
@@ -10,6 +10,7 @@
 #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_DECL {
diff --git a/libc/src/__support/CPP/expected.h b/libc/src/__support/CPP/expected.h
index 8816fe14e9aa6..8a93091f0ebfb 100644
--- a/libc/src/__support/CPP/expected.h
+++ b/libc/src/__support/CPP/expected.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_EXPECTED_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/functional.h b/libc/src/__support/CPP/functional.h
index 1d03ed8c2bdb5..50cfa256b6682 100644
--- a/libc/src/__support/CPP/functional.h
+++ b/libc/src/__support/CPP/functional.h
@@ -17,6 +17,7 @@
 #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>
 
diff --git a/libc/src/__support/CPP/iterator.h b/libc/src/__support/CPP/iterator.h
index 3488dc64d1559..168a269731822 100644
--- a/libc/src/__support/CPP/iterator.h
+++ b/libc/src/__support/CPP/iterator.h
@@ -13,6 +13,7 @@
 #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_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/limits.h b/libc/src/__support/CPP/limits.h
index 6b8c28770c781..686abcaea9880 100644
--- a/libc/src/__support/CPP/limits.h
+++ b/libc/src/__support/CPP/limits.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/type_traits/is_integral.h"
 #include "src/__support/CPP/type_traits/is_signed.h"
 #include "src/__support/macros/attributes.h"       // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/mutex.h b/libc/src/__support/CPP/mutex.h
index c6f02be50981b..8a3102426e2d6 100644
--- a/libc/src/__support/CPP/mutex.h
+++ b/libc/src/__support/CPP/mutex.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_CPP_MUTEX_H
 #define LLVM_LIBC_SRC___SUPPORT_CPP_MUTEX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
diff --git a/libc/src/__support/CPP/new.h b/libc/src/__support/CPP/new.h
index 024fe7e381501..94a8466a39677 100644
--- a/libc/src/__support/CPP/new.h
+++ b/libc/src/__support/CPP/new.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_NEW_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // For size_t
 #include <stdlib.h> // For malloc, free etc.
diff --git a/libc/src/__support/CPP/optional.h b/libc/src/__support/CPP/optional.h
index f179425d24c1c..aed2269db1b11 100644
--- a/libc/src/__support/CPP/optional.h
+++ b/libc/src/__support/CPP/optional.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/CPP/utility.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/span.h b/libc/src/__support/CPP/span.h
index 444be9c64c9fb..e9e3dbf169ce0 100644
--- a/libc/src/__support/CPP/span.h
+++ b/libc/src/__support/CPP/span.h
@@ -11,6 +11,7 @@
 #include <stddef.h> // For size_t
 
 #include "array.h"       // For array
+#include "src/__support/macros/config.h"
 #include "type_traits.h" // For remove_cv_t, enable_if_t, is_same_v, is_const_v
 
 #include "src/__support/macros/attributes.h"
diff --git a/libc/src/__support/CPP/string.h b/libc/src/__support/CPP/string.h
index 2b7514b87d956..64d4c276e8428 100644
--- a/libc/src/__support/CPP/string.h
+++ b/libc/src/__support/CPP/string.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/integer_to_string.h" // IntegerToString
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/memory_utils/inline_memset.h"
 #include "src/string/string_utils.h" // string_length
diff --git a/libc/src/__support/CPP/string_view.h b/libc/src/__support/CPP/string_view.h
index 64d88b9e080d7..88f5270c3170a 100644
--- a/libc/src/__support/CPP/string_view.h
+++ b/libc/src/__support/CPP/string_view.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_STRING_VIEW_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/__support/CPP/stringstream.h b/libc/src/__support/CPP/stringstream.h
index ff7f9c34cea40..a16084c848688 100644
--- a/libc/src/__support/CPP/stringstream.h
+++ b/libc/src/__support/CPP/stringstream.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_STRINGSTREAM_H
 
 #include "span.h"
+#include "src/__support/macros/config.h"
 #include "string_view.h"
 #include "type_traits.h"
 
diff --git a/libc/src/__support/CPP/type_traits/add_lvalue_reference.h b/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
index 428c4578c8299..6f5fc6b0a4be1 100644
--- a/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/add_lvalue_reference.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/add_pointer.h b/libc/src/__support/CPP/type_traits/add_pointer.h
index c9d678e6f155e..2568a35653edc 100644
--- a/libc/src/__support/CPP/type_traits/add_pointer.h
+++ b/libc/src/__support/CPP/type_traits/add_pointer.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/add_rvalue_reference.h b/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
index babb81b3f23f8..f51ebf46d7c8b 100644
--- a/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/add_rvalue_reference.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/aligned_storage.h b/libc/src/__support/CPP/type_traits/aligned_storage.h
index edb789e12747d..69ad4cc8478e2 100644
--- a/libc/src/__support/CPP/type_traits/aligned_storage.h
+++ b/libc/src/__support/CPP/type_traits/aligned_storage.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ALIGNED_STORAGE_H
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ALIGNED_STORAGE_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/always_false.h b/libc/src/__support/CPP/type_traits/always_false.h
index 35bb0603a5e3b..218eb9d577ec3 100644
--- a/libc/src/__support/CPP/type_traits/always_false.h
+++ b/libc/src/__support/CPP/type_traits/always_false.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ALWAYS_FALSE_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/bool_constant.h b/libc/src/__support/CPP/type_traits/bool_constant.h
index 03ca52bc64e9c..e61a81a84b0f8 100644
--- a/libc/src/__support/CPP/type_traits/bool_constant.h
+++ b/libc/src/__support/CPP/type_traits/bool_constant.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_BOOL_CONSTANT_H
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/conditional.h b/libc/src/__support/CPP/type_traits/conditional.h
index a1b3c01bfd5ee..effcda02da1a1 100644
--- a/libc/src/__support/CPP/type_traits/conditional.h
+++ b/libc/src/__support/CPP/type_traits/conditional.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_CONDITIONAL_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/decay.h b/libc/src/__support/CPP/type_traits/decay.h
index 50280812e0480..c07e9e8557787 100644
--- a/libc/src/__support/CPP/type_traits/decay.h
+++ b/libc/src/__support/CPP/type_traits/decay.h
@@ -17,6 +17,7 @@
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/CPP/type_traits/remove_extent.h"
 #include "src/__support/CPP/type_traits/remove_reference.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/enable_if.h b/libc/src/__support/CPP/type_traits/enable_if.h
index b74e139c15695..a2ce2037eb964 100644
--- a/libc/src/__support/CPP/type_traits/enable_if.h
+++ b/libc/src/__support/CPP/type_traits/enable_if.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_ENABLE_IF_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/false_type.h b/libc/src/__support/CPP/type_traits/false_type.h
index 5ff01186ad219..65934b96bab06 100644
--- a/libc/src/__support/CPP/type_traits/false_type.h
+++ b/libc/src/__support/CPP/type_traits/false_type.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_FALSE_TYPE_H
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/integral_constant.h b/libc/src/__support/CPP/type_traits/integral_constant.h
index 3b5c928897371..931a9b98a64ca 100644
--- a/libc/src/__support/CPP/type_traits/integral_constant.h
+++ b/libc/src/__support/CPP/type_traits/integral_constant.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_INTEGRAL_CONSTANT_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE_VAR
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/invoke.h b/libc/src/__support/CPP/type_traits/invoke.h
index 8f29cb7f9fc41..e4d9be74d12df 100644
--- a/libc/src/__support/CPP/type_traits/invoke.h
+++ b/libc/src/__support/CPP/type_traits/invoke.h
@@ -17,6 +17,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/CPP/utility/forward.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/invoke_result.h b/libc/src/__support/CPP/type_traits/invoke_result.h
index 257c012122e0c..71d848b77fd27 100644
--- a/libc/src/__support/CPP/type_traits/invoke_result.h
+++ b/libc/src/__support/CPP/type_traits/invoke_result.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/invoke.h"
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/CPP/utility/declval.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_arithmetic.h b/libc/src/__support/CPP/type_traits/is_arithmetic.h
index 3f9366753c3de..33671b0def431 100644
--- a/libc/src/__support/CPP/type_traits/is_arithmetic.h
+++ b/libc/src/__support/CPP/type_traits/is_arithmetic.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/is_floating_point.h"
 #include "src/__support/CPP/type_traits/is_integral.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_array.h b/libc/src/__support/CPP/type_traits/is_array.h
index ed0078f697e02..f0ab100fd5c73 100644
--- a/libc/src/__support/CPP/type_traits/is_array.h
+++ b/libc/src/__support/CPP/type_traits/is_array.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // For size_t
 
diff --git a/libc/src/__support/CPP/type_traits/is_base_of.h b/libc/src/__support/CPP/type_traits/is_base_of.h
index a8ff5783b2ccb..2efd1bf3f1aff 100644
--- a/libc/src/__support/CPP/type_traits/is_base_of.h
+++ b/libc/src/__support/CPP/type_traits/is_base_of.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/type_traits/remove_all_extents.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_class.h b/libc/src/__support/CPP/type_traits/is_class.h
index d8ab3433fbe26..fe12f7d2763cf 100644
--- a/libc/src/__support/CPP/type_traits/is_class.h
+++ b/libc/src/__support/CPP/type_traits/is_class.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/is_union.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_const.h b/libc/src/__support/CPP/type_traits/is_const.h
index e78f0680f229a..b8e60f79a6684 100644
--- a/libc/src/__support/CPP/type_traits/is_const.h
+++ b/libc/src/__support/CPP/type_traits/is_const.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_constant_evaluated.h b/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
index cfbd9f8f8db38..0bb2d0806cb0d 100644
--- a/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
+++ b/libc/src/__support/CPP/type_traits/is_constant_evaluated.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_convertible.h b/libc/src/__support/CPP/type_traits/is_convertible.h
index 84b1986ce920d..a9f94cbb95a2a 100644
--- a/libc/src/__support/CPP/type_traits/is_convertible.h
+++ b/libc/src/__support/CPP/type_traits/is_convertible.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_void.h"
 #include "src/__support/CPP/utility/declval.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_destructible.h b/libc/src/__support/CPP/type_traits/is_destructible.h
index f69d121cc1586..830f22efafa52 100644
--- a/libc/src/__support/CPP/type_traits/is_destructible.h
+++ b/libc/src/__support/CPP/type_traits/is_destructible.h
@@ -16,6 +16,7 @@
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/CPP/type_traits/type_identity.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_enum.h b/libc/src/__support/CPP/type_traits/is_enum.h
index a621c227fad90..623ae072aff68 100644
--- a/libc/src/__support/CPP/type_traits/is_enum.h
+++ b/libc/src/__support/CPP/type_traits/is_enum.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_fixed_point.h b/libc/src/__support/CPP/type_traits/is_fixed_point.h
index 7c21c161e1bd3..9df2a7727c961 100644
--- a/libc/src/__support/CPP/type_traits/is_fixed_point.h
+++ b/libc/src/__support/CPP/type_traits/is_fixed_point.h
@@ -13,6 +13,7 @@
 #include "src/__support/macros/attributes.h"
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_floating_point.h b/libc/src/__support/CPP/type_traits/is_floating_point.h
index 2c16e98429e4b..11ffbfabe60b6 100644
--- a/libc/src/__support/CPP/type_traits/is_floating_point.h
+++ b/libc/src/__support/CPP/type_traits/is_floating_point.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_FLOAT128
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/is_function.h b/libc/src/__support/CPP/type_traits/is_function.h
index 3a9ef7f2f2a39..f7717f0a4dcd6 100644
--- a/libc/src/__support/CPP/type_traits/is_function.h
+++ b/libc/src/__support/CPP/type_traits/is_function.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/is_const.h"
 #include "src/__support/CPP/type_traits/is_reference.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_integral.h b/libc/src/__support/CPP/type_traits/is_integral.h
index f27b6799864b6..96ba09a07ddc6 100644
--- a/libc/src/__support/CPP/type_traits/is_integral.h
+++ b/libc/src/__support/CPP/type_traits/is_integral.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/is_lvalue_reference.h b/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
index 476a2711e8a84..e0bfbebdaa296 100644
--- a/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_lvalue_reference.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_member_pointer.h b/libc/src/__support/CPP/type_traits/is_member_pointer.h
index 29093b4b5c96a..f44567003959c 100644
--- a/libc/src/__support/CPP/type_traits/is_member_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_member_pointer.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_null_pointer.h b/libc/src/__support/CPP/type_traits/is_null_pointer.h
index 8cdd81e89e318..acf341311be06 100644
--- a/libc/src/__support/CPP/type_traits/is_null_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_null_pointer.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_object.h b/libc/src/__support/CPP/type_traits/is_object.h
index b9b718eabcf11..16799fb8f25f6 100644
--- a/libc/src/__support/CPP/type_traits/is_object.h
+++ b/libc/src/__support/CPP/type_traits/is_object.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/type_traits/is_scalar.h"
 #include "src/__support/CPP/type_traits/is_union.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_pointer.h b/libc/src/__support/CPP/type_traits/is_pointer.h
index ad14974dc3ce5..606c8e9e8c0fb 100644
--- a/libc/src/__support/CPP/type_traits/is_pointer.h
+++ b/libc/src/__support/CPP/type_traits/is_pointer.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_reference.h b/libc/src/__support/CPP/type_traits/is_reference.h
index c6e7ea030bb88..12da81778fd54 100644
--- a/libc/src/__support/CPP/type_traits/is_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_reference.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_rvalue_reference.h b/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
index 046b90208d5a6..998b6353afb15 100644
--- a/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
+++ b/libc/src/__support/CPP/type_traits/is_rvalue_reference.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_same.h b/libc/src/__support/CPP/type_traits/is_same.h
index b77755a462c11..306d16b86f88f 100644
--- a/libc/src/__support/CPP/type_traits/is_same.h
+++ b/libc/src/__support/CPP/type_traits/is_same.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/false_type.h"
 #include "src/__support/CPP/type_traits/true_type.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_scalar.h b/libc/src/__support/CPP/type_traits/is_scalar.h
index 2cf1b94de5508..7f8a750cd7edb 100644
--- a/libc/src/__support/CPP/type_traits/is_scalar.h
+++ b/libc/src/__support/CPP/type_traits/is_scalar.h
@@ -15,6 +15,7 @@
 #include "src/__support/CPP/type_traits/is_null_pointer.h"
 #include "src/__support/CPP/type_traits/is_pointer.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_signed.h b/libc/src/__support/CPP/type_traits/is_signed.h
index bc6b957663d7a..3f56fb38aabb0 100644
--- a/libc/src/__support/CPP/type_traits/is_signed.h
+++ b/libc/src/__support/CPP/type_traits/is_signed.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/CPP/type_traits/is_arithmetic.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_constructible.h b/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
index aad2519df6f8a..b801911038a90 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_constructible.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_copyable.h b/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
index 0041e61f5f1d9..68e56c8547834 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_copyable.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
 
 #include "src/__support/CPP/type_traits/integral_constant.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_trivially_destructible.h b/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
index 372826ba49153..d727a0ec3a82b 100644
--- a/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
+++ b/libc/src/__support/CPP/type_traits/is_trivially_destructible.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/CPP/type_traits/is_destructible.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_union.h b/libc/src/__support/CPP/type_traits/is_union.h
index db17266496088..00ca11a351bdc 100644
--- a/libc/src/__support/CPP/type_traits/is_union.h
+++ b/libc/src/__support/CPP/type_traits/is_union.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_unsigned.h b/libc/src/__support/CPP/type_traits/is_unsigned.h
index 2c1492c7c18da..eed519b1c067e 100644
--- a/libc/src/__support/CPP/type_traits/is_unsigned.h
+++ b/libc/src/__support/CPP/type_traits/is_unsigned.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/bool_constant.h"
 #include "src/__support/CPP/type_traits/is_arithmetic.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/is_void.h b/libc/src/__support/CPP/type_traits/is_void.h
index 76960c8f60216..30459dcf91a7f 100644
--- a/libc/src/__support/CPP/type_traits/is_void.h
+++ b/libc/src/__support/CPP/type_traits/is_void.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_same.h"
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/make_signed.h b/libc/src/__support/CPP/type_traits/make_signed.h
index c16b67bd2453c..00bc6be8fcc18 100644
--- a/libc/src/__support/CPP/type_traits/make_signed.h
+++ b/libc/src/__support/CPP/type_traits/make_signed.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_MAKE_SIGNED_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/make_unsigned.h b/libc/src/__support/CPP/type_traits/make_unsigned.h
index 97536c63c04c4..e5f60ae665219 100644
--- a/libc/src/__support/CPP/type_traits/make_unsigned.h
+++ b/libc/src/__support/CPP/type_traits/make_unsigned.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_MAKE_UNSIGNED_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/remove_all_extents.h b/libc/src/__support/CPP/type_traits/remove_all_extents.h
index f7a4723d68b0a..bc577ca6f4df9 100644
--- a/libc/src/__support/CPP/type_traits/remove_all_extents.h
+++ b/libc/src/__support/CPP/type_traits/remove_all_extents.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // size_t
 
diff --git a/libc/src/__support/CPP/type_traits/remove_cv.h b/libc/src/__support/CPP/type_traits/remove_cv.h
index b594ef96c46dd..2e843e0b4363a 100644
--- a/libc/src/__support/CPP/type_traits/remove_cv.h
+++ b/libc/src/__support/CPP/type_traits/remove_cv.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_CV_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/remove_cvref.h b/libc/src/__support/CPP/type_traits/remove_cvref.h
index df5a37f5582b4..27591783fd7a1 100644
--- a/libc/src/__support/CPP/type_traits/remove_cvref.h
+++ b/libc/src/__support/CPP/type_traits/remove_cvref.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/remove_cv.h"
 #include "src/__support/CPP/type_traits/remove_reference.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/remove_extent.h b/libc/src/__support/CPP/type_traits/remove_extent.h
index fb7ba401a28ea..4f5ffd34530d5 100644
--- a/libc/src/__support/CPP/type_traits/remove_extent.h
+++ b/libc/src/__support/CPP/type_traits/remove_extent.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_EXTENT_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 #include "stddef.h" // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/CPP/type_traits/remove_reference.h b/libc/src/__support/CPP/type_traits/remove_reference.h
index 44b0ecc4fd8cc..26ded0879f190 100644
--- a/libc/src/__support/CPP/type_traits/remove_reference.h
+++ b/libc/src/__support/CPP/type_traits/remove_reference.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_REMOVE_REFERENCE_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/true_type.h b/libc/src/__support/CPP/type_traits/true_type.h
index d423e8abc5060..55f8a535d03f3 100644
--- a/libc/src/__support/CPP/type_traits/true_type.h
+++ b/libc/src/__support/CPP/type_traits/true_type.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TRUE_TYPE_H
 
 #include "src/__support/CPP/type_traits/bool_constant.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/type_traits/type_identity.h b/libc/src/__support/CPP/type_traits/type_identity.h
index e4715fe1b42b1..304a1ed2cea31 100644
--- a/libc/src/__support/CPP/type_traits/type_identity.h
+++ b/libc/src/__support/CPP/type_traits/type_identity.h
@@ -8,6 +8,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TYPE_IDENTITY_H
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_TYPE_IDENTITY_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
 
diff --git a/libc/src/__support/CPP/type_traits/void_t.h b/libc/src/__support/CPP/type_traits/void_t.h
index 18fa732b433e3..9018860a83a2c 100644
--- a/libc/src/__support/CPP/type_traits/void_t.h
+++ b/libc/src/__support/CPP/type_traits/void_t.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_TYPE_TRAITS_VOID_T_H
 
 #include "src/__support/CPP/type_traits/type_identity.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/utility/declval.h b/libc/src/__support/CPP/utility/declval.h
index 8d46652e7af63..9b963b92204f3 100644
--- a/libc/src/__support/CPP/utility/declval.h
+++ b/libc/src/__support/CPP/utility/declval.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/add_rvalue_reference.h"
 #include "src/__support/CPP/type_traits/always_false.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/utility/forward.h b/libc/src/__support/CPP/utility/forward.h
index 26124a614e0f0..085b3d16f999b 100644
--- a/libc/src/__support/CPP/utility/forward.h
+++ b/libc/src/__support/CPP/utility/forward.h
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/type_traits/is_lvalue_reference.h"
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/utility/in_place.h b/libc/src/__support/CPP/utility/in_place.h
index d25d5b913e7a6..b5411f247d551 100644
--- a/libc/src/__support/CPP/utility/in_place.h
+++ b/libc/src/__support/CPP/utility/in_place.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_IN_PLACE_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE, LIBC_INLINE_VAR
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // size_t
 
diff --git a/libc/src/__support/CPP/utility/integer_sequence.h b/libc/src/__support/CPP/utility/integer_sequence.h
index 577ef50abb225..06643d505aca0 100644
--- a/libc/src/__support/CPP/utility/integer_sequence.h
+++ b/libc/src/__support/CPP/utility/integer_sequence.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CPP_UTILITY_INTEGER_SEQUENCE_H
 
 #include "src/__support/CPP/type_traits/is_integral.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/CPP/utility/move.h b/libc/src/__support/CPP/utility/move.h
index 198aacbef7fa4..b61f723e8d4cb 100644
--- a/libc/src/__support/CPP/utility/move.h
+++ b/libc/src/__support/CPP/utility/move.h
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/type_traits/remove_reference.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace cpp {
diff --git a/libc/src/__support/FPUtil/BasicOperations.h b/libc/src/__support/FPUtil/BasicOperations.h
index 019c280d5b158..a963a92bfb074 100644
--- a/libc/src/__support/FPUtil/BasicOperations.h
+++ b/libc/src/__support/FPUtil/BasicOperations.h
@@ -15,6 +15,7 @@
 #include "FEnvImpl.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/uint128.h"
 
diff --git a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
index ec49785fcf4f5..fda33875f25bc 100644
--- a/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
+++ b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
@@ -15,6 +15,7 @@
 
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
diff --git a/libc/src/__support/FPUtil/FEnvImpl.h b/libc/src/__support/FPUtil/FEnvImpl.h
index c3832843c646b..4bb31a6f4c426 100644
--- a/libc/src/__support/FPUtil/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/FEnvImpl.h
@@ -13,6 +13,7 @@
 #include "hdr/math_macros.h"
 #include "hdr/types/fenv_t.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/__support/FPUtil/FMA.h b/libc/src/__support/FPUtil/FMA.h
index 436d5c738dcb2..807d685239732 100644
--- a/libc/src/__support/FPUtil/FMA.h
+++ b/libc/src/__support/FPUtil/FMA.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/FPUtil/generic/FMA.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/__support/FPUtil/FPBits.h b/libc/src/__support/FPUtil/FPBits.h
index 407d8a0259027..5d1f633bb56ee 100644
--- a/libc/src/__support/FPUtil/FPBits.h
+++ b/libc/src/__support/FPUtil/FPBits.h
@@ -14,6 +14,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"       // LIBC_ASSERT
 #include "src/__support/macros/attributes.h" // LIBC_INLINE, LIBC_INLINE_VAR
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_FLOAT128
 #include "src/__support/math_extras.h"             // mask_trailing_ones
 #include "src/__support/sign.h"                    // Sign
diff --git a/libc/src/__support/FPUtil/Hypot.h b/libc/src/__support/FPUtil/Hypot.h
index 919e983ec551e..a5a991e75ed01 100644
--- a/libc/src/__support/FPUtil/Hypot.h
+++ b/libc/src/__support/FPUtil/Hypot.h
@@ -16,6 +16,7 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/ManipulationFunctions.h b/libc/src/__support/FPUtil/ManipulationFunctions.h
index 7b945ffc97eb4..a14f355789999 100644
--- a/libc/src/__support/FPUtil/ManipulationFunctions.h
+++ b/libc/src/__support/FPUtil/ManipulationFunctions.h
@@ -21,6 +21,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/NearestIntegerOperations.h b/libc/src/__support/FPUtil/NearestIntegerOperations.h
index a21e1891af6fe..e4e497b898e83 100644
--- a/libc/src/__support/FPUtil/NearestIntegerOperations.h
+++ b/libc/src/__support/FPUtil/NearestIntegerOperations.h
@@ -16,6 +16,7 @@
 #include "hdr/math_macros.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
diff --git a/libc/src/__support/FPUtil/NormalFloat.h b/libc/src/__support/FPUtil/NormalFloat.h
index c70109f161df6..b4cbb5042a68b 100644
--- a/libc/src/__support/FPUtil/NormalFloat.h
+++ b/libc/src/__support/FPUtil/NormalFloat.h
@@ -13,6 +13,7 @@
 
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/FPUtil/PolyEval.h b/libc/src/__support/FPUtil/PolyEval.h
index a553772833a72..41104620ed61d 100644
--- a/libc/src/__support/FPUtil/PolyEval.h
+++ b/libc/src/__support/FPUtil/PolyEval.h
@@ -12,6 +12,7 @@
 #include "multiply_add.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 // Evaluate polynomial using Horner's Scheme:
 // With polyeval(x, a_0, a_1, ..., a_n) = a_n * x^n + ... + a_1 * x + a_0, we
diff --git a/libc/src/__support/FPUtil/aarch64/FEnvImpl.h b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
index ce443df994030..3cea9772154fc 100644
--- a/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_FENVIMPL_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_AARCH64) || defined(__APPLE__)
diff --git a/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h b/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
index e37d80ca1ec09..969e70796d1f1 100644
--- a/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
+++ b/libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_FENV_DARWIN_IMPL_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_AARCH64) || !defined(__APPLE__)
diff --git a/libc/src/__support/FPUtil/aarch64/nearest_integer.h b/libc/src/__support/FPUtil/aarch64/nearest_integer.h
index 50c870be6b708..d5ea0678825fd 100644
--- a/libc/src/__support/FPUtil/aarch64/nearest_integer.h
+++ b/libc/src/__support/FPUtil/aarch64/nearest_integer.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_NEAREST_INTEGER_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_AARCH64)
diff --git a/libc/src/__support/FPUtil/aarch64/sqrt.h b/libc/src/__support/FPUtil/aarch64/sqrt.h
index 78d1471b82b66..b69267ff91f5c 100644
--- a/libc/src/__support/FPUtil/aarch64/sqrt.h
+++ b/libc/src/__support/FPUtil/aarch64/sqrt.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_AARCH64_SQRT_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_AARCH64)
diff --git a/libc/src/__support/FPUtil/arm/FEnvImpl.h b/libc/src/__support/FPUtil/arm/FEnvImpl.h
index c249e6dbf539c..aaf37c0a045af 100644
--- a/libc/src/__support/FPUtil/arm/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/arm/FEnvImpl.h
@@ -13,6 +13,7 @@
 #include "hdr/types/fenv_t.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/double_double.h b/libc/src/__support/FPUtil/double_double.h
index 1f2c8343e2f77..25a4ee03387c6 100644
--- a/libc/src/__support/FPUtil/double_double.h
+++ b/libc/src/__support/FPUtil/double_double.h
@@ -11,6 +11,7 @@
 
 #include "multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 #include "src/__support/number_pair.h"
 
diff --git a/libc/src/__support/FPUtil/dyadic_float.h b/libc/src/__support/FPUtil/dyadic_float.h
index 314271c1c9a9e..86346a47b35a3 100644
--- a/libc/src/__support/FPUtil/dyadic_float.h
+++ b/libc/src/__support/FPUtil/dyadic_float.h
@@ -14,6 +14,7 @@
 #include "multiply_add.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/big_int.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <stddef.h>
diff --git a/libc/src/__support/FPUtil/except_value_utils.h b/libc/src/__support/FPUtil/except_value_utils.h
index eb59a991612b8..b9f54aa24e3a2 100644
--- a/libc/src/__support/FPUtil/except_value_utils.h
+++ b/libc/src/__support/FPUtil/except_value_utils.h
@@ -13,6 +13,7 @@
 #include "FPBits.h"
 #include "rounding_mode.h"
 #include "src/__support/CPP/optional.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/fpbits_str.h b/libc/src/__support/FPUtil/fpbits_str.h
index 1f1a857e5c170..92981917561a1 100644
--- a/libc/src/__support/FPUtil/fpbits_str.h
+++ b/libc/src/__support/FPUtil/fpbits_str.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/integer_to_string.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/FPUtil/generic/FMA.h b/libc/src/__support/FPUtil/generic/FMA.h
index 887ca4988304a..337301d86d919 100644
--- a/libc/src/__support/FPUtil/generic/FMA.h
+++ b/libc/src/__support/FPUtil/generic/FMA.h
@@ -18,6 +18,7 @@
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/big_int.h"
 #include "src/__support/macros/attributes.h"   // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "hdr/fenv_macros.h"
diff --git a/libc/src/__support/FPUtil/generic/FMod.h b/libc/src/__support/FPUtil/generic/FMod.h
index 148ae03dd9a6f..30d6472085f6f 100644
--- a/libc/src/__support/FPUtil/generic/FMod.h
+++ b/libc/src/__support/FPUtil/generic/FMod.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/generic/add_sub.h b/libc/src/__support/FPUtil/generic/add_sub.h
index c78871333bb4c..ec20a8723b704 100644
--- a/libc/src/__support/FPUtil/generic/add_sub.h
+++ b/libc/src/__support/FPUtil/generic/add_sub.h
@@ -20,6 +20,7 @@
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/generic/div.h b/libc/src/__support/FPUtil/generic/div.h
index e7ea989f901db..27545786aea17 100644
--- a/libc/src/__support/FPUtil/generic/div.h
+++ b/libc/src/__support/FPUtil/generic/div.h
@@ -18,6 +18,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/generic/sqrt.h b/libc/src/__support/FPUtil/generic/sqrt.h
index 16861486752bd..4502cc07d32b3 100644
--- a/libc/src/__support/FPUtil/generic/sqrt.h
+++ b/libc/src/__support/FPUtil/generic/sqrt.h
@@ -16,6 +16,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"
 
 #include "hdr/fenv_macros.h"
diff --git a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
index 65be6cd94d4d6..053348d4c975d 100644
--- a/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
+++ b/libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/FPUtil/multiply_add.h b/libc/src/__support/FPUtil/multiply_add.h
index 77d10ab1a75e4..a86067c401873 100644
--- a/libc/src/__support/FPUtil/multiply_add.h
+++ b/libc/src/__support/FPUtil/multiply_add.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/__support/FPUtil/nearest_integer.h b/libc/src/__support/FPUtil/nearest_integer.h
index 05aba7e2faa80..a2f46b8bc6450 100644
--- a/libc/src/__support/FPUtil/nearest_integer.h
+++ b/libc/src/__support/FPUtil/nearest_integer.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_FPUTIL_NEAREST_INTEGER_H
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_NEAREST_INTEGER_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h"
diff --git a/libc/src/__support/FPUtil/riscv/sqrt.h b/libc/src/__support/FPUtil/riscv/sqrt.h
index 89c03db77f21b..0363822a4e8af 100644
--- a/libc/src/__support/FPUtil/riscv/sqrt.h
+++ b/libc/src/__support/FPUtil/riscv/sqrt.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_RISCV_SQRT_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_ANY_RISCV)
diff --git a/libc/src/__support/FPUtil/rounding_mode.h b/libc/src/__support/FPUtil/rounding_mode.h
index 50dbe3af6e36b..bc66d09b94160 100644
--- a/libc/src/__support/FPUtil/rounding_mode.h
+++ b/libc/src/__support/FPUtil/rounding_mode.h
@@ -11,6 +11,7 @@
 
 #include "hdr/fenv_macros.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
diff --git a/libc/src/__support/FPUtil/triple_double.h b/libc/src/__support/FPUtil/triple_double.h
index cfcc7fd15c47a..f3ac5404ca368 100644
--- a/libc/src/__support/FPUtil/triple_double.h
+++ b/libc/src/__support/FPUtil/triple_double.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_FPUTIL_TRIPLE_DOUBLE_H
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_TRIPLE_DOUBLE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
 
diff --git a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
index e263b03b8027d..b77178ea69ea0 100644
--- a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_FENVIMPL_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86)
diff --git a/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h b/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
index e04cdce89d9cc..2e6b297ae9349 100644
--- a/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
+++ b/libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEXTAFTERLONGDOUBLE_H
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEXTAFTERLONGDOUBLE_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86)
diff --git a/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h b/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
index a4569f86f9a64..31869975ac5ad 100644
--- a/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
+++ b/libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86)
diff --git a/libc/src/__support/FPUtil/x86_64/nearest_integer.h b/libc/src/__support/FPUtil/x86_64/nearest_integer.h
index 301b63d130f12..4eae5ffe816b3 100644
--- a/libc/src/__support/FPUtil/x86_64/nearest_integer.h
+++ b/libc/src/__support/FPUtil/x86_64/nearest_integer.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_NEAREST_INTEGER_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86_64)
diff --git a/libc/src/__support/FPUtil/x86_64/sqrt.h b/libc/src/__support/FPUtil/x86_64/sqrt.h
index 50fa08dcc62dd..e10447751d216 100644
--- a/libc/src/__support/FPUtil/x86_64/sqrt.h
+++ b/libc/src/__support/FPUtil/x86_64/sqrt.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_FPUTIL_X86_64_SQRT_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/macros/properties/cpu_features.h"
 
diff --git a/libc/src/__support/File/dir.cpp b/libc/src/__support/File/dir.cpp
index fe66c2e2fb5ce..21b0106f70106 100644
--- a/libc/src/__support/File/dir.cpp
+++ b/libc/src/__support/File/dir.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/mutex.h" // lock_guard
 #include "src/__support/CPP/new.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h" // For error macros
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/File/dir.h b/libc/src/__support/File/dir.h
index 00ada4d6a940a..136c266524a01 100644
--- a/libc/src/__support/File/dir.h
+++ b/libc/src/__support/File/dir.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/span.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <dirent.h>
diff --git a/libc/src/__support/File/file.cpp b/libc/src/__support/File/file.cpp
index 559cb701d2779..b58dccb4c3263 100644
--- a/libc/src/__support/File/file.cpp
+++ b/libc/src/__support/File/file.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/new.h"
 #include "src/__support/CPP/span.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h" // For error macros
 
 #include <stdio.h>
diff --git a/libc/src/__support/File/file.h b/libc/src/__support/File/file.h
index f6776a5fba97e..bd2fea5cba569 100644
--- a/libc/src/__support/File/file.h
+++ b/libc/src/__support/File/file.h
@@ -12,6 +12,7 @@
 #include "include/llvm-libc-types/off_t.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/threads/mutex.h"
 
diff --git a/libc/src/__support/File/linux/dir.cpp b/libc/src/__support/File/linux/dir.cpp
index 71d3ea6b12abd..fc90ff097e460 100644
--- a/libc/src/__support/File/linux/dir.cpp
+++ b/libc/src/__support/File/linux/dir.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 
 #include <fcntl.h>       // For open flags
 #include <sys/syscall.h> // For syscall numbers
diff --git a/libc/src/__support/File/linux/file.cpp b/libc/src/__support/File/linux/file.cpp
index bae9cf787a176..2fd1c7a7c7456 100644
--- a/libc/src/__support/File/linux/file.cpp
+++ b/libc/src/__support/File/linux/file.cpp
@@ -13,7 +13,8 @@
 #include "src/__support/File/linux/lseekImpl.h"
 #include "src/__support/OSUtil/fcntl.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
-#include "src/errno/libc_errno.h"         // For error macros
+#include "src/__support/macros/config.h"
+#include "src/errno/libc_errno.h" // For error macros
 
 #include <fcntl.h> // For mode_t and other flags to the open syscall
 #include <stdio.h>
diff --git a/libc/src/__support/File/linux/file.h b/libc/src/__support/File/linux/file.h
index 589163f4cb48b..5c1c11dd9706b 100644
--- a/libc/src/__support/File/linux/file.h
+++ b/libc/src/__support/File/linux/file.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/File/linux/lseekImpl.h b/libc/src/__support/File/linux/lseekImpl.h
index 7aefbbf2ebe94..e85e1b6628890 100644
--- a/libc/src/__support/File/linux/lseekImpl.h
+++ b/libc/src/__support/File/linux/lseekImpl.h
@@ -12,6 +12,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <stdint.h>      // For uint64_t.
diff --git a/libc/src/__support/File/linux/stderr.cpp b/libc/src/__support/File/linux/stderr.cpp
index 423fd35ab0d6a..751cf5683c291 100644
--- a/libc/src/__support/File/linux/stderr.cpp
+++ b/libc/src/__support/File/linux/stderr.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "file.h"
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/File/linux/stdin.cpp b/libc/src/__support/File/linux/stdin.cpp
index c27b86f9eb638..01c2bd5236794 100644
--- a/libc/src/__support/File/linux/stdin.cpp
+++ b/libc/src/__support/File/linux/stdin.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "file.h"
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/File/linux/stdout.cpp b/libc/src/__support/File/linux/stdout.cpp
index 831a1c48050b6..451a81caa1c6f 100644
--- a/libc/src/__support/File/linux/stdout.cpp
+++ b/libc/src/__support/File/linux/stdout.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "file.h"
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/GPU/allocator.cpp b/libc/src/__support/GPU/allocator.cpp
index 2ba6810ff0805..01273e16a9387 100644
--- a/libc/src/__support/GPU/allocator.cpp
+++ b/libc/src/__support/GPU/allocator.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace {
diff --git a/libc/src/__support/GPU/allocator.h b/libc/src/__support/GPU/allocator.h
index 2c44e1d34525a..466009aa71981 100644
--- a/libc/src/__support/GPU/allocator.h
+++ b/libc/src/__support/GPU/allocator.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_GPU_ALLOCATOR_H
 #define LLVM_LIBC_SRC___SUPPORT_GPU_ALLOCATOR_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/GPU/generic/utils.h b/libc/src/__support/GPU/generic/utils.h
index 2d09ea1acaad4..9461ef0aa245b 100644
--- a/libc/src/__support/GPU/generic/utils.h
+++ b/libc/src/__support/GPU/generic/utils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_GPU_GENERIC_UTILS_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/GPU/nvptx/utils.h b/libc/src/__support/GPU/nvptx/utils.h
index 90049a8e1b480..1a43a839a9ce4 100644
--- a/libc/src/__support/GPU/nvptx/utils.h
+++ b/libc/src/__support/GPU/nvptx/utils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_GPU_NVPTX_IO_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/GPU/utils.h b/libc/src/__support/GPU/utils.h
index ea3ba3e8ce44c..ae52e7a088ad5 100644
--- a/libc/src/__support/GPU/utils.h
+++ b/libc/src/__support/GPU/utils.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_GPU_UTILS_H
 #define LLVM_LIBC_SRC___SUPPORT_GPU_UTILS_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if defined(LIBC_TARGET_ARCH_IS_AMDGPU)
diff --git a/libc/src/__support/HashTable/bitmask.h b/libc/src/__support/HashTable/bitmask.h
index 084470204b356..3cac481b80609 100644
--- a/libc/src/__support/HashTable/bitmask.h
+++ b/libc/src/__support/HashTable/bitmask.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_HASHTABLE_BITMASK_H
 
 #include "src/__support/CPP/bit.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/cpu_features.h"
 #include <stddef.h> // size_t
 #include <stdint.h> // uint8_t, uint64_t
diff --git a/libc/src/__support/HashTable/generic/bitmask_impl.inc b/libc/src/__support/HashTable/generic/bitmask_impl.inc
index eed882a77b30c..6266ac3c84a90 100644
--- a/libc/src/__support/HashTable/generic/bitmask_impl.inc
+++ b/libc/src/__support/HashTable/generic/bitmask_impl.inc
@@ -8,6 +8,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/src/__support/HashTable/randomness.h b/libc/src/__support/HashTable/randomness.h
index a1b0bdce5ae77..06d3e84a710e7 100644
--- a/libc/src/__support/HashTable/randomness.h
+++ b/libc/src/__support/HashTable/randomness.h
@@ -12,6 +12,7 @@
 #include "src/__support/common.h"
 #include "src/__support/hash.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #if defined(LIBC_HASHTABLE_USE_GETRANDOM)
 #include "src/errno/libc_errno.h"
 #include "src/sys/random/getrandom.h"
diff --git a/libc/src/__support/HashTable/sse2/bitmask_impl.inc b/libc/src/__support/HashTable/sse2/bitmask_impl.inc
index e102e1413ba5c..eb4b3b5119f26 100644
--- a/libc/src/__support/HashTable/sse2/bitmask_impl.inc
+++ b/libc/src/__support/HashTable/sse2/bitmask_impl.inc
@@ -7,6 +7,9 @@
 //===----------------------------------------------------------------------===//
 
 #include <immintrin.h>
+
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 // With SSE2, every bitmask is iteratable as
diff --git a/libc/src/__support/HashTable/table.h b/libc/src/__support/HashTable/table.h
index f38684910c55f..d50a9482ec4ce 100644
--- a/libc/src/__support/HashTable/table.h
+++ b/libc/src/__support/HashTable/table.h
@@ -15,6 +15,7 @@
 #include "src/__support/HashTable/bitmask.h"
 #include "src/__support/hash.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/memory_size.h"
 #include "src/string/memset.h"
diff --git a/libc/src/__support/OSUtil/baremetal/exit.cpp b/libc/src/__support/OSUtil/baremetal/exit.cpp
index f61c5ecf424ac..64d3862422b6b 100644
--- a/libc/src/__support/OSUtil/baremetal/exit.cpp
+++ b/libc/src/__support/OSUtil/baremetal/exit.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/OSUtil/exit.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/src/__support/OSUtil/baremetal/io.cpp b/libc/src/__support/OSUtil/baremetal/io.cpp
index 07177a55742d9..de278eb0092f8 100644
--- a/libc/src/__support/OSUtil/baremetal/io.cpp
+++ b/libc/src/__support/OSUtil/baremetal/io.cpp
@@ -9,6 +9,7 @@
 #include "io.h"
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/OSUtil/baremetal/io.h b/libc/src/__support/OSUtil/baremetal/io.h
index 6fb2e3d212318..92bf3db6b3fd1 100644
--- a/libc/src/__support/OSUtil/baremetal/io.h
+++ b/libc/src/__support/OSUtil/baremetal/io.h
@@ -12,6 +12,7 @@
 #include "include/llvm-libc-types/size_t.h"
 #include "include/llvm-libc-types/ssize_t.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/OSUtil/darwin/arm/syscall.h b/libc/src/__support/OSUtil/darwin/arm/syscall.h
index 53da80fc71025..dc98c07a8ba33 100644
--- a/libc/src/__support/OSUtil/darwin/arm/syscall.h
+++ b/libc/src/__support/OSUtil/darwin/arm/syscall.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_ARM_SYSCALL_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #define REGISTER_DECL_0                                                        \
   register long x16 __asm__("x16") = number;                                   \
diff --git a/libc/src/__support/OSUtil/darwin/io.h b/libc/src/__support/OSUtil/darwin/io.h
index 21c06f9b48cc3..a5f7ecbd70362 100644
--- a/libc/src/__support/OSUtil/darwin/io.h
+++ b/libc/src/__support/OSUtil/darwin/io.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_IO_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "syscall.h" // For internal syscall function.
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/OSUtil/darwin/syscall.h b/libc/src/__support/OSUtil/darwin/syscall.h
index c8e1440cae4df..eab96366a21a3 100644
--- a/libc/src/__support/OSUtil/darwin/syscall.h
+++ b/libc/src/__support/OSUtil/darwin/syscall.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #ifdef LIBC_TARGET_ARCH_IS_ANY_ARM
diff --git a/libc/src/__support/OSUtil/exit.h b/libc/src/__support/OSUtil/exit.h
index 23e9e0eb8c93a..e784ca0cb00b8 100644
--- a/libc/src/__support/OSUtil/exit.h
+++ b/libc/src/__support/OSUtil/exit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_OSUTIL_EXIT_H
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_EXIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
diff --git a/libc/src/__support/OSUtil/fcntl.h b/libc/src/__support/OSUtil/fcntl.h
index 3e02cb0a385aa..46f7d28132396 100644
--- a/libc/src/__support/OSUtil/fcntl.h
+++ b/libc/src/__support/OSUtil/fcntl.h
@@ -8,6 +8,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_OSUTIL_FCNTL_H
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_FCNTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 
diff --git a/libc/src/__support/OSUtil/fuchsia/io.h b/libc/src/__support/OSUtil/fuchsia/io.h
index 2725c4687b132..3953afce079df 100644
--- a/libc/src/__support/OSUtil/fuchsia/io.h
+++ b/libc/src/__support/OSUtil/fuchsia/io.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_FUCHSIA_IO_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 #include <iostream>
 #include <zircon/sanitizer.h>
diff --git a/libc/src/__support/OSUtil/gpu/exit.cpp b/libc/src/__support/OSUtil/gpu/exit.cpp
index c00db55cd0a91..360bcca1c6da3 100644
--- a/libc/src/__support/OSUtil/gpu/exit.cpp
+++ b/libc/src/__support/OSUtil/gpu/exit.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/OSUtil/exit.h"
 
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/OSUtil/gpu/io.cpp b/libc/src/__support/OSUtil/gpu/io.cpp
index a38c69d9669b4..f3000bd0f48b1 100644
--- a/libc/src/__support/OSUtil/gpu/io.cpp
+++ b/libc/src/__support/OSUtil/gpu/io.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/OSUtil/gpu/io.h b/libc/src/__support/OSUtil/gpu/io.h
index 13d0d9aa93b44..e23db8acdaeca 100644
--- a/libc/src/__support/OSUtil/gpu/io.h
+++ b/libc/src/__support/OSUtil/gpu/io.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/OSUtil/linux/aarch64/syscall.h b/libc/src/__support/OSUtil/linux/aarch64/syscall.h
index 45f8ba6a069ed..f28392de5dced 100644
--- a/libc/src/__support/OSUtil/linux/aarch64/syscall.h
+++ b/libc/src/__support/OSUtil/linux/aarch64/syscall.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_AARCH64_SYSCALL_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #define REGISTER_DECL_0                                                        \
   register long x8 __asm__("x8") = number;                                     \
diff --git a/libc/src/__support/OSUtil/linux/arm/syscall.h b/libc/src/__support/OSUtil/linux/arm/syscall.h
index 0436d09bc77bd..d1058c84281fe 100644
--- a/libc/src/__support/OSUtil/linux/arm/syscall.h
+++ b/libc/src/__support/OSUtil/linux/arm/syscall.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_ARM_SYSCALL_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #ifdef __thumb__
 #define R7 long r7 = number
diff --git a/libc/src/__support/OSUtil/linux/exit.cpp b/libc/src/__support/OSUtil/linux/exit.cpp
index 85cf30f29cb34..9c64ce42be185 100644
--- a/libc/src/__support/OSUtil/linux/exit.cpp
+++ b/libc/src/__support/OSUtil/linux/exit.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "syscall.h"     // For internal syscall function.
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/__support/OSUtil/linux/fcntl.cpp b/libc/src/__support/OSUtil/linux/fcntl.cpp
index 9a88beb0959bd..2421c6918361f 100644
--- a/libc/src/__support/OSUtil/linux/fcntl.cpp
+++ b/libc/src/__support/OSUtil/linux/fcntl.cpp
@@ -14,6 +14,7 @@
 #include "hdr/types/struct_flock64.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <stdarg.h>
diff --git a/libc/src/__support/OSUtil/linux/io.h b/libc/src/__support/OSUtil/linux/io.h
index 667031b5f5f48..63e5b120d5c67 100644
--- a/libc/src/__support/OSUtil/linux/io.h
+++ b/libc/src/__support/OSUtil/linux/io.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_IO_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "syscall.h" // For internal syscall function.
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/__support/OSUtil/linux/riscv/syscall.h b/libc/src/__support/OSUtil/linux/riscv/syscall.h
index 509d85dc1975b..e460e9bb56e67 100644
--- a/libc/src/__support/OSUtil/linux/riscv/syscall.h
+++ b/libc/src/__support/OSUtil/linux/riscv/syscall.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_RISCV_SYSCALL_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #define REGISTER_DECL_0                                                        \
   register long a7 __asm__("a7") = number;                                     \
diff --git a/libc/src/__support/OSUtil/linux/syscall.h b/libc/src/__support/OSUtil/linux/syscall.h
index 2bbf22012d8f0..ad3f6947d0a06 100644
--- a/libc/src/__support/OSUtil/linux/syscall.h
+++ b/libc/src/__support/OSUtil/linux/syscall.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #ifdef LIBC_TARGET_ARCH_IS_X86_64
diff --git a/libc/src/__support/OSUtil/linux/x86_64/syscall.h b/libc/src/__support/OSUtil/linux/x86_64/syscall.h
index 73b5549aed8ad..ebd77980af6a4 100644
--- a/libc/src/__support/OSUtil/linux/x86_64/syscall.h
+++ b/libc/src/__support/OSUtil/linux/x86_64/syscall.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_OSUTIL_LINUX_X86_64_SYSCALL_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #define SYSCALL_CLOBBER_LIST "rcx", "r11", "memory"
 
diff --git a/libc/src/__support/RPC/rpc.h b/libc/src/__support/RPC/rpc.h
index 2c7d63d0f9e3c..a94b11902c119 100644
--- a/libc/src/__support/RPC/rpc.h
+++ b/libc/src/__support/RPC/rpc.h
@@ -24,6 +24,7 @@
 #include "src/__support/CPP/functional.h"
 #include "src/__support/CPP/optional.h"
 #include "src/__support/GPU/utils.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/RPC/rpc_client.cpp b/libc/src/__support/RPC/rpc_client.cpp
index 66d012567427e..232b20d008d1d 100644
--- a/libc/src/__support/RPC/rpc_client.cpp
+++ b/libc/src/__support/RPC/rpc_client.cpp
@@ -8,6 +8,7 @@
 
 #include "rpc_client.h"
 #include "rpc.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
diff --git a/libc/src/__support/RPC/rpc_client.h b/libc/src/__support/RPC/rpc_client.h
index d8cfbcbf0e24f..695b6b7515bf7 100644
--- a/libc/src/__support/RPC/rpc_client.h
+++ b/libc/src/__support/RPC/rpc_client.h
@@ -12,6 +12,7 @@
 #include "rpc.h"
 
 #include "include/llvm-libc-types/rpc_opcodes_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace rpc {
diff --git a/libc/src/__support/RPC/rpc_util.h b/libc/src/__support/RPC/rpc_util.h
index c34fe9341edc6..1a29ed6557714 100644
--- a/libc/src/__support/RPC/rpc_util.h
+++ b/libc/src/__support/RPC/rpc_util.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/GPU/utils.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/__support/threads/sleep.h"
 #include "src/string/memory_utils/generic/byte_per_byte.h"
diff --git a/libc/src/__support/StringUtil/error_to_string.cpp b/libc/src/__support/StringUtil/error_to_string.cpp
index 56eb11e03bbf5..e347ddae90f6e 100644
--- a/libc/src/__support/StringUtil/error_to_string.cpp
+++ b/libc/src/__support/StringUtil/error_to_string.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/StringUtil/message_mapper.h"
 #include "src/__support/integer_to_string.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/__support/StringUtil/error_to_string.h b/libc/src/__support/StringUtil/error_to_string.h
index 522cf47ccf79c..ff5868457f8c9 100644
--- a/libc/src/__support/StringUtil/error_to_string.h
+++ b/libc/src/__support/StringUtil/error_to_string.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/StringUtil/message_mapper.h b/libc/src/__support/StringUtil/message_mapper.h
index 38bfcfdf5986e..df7506a2f3ecb 100644
--- a/libc/src/__support/StringUtil/message_mapper.h
+++ b/libc/src/__support/StringUtil/message_mapper.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/array.h"
 #include "src/__support/CPP/optional.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/StringUtil/signal_to_string.cpp b/libc/src/__support/StringUtil/signal_to_string.cpp
index cff21f4a3417e..b67d28814816c 100644
--- a/libc/src/__support/StringUtil/signal_to_string.cpp
+++ b/libc/src/__support/StringUtil/signal_to_string.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/StringUtil/message_mapper.h"
 #include "src/__support/integer_to_string.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 #include <signal.h>
 #include <stddef.h>
diff --git a/libc/src/__support/StringUtil/signal_to_string.h b/libc/src/__support/StringUtil/signal_to_string.h
index 64a18f4f20c8e..a162486d134e1 100644
--- a/libc/src/__support/StringUtil/signal_to_string.h
+++ b/libc/src/__support/StringUtil/signal_to_string.h
@@ -12,6 +12,7 @@
 
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/StringUtil/tables/linux_extension_errors.h b/libc/src/__support/StringUtil/tables/linux_extension_errors.h
index 662d4269fa918..9c60a07220491 100644
--- a/libc/src/__support/StringUtil/tables/linux_extension_errors.h
+++ b/libc/src/__support/StringUtil/tables/linux_extension_errors.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_EXTENSION_ERRORS_H
 
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h> // For error macros
 
diff --git a/libc/src/__support/StringUtil/tables/linux_extension_signals.h b/libc/src/__support/StringUtil/tables/linux_extension_signals.h
index 2065a0475cdba..c9cb26b785a13 100644
--- a/libc/src/__support/StringUtil/tables/linux_extension_signals.h
+++ b/libc/src/__support/StringUtil/tables/linux_extension_signals.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_LINUX_EXTENSION_SIGNALS_H
 
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 #include <signal.h> // For signal numbers
 
diff --git a/libc/src/__support/StringUtil/tables/linux_platform_errors.h b/libc/src/__support/StringUtil/tables/linux_platform_errors.h
index 66a710b8c6299..22cc87fb3654a 100644
--- a/libc/src/__support/StringUtil/tables/linux_platform_errors.h
+++ b/libc/src/__support/StringUtil/tables/linux_platform_errors.h
@@ -11,6 +11,7 @@
 
 #include "linux_extension_errors.h"
 #include "posix_errors.h"
+#include "src/__support/macros/config.h"
 #include "stdc_errors.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/StringUtil/tables/linux_platform_signals.h b/libc/src/__support/StringUtil/tables/linux_platform_signals.h
index 959ef53a8a8dd..7c816aaf504fb 100644
--- a/libc/src/__support/StringUtil/tables/linux_platform_signals.h
+++ b/libc/src/__support/StringUtil/tables/linux_platform_signals.h
@@ -11,6 +11,7 @@
 
 #include "linux_extension_signals.h"
 #include "posix_signals.h"
+#include "src/__support/macros/config.h"
 #include "stdc_signals.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/StringUtil/tables/minimal_platform_errors.h b/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
index 1679efc679d34..baaa07bc8c998 100644
--- a/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
+++ b/libc/src/__support/StringUtil/tables/minimal_platform_errors.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_ERRORS_H
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_ERRORS_H
 
+#include "src/__support/macros/config.h"
 #include "stdc_errors.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/StringUtil/tables/minimal_platform_signals.h b/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
index 4b3cdf9746e48..d4cecb3b35e5d 100644
--- a/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
+++ b/libc/src/__support/StringUtil/tables/minimal_platform_signals.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_SIGNALS_H
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_MINIMAL_PLATFORM_SIGNALS_H
 
+#include "src/__support/macros/config.h"
 #include "stdc_signals.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/StringUtil/tables/posix_errors.h b/libc/src/__support/StringUtil/tables/posix_errors.h
index bc31ad99345d8..aae00d11ad556 100644
--- a/libc/src/__support/StringUtil/tables/posix_errors.h
+++ b/libc/src/__support/StringUtil/tables/posix_errors.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_ERRORS_H
 
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h> // For error macros
 
diff --git a/libc/src/__support/StringUtil/tables/posix_signals.h b/libc/src/__support/StringUtil/tables/posix_signals.h
index 63bf3f0095048..7c70f71837e27 100644
--- a/libc/src/__support/StringUtil/tables/posix_signals.h
+++ b/libc/src/__support/StringUtil/tables/posix_signals.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/array.h"
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 #include <signal.h> // For signal numbers
 
diff --git a/libc/src/__support/StringUtil/tables/signal_table.h b/libc/src/__support/StringUtil/tables/signal_table.h
index 9363b683e74c5..bfec39b52f1ae 100644
--- a/libc/src/__support/StringUtil/tables/signal_table.h
+++ b/libc/src/__support/StringUtil/tables/signal_table.h
@@ -12,6 +12,7 @@
 #include "src/__support/StringUtil/message_mapper.h"
 
 #include "posix_signals.h"
+#include "src/__support/macros/config.h"
 #include "stdc_signals.h"
 
 #if defined(__linux__) || defined(__Fuchsia__)
diff --git a/libc/src/__support/StringUtil/tables/stdc_errors.h b/libc/src/__support/StringUtil/tables/stdc_errors.h
index 4572d56d93ca2..a5d2279ff399c 100644
--- a/libc/src/__support/StringUtil/tables/stdc_errors.h
+++ b/libc/src/__support/StringUtil/tables/stdc_errors.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_STDC_ERRORS_H
 
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h> // For error macros
 
diff --git a/libc/src/__support/StringUtil/tables/stdc_signals.h b/libc/src/__support/StringUtil/tables/stdc_signals.h
index 25f22587e64b8..094b59b4ba641 100644
--- a/libc/src/__support/StringUtil/tables/stdc_signals.h
+++ b/libc/src/__support/StringUtil/tables/stdc_signals.h
@@ -12,6 +12,7 @@
 #include <signal.h> // For signal numbers
 
 #include "src/__support/StringUtil/message_mapper.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/arg_list.h b/libc/src/__support/arg_list.h
index e02f01419560a..a57973273c9f6 100644
--- a/libc/src/__support/arg_list.h
+++ b/libc/src/__support/arg_list.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_ARG_LIST_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdarg.h>
 #include <stddef.h>
diff --git a/libc/src/__support/big_int.h b/libc/src/__support/big_int.h
index c9339b0e734f6..681782d57319e 100644
--- a/libc/src/__support/big_int.h
+++ b/libc/src/__support/big_int.h
@@ -15,6 +15,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h"          // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"        // LIBC_UNLIKELY
 #include "src/__support/macros/properties/compiler.h" // LIBC_COMPILER_IS_CLANG
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128, LIBC_TYPES_HAS_INT64
diff --git a/libc/src/__support/block.h b/libc/src/__support/block.h
index 0dcb23e19ec2b..242602ad2f856 100644
--- a/libc/src/__support/block.h
+++ b/libc/src/__support/block.h
@@ -17,6 +17,7 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/blockstore.h b/libc/src/__support/blockstore.h
index ac9b51d93a011..8d13e0ed290df 100644
--- a/libc/src/__support/blockstore.h
+++ b/libc/src/__support/blockstore.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_BLOCKSTORE_H
 #define LLVM_LIBC_SRC___SUPPORT_BLOCKSTORE_H
 
+#include "src/__support/macros/config.h"
 #include <src/__support/CPP/new.h>
 #include <src/__support/libc_assert.h>
 
diff --git a/libc/src/__support/c_string.h b/libc/src/__support/c_string.h
index c4141e96c62ba..11f41320681af 100644
--- a/libc/src/__support/c_string.h
+++ b/libc/src/__support/c_string.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/string.h"
 #include "src/__support/macros/attributes.h" // for LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/char_vector.h b/libc/src/__support/char_vector.h
index 2084e58589a84..df109da5d8127 100644
--- a/libc/src/__support/char_vector.h
+++ b/libc/src/__support/char_vector.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CHARVECTOR_H
 
 #include "src/__support/common.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // size_t
 #include <stdlib.h> // malloc, realloc, free
diff --git a/libc/src/__support/ctype_utils.h b/libc/src/__support/ctype_utils.h
index acfd11dda7e14..91f6ce8cabd8d 100644
--- a/libc/src/__support/ctype_utils.h
+++ b/libc/src/__support/ctype_utils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_CTYPE_UTILS_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/src/__support/detailed_powers_of_ten.h b/libc/src/__support/detailed_powers_of_ten.h
index 3d2a1e3925ff4..28741b8a3f563 100644
--- a/libc/src/__support/detailed_powers_of_ten.h
+++ b/libc/src/__support/detailed_powers_of_ten.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_DETAILED_POWERS_OF_TEN_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/endian.h b/libc/src/__support/endian.h
index c76509ffaa53b..8c443fefab5e8 100644
--- a/libc/src/__support/endian.h
+++ b/libc/src/__support/endian.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_ENDIAN_H
 
 #include "common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/error_or.h b/libc/src/__support/error_or.h
index 0b72c5a459fdc..3faaddde6cd32 100644
--- a/libc/src/__support/error_or.h
+++ b/libc/src/__support/error_or.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_ERROR_OR_H
 
 #include "src/__support/CPP/expected.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/fixed_point/fx_bits.h b/libc/src/__support/fixed_point/fx_bits.h
index af1a0e4961c45..0a4c21fb6a14f 100644
--- a/libc/src/__support/fixed_point/fx_bits.h
+++ b/libc/src/__support/fixed_point/fx_bits.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h"   // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/math_extras.h"
 
diff --git a/libc/src/__support/fixed_point/fx_rep.h b/libc/src/__support/fixed_point/fx_rep.h
index f1740f89b2e6f..186938947694e 100644
--- a/libc/src/__support/fixed_point/fx_rep.h
+++ b/libc/src/__support/fixed_point/fx_rep.h
@@ -12,6 +12,7 @@
 #include "include/llvm-libc-macros/stdfix-macros.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE, LIBC_INLINE_VAR
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/__support/fixed_point/sqrt.h b/libc/src/__support/fixed_point/sqrt.h
index 90676d869658b..b77319debeeaf 100644
--- a/libc/src/__support/fixed_point/sqrt.h
+++ b/libc/src/__support/fixed_point/sqrt.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/limits.h" // CHAR_BIT
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h"   // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "fx_rep.h"
diff --git a/libc/src/__support/fixedvector.h b/libc/src/__support/fixedvector.h
index b6529dffe3732..7ac0c230f9c53 100644
--- a/libc/src/__support/fixedvector.h
+++ b/libc/src/__support/fixedvector.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/array.h"
 
 #include "src/__support/CPP/iterator.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/float_to_string.h b/libc/src/__support/float_to_string.h
index 8da69da40e8e2..c4c7a15179f95 100644
--- a/libc/src/__support/float_to_string.h
+++ b/libc/src/__support/float_to_string.h
@@ -19,6 +19,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 // This file has 5 compile-time flags to allow the user to configure the float
 // to string behavior. These were used to explore tradeoffs during the design
diff --git a/libc/src/__support/freelist.h b/libc/src/__support/freelist.h
index f9cd1f3e0c398..a54cf953fe7ab 100644
--- a/libc/src/__support/freelist.h
+++ b/libc/src/__support/freelist.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/new.h"
 #include "src/__support/CPP/span.h"
 #include "src/__support/fixedvector.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/freelist_heap.h b/libc/src/__support/freelist_heap.h
index 89ca9e4a9cd45..ce4f14b431585 100644
--- a/libc/src/__support/freelist_heap.h
+++ b/libc/src/__support/freelist_heap.h
@@ -16,6 +16,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/CPP/span.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/memory_utils/inline_memset.h"
 
diff --git a/libc/src/__support/hash.h b/libc/src/__support/hash.h
index b32072f22eafa..527c83993fd59 100644
--- a/libc/src/__support/hash.h
+++ b/libc/src/__support/hash.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/bit.h"           // rotl
 #include "src/__support/CPP/limits.h"        // numeric_limits
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"           // UInt128
 #include <stdint.h>                          // For uint64_t
 
diff --git a/libc/src/__support/high_precision_decimal.h b/libc/src/__support/high_precision_decimal.h
index 23597e0076afe..3e397574d4cbb 100644
--- a/libc/src/__support/high_precision_decimal.h
+++ b/libc/src/__support/high_precision_decimal.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include <stdint.h>
 
diff --git a/libc/src/__support/integer_literals.h b/libc/src/__support/integer_literals.h
index ca24580608f12..af3da1c443d7b 100644
--- a/libc/src/__support/integer_literals.h
+++ b/libc/src/__support/integer_literals.h
@@ -15,6 +15,7 @@
 
 #include "src/__support/CPP/limits.h"        // CHAR_BIT
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"           // UInt128
 #include <stddef.h>                          // size_t
 #include <stdint.h>                          // uintxx_t
diff --git a/libc/src/__support/integer_operations.h b/libc/src/__support/integer_operations.h
index 95947514d1884..4ecff70a61752 100644
--- a/libc/src/__support/integer_operations.h
+++ b/libc/src/__support/integer_operations.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/integer_to_string.h b/libc/src/__support/integer_to_string.h
index 69cf6049fe563..40d45a05ceadb 100644
--- a/libc/src/__support/integer_to_string.h
+++ b/libc/src/__support/integer_to_string.h
@@ -69,6 +69,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/big_int.h" // make_integral_or_big_int_unsigned_t
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/intrusive_list.h b/libc/src/__support/intrusive_list.h
index 17f52729b103b..4bbd8a41abd65 100644
--- a/libc/src/__support/intrusive_list.h
+++ b/libc/src/__support/intrusive_list.h
@@ -14,6 +14,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_INTRUSIVE_LIST_H
 
 #include "common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/src/__support/libc_assert.h b/libc/src/__support/libc_assert.h
index 8be55ebff3727..e3235199780c2 100644
--- a/libc/src/__support/libc_assert.h
+++ b/libc/src/__support/libc_assert.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_LIBC_ASSERT_H
 #define LLVM_LIBC_SRC___SUPPORT_LIBC_ASSERT_H
 
+#include "src/__support/macros/config.h"
 #ifdef LIBC_COPT_USE_C_ASSERT
 
 // The build is configured to just use the public <assert.h> API
diff --git a/libc/src/__support/macros/config.h b/libc/src/__support/macros/config.h
index 3da6b8bc94c8b..5c3ec634449f8 100644
--- a/libc/src/__support/macros/config.h
+++ b/libc/src/__support/macros/config.h
@@ -15,6 +15,7 @@
 
 // Workaround for compilers that do not support builtin detection.
 // FIXME: This is only required for the GPU portion which should be moved.
+#include "src/__support/macros/config.h"
 #ifndef __has_builtin
 #define __has_builtin(b) 0
 #endif
diff --git a/libc/src/__support/macros/optimization.h b/libc/src/__support/macros/optimization.h
index 7e55cad48628b..5ffd474d35c54 100644
--- a/libc/src/__support/macros/optimization.h
+++ b/libc/src/__support/macros/optimization.h
@@ -11,6 +11,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_MACROS_OPTIMIZATION_H
 
 #include "src/__support/macros/attributes.h"          // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/compiler.h" // LIBC_COMPILER_IS_CLANG
 
 // We use a template to implement likely/unlikely to make sure that we don't
diff --git a/libc/src/__support/math_extras.h b/libc/src/__support/math_extras.h
index 3230ecc9fa86c..6f4a006aad270 100644
--- a/libc/src/__support/math_extras.h
+++ b/libc/src/__support/math_extras.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/limits.h"      // CHAR_BIT, numeric_limits
 #include "src/__support/CPP/type_traits.h" // is_unsigned_v, is_constant_evaluated
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/memory_size.h b/libc/src/__support/memory_size.h
index 7019f3afd5d05..cdd6a10222de1 100644
--- a/libc/src/__support/memory_size.h
+++ b/libc/src/__support/memory_size.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/limits.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/string/memory_utils/utils.h"
 
diff --git a/libc/src/__support/number_pair.h b/libc/src/__support/number_pair.h
index ba66470ef9379..f5e877406d8f3 100644
--- a/libc/src/__support/number_pair.h
+++ b/libc/src/__support/number_pair.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_NUMBER_PAIR_H
 
 #include "CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/__support/str_to_float.h b/libc/src/__support/str_to_float.h
index ddb35f315d60a..c72bc1f957dc3 100644
--- a/libc/src/__support/str_to_float.h
+++ b/libc/src/__support/str_to_float.h
@@ -21,6 +21,7 @@
 #include "src/__support/ctype_utils.h"
 #include "src/__support/detailed_powers_of_ten.h"
 #include "src/__support/high_precision_decimal.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/__support/str_to_num_result.h"
 #include "src/__support/uint128.h"
diff --git a/libc/src/__support/str_to_integer.h b/libc/src/__support/str_to_integer.h
index 0fdb92b128d47..1f80229a9eff4 100644
--- a/libc/src/__support/str_to_integer.h
+++ b/libc/src/__support/str_to_integer.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_num_result.h"
 #include "src/__support/uint128.h"
 #include "src/errno/libc_errno.h" // For ERANGE
diff --git a/libc/src/__support/str_to_num_result.h b/libc/src/__support/str_to_num_result.h
index 9286df089867a..6d361357cac2a 100644
--- a/libc/src/__support/str_to_num_result.h
+++ b/libc/src/__support/str_to_num_result.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_STR_TO_NUM_RESULT_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/__support/threads/CndVar.h b/libc/src/__support/threads/CndVar.h
index 33797d9bd273f..e42fa145faeaf 100644
--- a/libc/src/__support/threads/CndVar.h
+++ b/libc/src/__support/threads/CndVar.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC___SUPPORT_SRC_THREADS_LINUX_CNDVAR_H
 #define LLVM_LIBC___SUPPORT_SRC_THREADS_LINUX_CNDVAR_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_utils.h" // Futex
 #include "src/__support/threads/linux/raw_mutex.h"   // RawMutex
 #include "src/__support/threads/mutex.h"             // Mutex
diff --git a/libc/src/__support/threads/callonce.h b/libc/src/__support/threads/callonce.h
index fc8cbd54ed296..5392722045c94 100644
--- a/libc/src/__support/threads/callonce.h
+++ b/libc/src/__support/threads/callonce.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_CALLONCE_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_CALLONCE_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_LIKELY
 
 // Plaform specific routines, provides:
diff --git a/libc/src/__support/threads/fork_callbacks.cpp b/libc/src/__support/threads/fork_callbacks.cpp
index d98120e9ce462..b050b1712f4aa 100644
--- a/libc/src/__support/threads/fork_callbacks.cpp
+++ b/libc/src/__support/threads/fork_callbacks.cpp
@@ -9,6 +9,7 @@
 #include "fork_callbacks.h"
 
 #include "src/__support/CPP/mutex.h" // lock_guard
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <stddef.h> // For size_t
diff --git a/libc/src/__support/threads/fork_callbacks.h b/libc/src/__support/threads/fork_callbacks.h
index ba8e02d7b3e17..2a06a4a91892d 100644
--- a/libc/src/__support/threads/fork_callbacks.h
+++ b/libc/src/__support/threads/fork_callbacks.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_FORK_CALLBACKS_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_FORK_CALLBACKS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 using ForkCallback = void(void);
diff --git a/libc/src/__support/threads/gpu/mutex.h b/libc/src/__support/threads/gpu/mutex.h
index af5401464e8c6..c8c484ed2b794 100644
--- a/libc/src/__support/threads/gpu/mutex.h
+++ b/libc/src/__support/threads/gpu/mutex.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_GPU_MUTEX_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex_common.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/threads/linux/CndVar.cpp b/libc/src/__support/threads/linux/CndVar.cpp
index 13069ff3d2431..be74c18dddf31 100644
--- a/libc/src/__support/threads/linux/CndVar.cpp
+++ b/libc/src/__support/threads/linux/CndVar.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/threads/CndVar.h"
 #include "src/__support/CPP/mutex.h"
 #include "src/__support/OSUtil/syscall.h"           // syscall_impl
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_word.h" // FutexWordType
 #include "src/__support/threads/linux/raw_mutex.h"  // RawMutex
 #include "src/__support/threads/mutex.h"            // Mutex
diff --git a/libc/src/__support/threads/linux/callonce.cpp b/libc/src/__support/threads/linux/callonce.cpp
index 1737d55ca8f39..c6e5f2aba69fc 100644
--- a/libc/src/__support/threads/linux/callonce.cpp
+++ b/libc/src/__support/threads/linux/callonce.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/threads/callonce.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/callonce.h"
 #include "src/__support/threads/linux/futex_utils.h"
 
diff --git a/libc/src/__support/threads/linux/callonce.h b/libc/src/__support/threads/linux/callonce.h
index 5562ca332afb6..b3ea3a5b1c679 100644
--- a/libc/src/__support/threads/linux/callonce.h
+++ b/libc/src/__support/threads/linux/callonce.h
@@ -8,6 +8,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_CALLONCE_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_CALLONCE_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/threads/linux/futex_utils.h b/libc/src/__support/threads/linux/futex_utils.h
index 2e3c4990b9bc0..943a99ab38c8c 100644
--- a/libc/src/__support/threads/linux/futex_utils.h
+++ b/libc/src/__support/threads/linux/futex_utils.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_word.h"
 #include "src/__support/time/linux/abs_timeout.h"
 #include <linux/errno.h>
diff --git a/libc/src/__support/threads/linux/futex_word.h b/libc/src/__support/threads/linux/futex_word.h
index c74acf45fa678..a5a6a0c110cae 100644
--- a/libc/src/__support/threads/linux/futex_word.h
+++ b/libc/src/__support/threads/linux/futex_word.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_FUTEX_WORD_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_LINUX_FUTEX_WORD_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 #include <sys/syscall.h>
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/threads/linux/mutex.h b/libc/src/__support/threads/linux/mutex.h
index 70322a3bb7540..0c4b1ae09af6f 100644
--- a/libc/src/__support/threads/linux/mutex.h
+++ b/libc/src/__support/threads/linux/mutex.h
@@ -12,6 +12,7 @@
 #include "hdr/types/pid_t.h"
 #include "src/__support/CPP/optional.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_utils.h"
 #include "src/__support/threads/linux/raw_mutex.h"
 #include "src/__support/threads/mutex_common.h"
diff --git a/libc/src/__support/threads/linux/raw_mutex.h b/libc/src/__support/threads/linux/raw_mutex.h
index 85ab0dc64611d..2bc302f49762c 100644
--- a/libc/src/__support/threads/linux/raw_mutex.h
+++ b/libc/src/__support/threads/linux/raw_mutex.h
@@ -12,6 +12,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_utils.h"
 #include "src/__support/threads/linux/futex_word.h"
 #include "src/__support/threads/sleep.h"
diff --git a/libc/src/__support/threads/linux/rwlock.h b/libc/src/__support/threads/linux/rwlock.h
index 7a21b7ba8f170..d2fb0ce1a3c08 100644
--- a/libc/src/__support/threads/linux/rwlock.h
+++ b/libc/src/__support/threads/linux/rwlock.h
@@ -17,6 +17,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/threads/linux/futex_utils.h"
 #include "src/__support/threads/linux/futex_word.h"
diff --git a/libc/src/__support/threads/linux/thread.cpp b/libc/src/__support/threads/linux/thread.cpp
index fb35cf29b9a39..36b4a88eba9b4 100644
--- a/libc/src/__support/threads/linux/thread.cpp
+++ b/libc/src/__support/threads/linux/thread.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/OSUtil/syscall.h" // For syscall functions.
 #include "src/__support/common.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/futex_utils.h" // For FutexWordType
 #include "src/errno/libc_errno.h"                    // For error macros
 
diff --git a/libc/src/__support/threads/mutex_common.h b/libc/src/__support/threads/mutex_common.h
index e20e9d13aa877..9913f69a6a61a 100644
--- a/libc/src/__support/threads/mutex_common.h
+++ b/libc/src/__support/threads/mutex_common.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_THREADS_MUTEX_COMMON_H
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_MUTEX_COMMON_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 enum class MutexError : int {
diff --git a/libc/src/__support/threads/sleep.h b/libc/src/__support/threads/sleep.h
index fc57c4595453e..777283356b58e 100644
--- a/libc/src/__support/threads/sleep.h
+++ b/libc/src/__support/threads/sleep.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC___SUPPORT_THREADS_SLEEP_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/__support/threads/thread.cpp b/libc/src/__support/threads/thread.cpp
index e718f3438fb02..886281e0d50f7 100644
--- a/libc/src/__support/threads/thread.cpp
+++ b/libc/src/__support/threads/thread.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/threads/thread.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include "src/__support/CPP/array.h"
diff --git a/libc/src/__support/threads/thread.h b/libc/src/__support/threads/thread.h
index bae24bea683be..ce23a880e048a 100644
--- a/libc/src/__support/threads/thread.h
+++ b/libc/src/__support/threads/thread.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/CPP/stringstream.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #include <linux/param.h> // for exec_pagesize.
diff --git a/libc/src/__support/time/linux/abs_timeout.h b/libc/src/__support/time/linux/abs_timeout.h
index 78de4a3d92e13..37e602672208f 100644
--- a/libc/src/__support/time/linux/abs_timeout.h
+++ b/libc/src/__support/time/linux/abs_timeout.h
@@ -12,6 +12,7 @@
 #include "hdr/time_macros.h"
 #include "hdr/types/struct_timespec.h"
 #include "src/__support/CPP/expected.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/units.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/time/linux/clock_conversion.h b/libc/src/__support/time/linux/clock_conversion.h
index 2e6549886d17e..7a52873263a14 100644
--- a/libc/src/__support/time/linux/clock_conversion.h
+++ b/libc/src/__support/time/linux/clock_conversion.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_CLOCK_CONVERSION_H
 #define LLVM_LIBC_SRC___SUPPORT_TIME_LINUX_CLOCK_CONVERSION_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/__support/time/units.h"
 
diff --git a/libc/src/__support/time/linux/clock_gettime.h b/libc/src/__support/time/linux/clock_gettime.h
index ed48841c6d0ec..eca1ba70de592 100644
--- a/libc/src/__support/time/linux/clock_gettime.h
+++ b/libc/src/__support/time/linux/clock_gettime.h
@@ -14,6 +14,7 @@
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include <sys/syscall.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/time/linux/monotonicity.h b/libc/src/__support/time/linux/monotonicity.h
index 5f18a419ce2b2..c7234db2e64c4 100644
--- a/libc/src/__support/time/linux/monotonicity.h
+++ b/libc/src/__support/time/linux/monotonicity.h
@@ -11,6 +11,7 @@
 
 #include "hdr/time_macros.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/abs_timeout.h"
 #include "src/__support/time/linux/clock_conversion.h"
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/__support/time/units.h b/libc/src/__support/time/units.h
index d16ad2ff9d58b..ff951992610a7 100644
--- a/libc/src/__support/time/units.h
+++ b/libc/src/__support/time/units.h
@@ -11,6 +11,7 @@
 
 #include "hdr/types/time_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace time_units {
diff --git a/libc/src/__support/wctype_utils.h b/libc/src/__support/wctype_utils.h
index 496f107115193..469d81250b535 100644
--- a/libc/src/__support/wctype_utils.h
+++ b/libc/src/__support/wctype_utils.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/optional.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 
 #define __need_wint_t
 #define __need_wchar_t
diff --git a/libc/src/assert/__assert_fail.h b/libc/src/assert/__assert_fail.h
index 10b438953c9c7..bbc0aa8e2bf23 100644
--- a/libc/src/assert/__assert_fail.h
+++ b/libc/src/assert/__assert_fail.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_ASSERT___ASSERT_FAIL_H
 #define LLVM_LIBC_SRC_ASSERT___ASSERT_FAIL_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/assert/generic/__assert_fail.cpp b/libc/src/assert/generic/__assert_fail.cpp
index 42f968d78b5e7..877336122eba2 100644
--- a/libc/src/assert/generic/__assert_fail.cpp
+++ b/libc/src/assert/generic/__assert_fail.cpp
@@ -9,6 +9,7 @@
 #include "src/assert/__assert_fail.h"
 #include "src/__support/OSUtil/io.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/abort.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/assert/gpu/__assert_fail.cpp b/libc/src/assert/gpu/__assert_fail.cpp
index ce62e1905399a..5b772426f28bc 100644
--- a/libc/src/assert/gpu/__assert_fail.cpp
+++ b/libc/src/assert/gpu/__assert_fail.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/GPU/utils.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/abort.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/ctype/isalnum.cpp b/libc/src/ctype/isalnum.cpp
index ad7c2e15f8c81..382553c23a6bf 100644
--- a/libc/src/ctype/isalnum.cpp
+++ b/libc/src/ctype/isalnum.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isalnum.h b/libc/src/ctype/isalnum.h
index 91bf774b79b9f..6516f2ebc327d 100644
--- a/libc/src/ctype/isalnum.h
+++ b/libc/src/ctype/isalnum.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISALNUM_H
 #define LLVM_LIBC_SRC_CTYPE_ISALNUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isalnum(int c);
diff --git a/libc/src/ctype/isalpha.cpp b/libc/src/ctype/isalpha.cpp
index afb26f0ea52cc..1a63406780b6e 100644
--- a/libc/src/ctype/isalpha.cpp
+++ b/libc/src/ctype/isalpha.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isalpha.h b/libc/src/ctype/isalpha.h
index 1aef47b6097eb..a21c4592365c0 100644
--- a/libc/src/ctype/isalpha.h
+++ b/libc/src/ctype/isalpha.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISALPHA_H
 #define LLVM_LIBC_SRC_CTYPE_ISALPHA_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isalpha(int c);
diff --git a/libc/src/ctype/isascii.cpp b/libc/src/ctype/isascii.cpp
index 9888b4c5f8808..ef3788d136e9d 100644
--- a/libc/src/ctype/isascii.cpp
+++ b/libc/src/ctype/isascii.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/isascii.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isascii.h b/libc/src/ctype/isascii.h
index bcfc65d222651..20473a7a493f2 100644
--- a/libc/src/ctype/isascii.h
+++ b/libc/src/ctype/isascii.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISASCII_H
 #define LLVM_LIBC_SRC_CTYPE_ISASCII_H
 
+#include "src/__support/macros/config.h"
 #undef isascii
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/ctype/isblank.cpp b/libc/src/ctype/isblank.cpp
index 240545bbf54fe..a4f33d265bd2d 100644
--- a/libc/src/ctype/isblank.cpp
+++ b/libc/src/ctype/isblank.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/isblank.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isblank.h b/libc/src/ctype/isblank.h
index fac754545f019..3fb69e8b620e8 100644
--- a/libc/src/ctype/isblank.h
+++ b/libc/src/ctype/isblank.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISBLANK_H
 #define LLVM_LIBC_SRC_CTYPE_ISBLANK_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isblank(int c);
diff --git a/libc/src/ctype/iscntrl.cpp b/libc/src/ctype/iscntrl.cpp
index b520b60ddd4b2..fb582fd6ef082 100644
--- a/libc/src/ctype/iscntrl.cpp
+++ b/libc/src/ctype/iscntrl.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/iscntrl.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/iscntrl.h b/libc/src/ctype/iscntrl.h
index 00d2f4a63ca75..ac8e2eb6a93d4 100644
--- a/libc/src/ctype/iscntrl.h
+++ b/libc/src/ctype/iscntrl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISCNTRL_H
 #define LLVM_LIBC_SRC_CTYPE_ISCNTRL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int iscntrl(int c);
diff --git a/libc/src/ctype/isdigit.cpp b/libc/src/ctype/isdigit.cpp
index 6f9ad8c97d90c..43c5f1940c7f0 100644
--- a/libc/src/ctype/isdigit.cpp
+++ b/libc/src/ctype/isdigit.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/isdigit.h"
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isdigit.h b/libc/src/ctype/isdigit.h
index 3eac175f29efa..ca8242d5c3018 100644
--- a/libc/src/ctype/isdigit.h
+++ b/libc/src/ctype/isdigit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISDIGIT_H
 #define LLVM_LIBC_SRC_CTYPE_ISDIGIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isdigit(int c);
diff --git a/libc/src/ctype/isgraph.cpp b/libc/src/ctype/isgraph.cpp
index a53a6bf2fcb79..a5b6e501b5813 100644
--- a/libc/src/ctype/isgraph.cpp
+++ b/libc/src/ctype/isgraph.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isgraph.h b/libc/src/ctype/isgraph.h
index 7a60338e9d9b7..bc9ab7dc9954c 100644
--- a/libc/src/ctype/isgraph.h
+++ b/libc/src/ctype/isgraph.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISGRAPH_H
 #define LLVM_LIBC_SRC_CTYPE_ISGRAPH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isgraph(int c);
diff --git a/libc/src/ctype/islower.cpp b/libc/src/ctype/islower.cpp
index 7a08d2dc9de50..61ccbcc1db413 100644
--- a/libc/src/ctype/islower.cpp
+++ b/libc/src/ctype/islower.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/islower.h b/libc/src/ctype/islower.h
index 96d4985bd951f..f279dc7d14c1b 100644
--- a/libc/src/ctype/islower.h
+++ b/libc/src/ctype/islower.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISLOWER_H
 #define LLVM_LIBC_SRC_CTYPE_ISLOWER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int islower(int c);
diff --git a/libc/src/ctype/isprint.cpp b/libc/src/ctype/isprint.cpp
index 4e12c2801eb23..42ab9cc8d238a 100644
--- a/libc/src/ctype/isprint.cpp
+++ b/libc/src/ctype/isprint.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/isprint.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isprint.h b/libc/src/ctype/isprint.h
index 116cac77dfb37..551e2eb006573 100644
--- a/libc/src/ctype/isprint.h
+++ b/libc/src/ctype/isprint.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISPRINT_H
 #define LLVM_LIBC_SRC_CTYPE_ISPRINT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isprint(int c);
diff --git a/libc/src/ctype/ispunct.cpp b/libc/src/ctype/ispunct.cpp
index c415606d09a53..c1906e3acdd80 100644
--- a/libc/src/ctype/ispunct.cpp
+++ b/libc/src/ctype/ispunct.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/ispunct.h b/libc/src/ctype/ispunct.h
index 02bdf11554c73..96775f4f68bac 100644
--- a/libc/src/ctype/ispunct.h
+++ b/libc/src/ctype/ispunct.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISPUNCT_H
 #define LLVM_LIBC_SRC_CTYPE_ISPUNCT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int ispunct(int c);
diff --git a/libc/src/ctype/isspace.cpp b/libc/src/ctype/isspace.cpp
index 36aa2ce4f4c40..f890849378784 100644
--- a/libc/src/ctype/isspace.cpp
+++ b/libc/src/ctype/isspace.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isspace.h b/libc/src/ctype/isspace.h
index ee62f203a7875..f76ae173c1be3 100644
--- a/libc/src/ctype/isspace.h
+++ b/libc/src/ctype/isspace.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISSPACE_H
 #define LLVM_LIBC_SRC_CTYPE_ISSPACE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isspace(int c);
diff --git a/libc/src/ctype/isupper.cpp b/libc/src/ctype/isupper.cpp
index 9a6a81db7a92d..8f929ea1a009e 100644
--- a/libc/src/ctype/isupper.cpp
+++ b/libc/src/ctype/isupper.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isupper.h b/libc/src/ctype/isupper.h
index 1761cfb42acb3..398f65376f0a0 100644
--- a/libc/src/ctype/isupper.h
+++ b/libc/src/ctype/isupper.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISUPPER_H
 #define LLVM_LIBC_SRC_CTYPE_ISUPPER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isupper(int c);
diff --git a/libc/src/ctype/isxdigit.cpp b/libc/src/ctype/isxdigit.cpp
index 1726eee07d620..391c5c53cee1e 100644
--- a/libc/src/ctype/isxdigit.cpp
+++ b/libc/src/ctype/isxdigit.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/isxdigit.h b/libc/src/ctype/isxdigit.h
index 632108b234f2f..8d0a0993dec8a 100644
--- a/libc/src/ctype/isxdigit.h
+++ b/libc/src/ctype/isxdigit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_ISXDIGIT_H
 #define LLVM_LIBC_SRC_CTYPE_ISXDIGIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isxdigit(int c);
diff --git a/libc/src/ctype/toascii.cpp b/libc/src/ctype/toascii.cpp
index 1f59a356f29d9..53b26b5bdd6d6 100644
--- a/libc/src/ctype/toascii.cpp
+++ b/libc/src/ctype/toascii.cpp
@@ -9,6 +9,7 @@
 #include "src/ctype/toascii.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/toascii.h b/libc/src/ctype/toascii.h
index 52fce8b4cf1b5..d41e58521ee70 100644
--- a/libc/src/ctype/toascii.h
+++ b/libc/src/ctype/toascii.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOASCII_H
 #define LLVM_LIBC_SRC_CTYPE_TOASCII_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int toascii(int c);
diff --git a/libc/src/ctype/tolower.cpp b/libc/src/ctype/tolower.cpp
index a952493530fd5..e230428eef2b1 100644
--- a/libc/src/ctype/tolower.cpp
+++ b/libc/src/ctype/tolower.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/tolower.h b/libc/src/ctype/tolower.h
index 4035779cd0fc9..d26d0b5f2f57c 100644
--- a/libc/src/ctype/tolower.h
+++ b/libc/src/ctype/tolower.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOLOWER_H
 #define LLVM_LIBC_SRC_CTYPE_TOLOWER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int tolower(int c);
diff --git a/libc/src/ctype/toupper.cpp b/libc/src/ctype/toupper.cpp
index 183470587033b..97c1ac2c02b8c 100644
--- a/libc/src/ctype/toupper.cpp
+++ b/libc/src/ctype/toupper.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/ctype/toupper.h b/libc/src/ctype/toupper.h
index b005cc8b234d5..03016873ec3d7 100644
--- a/libc/src/ctype/toupper.h
+++ b/libc/src/ctype/toupper.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_CTYPE_TOUPPER_H
 #define LLVM_LIBC_SRC_CTYPE_TOUPPER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int toupper(int c);
diff --git a/libc/src/dirent/closedir.cpp b/libc/src/dirent/closedir.cpp
index eee322e4cc844..1249ef94cf411 100644
--- a/libc/src/dirent/closedir.cpp
+++ b/libc/src/dirent/closedir.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/dir.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <dirent.h>
diff --git a/libc/src/dirent/closedir.h b/libc/src/dirent/closedir.h
index c20b7504ae53d..14df5fe5f4748 100644
--- a/libc/src/dirent/closedir.h
+++ b/libc/src/dirent/closedir.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_DIRENT_CLOSEDIR_H
 #define LLVM_LIBC_SRC_DIRENT_CLOSEDIR_H
 
+#include "src/__support/macros/config.h"
 #include <dirent.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/dirent/dirfd.cpp b/libc/src/dirent/dirfd.cpp
index 993eadecdb47e..e60a62d4e1445 100644
--- a/libc/src/dirent/dirfd.cpp
+++ b/libc/src/dirent/dirfd.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/dir.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <dirent.h>
 
diff --git a/libc/src/dirent/dirfd.h b/libc/src/dirent/dirfd.h
index a21e5d6bdbe75..ed037e2edfdd0 100644
--- a/libc/src/dirent/dirfd.h
+++ b/libc/src/dirent/dirfd.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_DIRENT_DIRFD_H
 #define LLVM_LIBC_SRC_DIRENT_DIRFD_H
 
+#include "src/__support/macros/config.h"
 #include <dirent.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/dirent/opendir.cpp b/libc/src/dirent/opendir.cpp
index 6af53539c4177..fee14ef0f558d 100644
--- a/libc/src/dirent/opendir.cpp
+++ b/libc/src/dirent/opendir.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/dir.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <dirent.h>
diff --git a/libc/src/dirent/opendir.h b/libc/src/dirent/opendir.h
index 72274a9f27577..a9f33586f2e59 100644
--- a/libc/src/dirent/opendir.h
+++ b/libc/src/dirent/opendir.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_DIRENT_OPENDIR_H
 #define LLVM_LIBC_SRC_DIRENT_OPENDIR_H
 
+#include "src/__support/macros/config.h"
 #include <dirent.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/dirent/readdir.cpp b/libc/src/dirent/readdir.cpp
index 3ac66e294b92f..ad460b5e80b8b 100644
--- a/libc/src/dirent/readdir.cpp
+++ b/libc/src/dirent/readdir.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/dir.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <dirent.h>
diff --git a/libc/src/dirent/readdir.h b/libc/src/dirent/readdir.h
index f0896d67e48a4..2dcf5360ebd35 100644
--- a/libc/src/dirent/readdir.h
+++ b/libc/src/dirent/readdir.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_DIRENT_READDIR_H
 #define LLVM_LIBC_SRC_DIRENT_READDIR_H
 
+#include "src/__support/macros/config.h"
 #include <dirent.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/dlfcn/dlclose.cpp b/libc/src/dlfcn/dlclose.cpp
index e212ef042ae90..e76eb74af681a 100644
--- a/libc/src/dlfcn/dlclose.cpp
+++ b/libc/src/dlfcn/dlclose.cpp
@@ -9,6 +9,7 @@
 #include "dlclose.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/dlfcn/dlclose.h b/libc/src/dlfcn/dlclose.h
index 883db12a251ad..4a9cb0091c467 100644
--- a/libc/src/dlfcn/dlclose.h
+++ b/libc/src/dlfcn/dlclose.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLCLOSE_H
 #define LLVM_LIBC_SRC_DLFCN_DLCLOSE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int dlclose(void *);
diff --git a/libc/src/dlfcn/dlerror.cpp b/libc/src/dlfcn/dlerror.cpp
index bf8b5646f6785..cb2f2f50e2ef6 100644
--- a/libc/src/dlfcn/dlerror.cpp
+++ b/libc/src/dlfcn/dlerror.cpp
@@ -9,6 +9,7 @@
 #include "dlerror.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/dlfcn/dlerror.h b/libc/src/dlfcn/dlerror.h
index 13dfc9e11bca4..79a2f6e114fe0 100644
--- a/libc/src/dlfcn/dlerror.h
+++ b/libc/src/dlfcn/dlerror.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLERROR_H
 #define LLVM_LIBC_SRC_DLFCN_DLERROR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *dlerror();
diff --git a/libc/src/dlfcn/dlopen.cpp b/libc/src/dlfcn/dlopen.cpp
index 16a283c7cb796..9e8d58e347635 100644
--- a/libc/src/dlfcn/dlopen.cpp
+++ b/libc/src/dlfcn/dlopen.cpp
@@ -9,6 +9,7 @@
 #include "dlopen.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/dlfcn/dlopen.h b/libc/src/dlfcn/dlopen.h
index dfcb481e6fb80..607ef7af08c81 100644
--- a/libc/src/dlfcn/dlopen.h
+++ b/libc/src/dlfcn/dlopen.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLOPEN_H
 #define LLVM_LIBC_SRC_DLFCN_DLOPEN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 void *dlopen(const char *, int);
diff --git a/libc/src/dlfcn/dlsym.cpp b/libc/src/dlfcn/dlsym.cpp
index bd278500bd1c7..c075c203bd583 100644
--- a/libc/src/dlfcn/dlsym.cpp
+++ b/libc/src/dlfcn/dlsym.cpp
@@ -9,6 +9,7 @@
 #include "dlsym.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/dlfcn/dlsym.h b/libc/src/dlfcn/dlsym.h
index 22522b2ad85a2..70c6ab3fbb143 100644
--- a/libc/src/dlfcn/dlsym.h
+++ b/libc/src/dlfcn/dlsym.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_DLFCN_DLSYM_H
 #define LLVM_LIBC_SRC_DLFCN_DLSYM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 void *dlsym(void *, const char *);
diff --git a/libc/src/errno/libc_errno.cpp b/libc/src/errno/libc_errno.cpp
index 43aeafc884fcf..341636f0495c1 100644
--- a/libc/src/errno/libc_errno.cpp
+++ b/libc/src/errno/libc_errno.cpp
@@ -8,6 +8,7 @@
 
 #include "libc_errno.h"
 #include "src/__support/CPP/atomic.h"
+#include "src/__support/macros/config.h"
 
 #ifdef LIBC_TARGET_ARCH_IS_GPU
 // LIBC_THREAD_LOCAL on GPU currently does nothing. So essentially this is just
diff --git a/libc/src/errno/libc_errno.h b/libc/src/errno/libc_errno.h
index 566f899f0a0a7..8d28a01c8b7bb 100644
--- a/libc/src/errno/libc_errno.h
+++ b/libc/src/errno/libc_errno.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_ERRNO_LIBC_ERRNO_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #include "hdr/errno_macros.h"
diff --git a/libc/src/fcntl/creat.h b/libc/src/fcntl/creat.h
index 2dcd363f08603..e180e17c25788 100644
--- a/libc/src/fcntl/creat.h
+++ b/libc/src/fcntl/creat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_FCNTL_CREAT_H
 #define LLVM_LIBC_SRC_FCNTL_CREAT_H
 
+#include "src/__support/macros/config.h"
 #include <fcntl.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/fcntl/fcntl.h b/libc/src/fcntl/fcntl.h
index 330a829d0d825..02d7250b632de 100644
--- a/libc/src/fcntl/fcntl.h
+++ b/libc/src/fcntl/fcntl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FCNTL_FCNTL_H
 #define LLVM_LIBC_SRC_FCNTL_FCNTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fcntl(int fd, int cmd, ...);
diff --git a/libc/src/fcntl/linux/creat.cpp b/libc/src/fcntl/linux/creat.cpp
index cdddaf35528b5..2c5b5d736a3be 100644
--- a/libc/src/fcntl/linux/creat.cpp
+++ b/libc/src/fcntl/linux/creat.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/fcntl/linux/fcntl.cpp b/libc/src/fcntl/linux/fcntl.cpp
index a59f6d3dd2d93..a0c8459ced342 100644
--- a/libc/src/fcntl/linux/fcntl.cpp
+++ b/libc/src/fcntl/linux/fcntl.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/fcntl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdarg.h>
 
diff --git a/libc/src/fcntl/linux/open.cpp b/libc/src/fcntl/linux/open.cpp
index 4eb769dc3c90f..79b7b2b32c887 100644
--- a/libc/src/fcntl/linux/open.cpp
+++ b/libc/src/fcntl/linux/open.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/fcntl/linux/openat.cpp b/libc/src/fcntl/linux/openat.cpp
index 027e0e492d554..0862082c22ebf 100644
--- a/libc/src/fcntl/linux/openat.cpp
+++ b/libc/src/fcntl/linux/openat.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/fcntl/open.h b/libc/src/fcntl/open.h
index 02b681d1572ac..19bb53c2e3203 100644
--- a/libc/src/fcntl/open.h
+++ b/libc/src/fcntl/open.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_FCNTL_OPEN_H
 #define LLVM_LIBC_SRC_FCNTL_OPEN_H
 
+#include "src/__support/macros/config.h"
 #include <fcntl.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/fcntl/openat.h b/libc/src/fcntl/openat.h
index 9bffcd3cf7154..d09791a84f735 100644
--- a/libc/src/fcntl/openat.h
+++ b/libc/src/fcntl/openat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_FCNTL_OPENAT_H
 #define LLVM_LIBC_SRC_FCNTL_OPENAT_H
 
+#include "src/__support/macros/config.h"
 #include <fcntl.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/fenv/feclearexcept.cpp b/libc/src/fenv/feclearexcept.cpp
index 3ac659f1a1cf0..c8a032fe399b9 100644
--- a/libc/src/fenv/feclearexcept.cpp
+++ b/libc/src/fenv/feclearexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/feclearexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feclearexcept.h b/libc/src/fenv/feclearexcept.h
index a4041d12e6c7c..19379edbdfe27 100644
--- a/libc/src/fenv/feclearexcept.h
+++ b/libc/src/fenv/feclearexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FECLEAREXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FECLEAREXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int feclearexcept(int);
diff --git a/libc/src/fenv/fedisableexcept.cpp b/libc/src/fenv/fedisableexcept.cpp
index 470149f2f8161..a2a1e97c54a87 100644
--- a/libc/src/fenv/fedisableexcept.cpp
+++ b/libc/src/fenv/fedisableexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fedisableexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fedisableexcept.h b/libc/src/fenv/fedisableexcept.h
index 1f52dbf0677e2..6aa0981b20557 100644
--- a/libc/src/fenv/fedisableexcept.h
+++ b/libc/src/fenv/fedisableexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEDISABLEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEDISABLEEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fedisableexcept(int);
diff --git a/libc/src/fenv/feenableexcept.cpp b/libc/src/fenv/feenableexcept.cpp
index 087e85c5be46e..468a170919e61 100644
--- a/libc/src/fenv/feenableexcept.cpp
+++ b/libc/src/fenv/feenableexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/feenableexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feenableexcept.h b/libc/src/fenv/feenableexcept.h
index c42384f6812f1..0ed19f4dd407f 100644
--- a/libc/src/fenv/feenableexcept.h
+++ b/libc/src/fenv/feenableexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEENABLEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEENABLEEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int feenableexcept(int);
diff --git a/libc/src/fenv/fegetenv.cpp b/libc/src/fenv/fegetenv.cpp
index ed9bd96e05315..c692b87c219a6 100644
--- a/libc/src/fenv/fegetenv.cpp
+++ b/libc/src/fenv/fegetenv.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fegetenv.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetenv.h b/libc/src/fenv/fegetenv.h
index b0baf458bb738..58a5e7db65226 100644
--- a/libc/src/fenv/fegetenv.h
+++ b/libc/src/fenv/fegetenv.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FEGETENV_H
 
 #include "hdr/types/fenv_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetexcept.cpp b/libc/src/fenv/fegetexcept.cpp
index bf7b6c926ba5f..2b3de83848b91 100644
--- a/libc/src/fenv/fegetexcept.cpp
+++ b/libc/src/fenv/fegetexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fegetexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetexcept.h b/libc/src/fenv/fegetexcept.h
index d8e0de43e8dbf..eaf48e669e768 100644
--- a/libc/src/fenv/fegetexcept.h
+++ b/libc/src/fenv/fegetexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEGETEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FEGETEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fegetexcept();
diff --git a/libc/src/fenv/fegetexceptflag.cpp b/libc/src/fenv/fegetexceptflag.cpp
index 6895268b58ce5..58418cc9cc334 100644
--- a/libc/src/fenv/fegetexceptflag.cpp
+++ b/libc/src/fenv/fegetexceptflag.cpp
@@ -10,6 +10,7 @@
 #include "hdr/types/fexcept_t.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetexceptflag.h b/libc/src/fenv/fegetexceptflag.h
index d3c1ee3255124..c427bfbfc48de 100644
--- a/libc/src/fenv/fegetexceptflag.h
+++ b/libc/src/fenv/fegetexceptflag.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FEGETEXCEPTFLAG_H
 
 #include "hdr/types/fexcept_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetround.cpp b/libc/src/fenv/fegetround.cpp
index 368fa56e43741..4f5caedb77a8c 100644
--- a/libc/src/fenv/fegetround.cpp
+++ b/libc/src/fenv/fegetround.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fegetround.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fegetround.h b/libc/src/fenv/fegetround.h
index cccfdbfdd5478..2887c33786d68 100644
--- a/libc/src/fenv/fegetround.h
+++ b/libc/src/fenv/fegetround.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FEGETROUND_H
 #define LLVM_LIBC_SRC_FENV_FEGETROUND_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fegetround();
diff --git a/libc/src/fenv/feholdexcept.cpp b/libc/src/fenv/feholdexcept.cpp
index 12435a66df00a..81b3ea435e552 100644
--- a/libc/src/fenv/feholdexcept.cpp
+++ b/libc/src/fenv/feholdexcept.cpp
@@ -10,6 +10,7 @@
 #include "hdr/types/fenv_t.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feholdexcept.h b/libc/src/fenv/feholdexcept.h
index 5c1dccf7d526a..1882538e1292c 100644
--- a/libc/src/fenv/feholdexcept.h
+++ b/libc/src/fenv/feholdexcept.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FEHOLDEXCEPT_H
 
 #include "hdr/types/fenv_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feraiseexcept.cpp b/libc/src/fenv/feraiseexcept.cpp
index 266a2d014eefe..6eaa09dd49a62 100644
--- a/libc/src/fenv/feraiseexcept.cpp
+++ b/libc/src/fenv/feraiseexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/feraiseexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feraiseexcept.h b/libc/src/fenv/feraiseexcept.h
index 21b06579878a9..af62427540830 100644
--- a/libc/src/fenv/feraiseexcept.h
+++ b/libc/src/fenv/feraiseexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FERAISEEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FERAISEEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int feraiseexcept(int);
diff --git a/libc/src/fenv/fesetenv.cpp b/libc/src/fenv/fesetenv.cpp
index b2ce0cacaab0c..7a9f90a740ded 100644
--- a/libc/src/fenv/fesetenv.cpp
+++ b/libc/src/fenv/fesetenv.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fesetenv.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetenv.h b/libc/src/fenv/fesetenv.h
index c49922a2b6284..2f42ebc828ae7 100644
--- a/libc/src/fenv/fesetenv.h
+++ b/libc/src/fenv/fesetenv.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FESETENV_H
 
 #include "hdr/types/fenv_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetexcept.cpp b/libc/src/fenv/fesetexcept.cpp
index 5d2ae0623c933..87758211b7fe3 100644
--- a/libc/src/fenv/fesetexcept.cpp
+++ b/libc/src/fenv/fesetexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fesetexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetexcept.h b/libc/src/fenv/fesetexcept.h
index 4b7b4710dc7b9..7b0d8d3d6c36c 100644
--- a/libc/src/fenv/fesetexcept.h
+++ b/libc/src/fenv/fesetexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FESETEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FESETEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fesetexcept(int excepts);
diff --git a/libc/src/fenv/fesetexceptflag.cpp b/libc/src/fenv/fesetexceptflag.cpp
index 5ac987aa382f6..9cec9d15d9742 100644
--- a/libc/src/fenv/fesetexceptflag.cpp
+++ b/libc/src/fenv/fesetexceptflag.cpp
@@ -10,6 +10,7 @@
 #include "hdr/types/fexcept_t.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetexceptflag.h b/libc/src/fenv/fesetexceptflag.h
index 3a109db0532ce..74564151a52e0 100644
--- a/libc/src/fenv/fesetexceptflag.h
+++ b/libc/src/fenv/fesetexceptflag.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FESETEXCEPTFLAG_H
 
 #include "hdr/types/fexcept_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetround.cpp b/libc/src/fenv/fesetround.cpp
index 7b0f1f4836fed..6f65f9fc4adcf 100644
--- a/libc/src/fenv/fesetround.cpp
+++ b/libc/src/fenv/fesetround.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fesetround.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fesetround.h b/libc/src/fenv/fesetround.h
index d1a5e29da75fa..5b15c4fb0acdd 100644
--- a/libc/src/fenv/fesetround.h
+++ b/libc/src/fenv/fesetround.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FESETROUND_H
 #define LLVM_LIBC_SRC_FENV_FESETROUND_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fesetround(int);
diff --git a/libc/src/fenv/fetestexcept.cpp b/libc/src/fenv/fetestexcept.cpp
index 02d5c4919be83..f4986acca6eb8 100644
--- a/libc/src/fenv/fetestexcept.cpp
+++ b/libc/src/fenv/fetestexcept.cpp
@@ -9,6 +9,7 @@
 #include "src/fenv/fetestexcept.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fetestexcept.h b/libc/src/fenv/fetestexcept.h
index 1ffbe20e2c241..07f30aef0177d 100644
--- a/libc/src/fenv/fetestexcept.h
+++ b/libc/src/fenv/fetestexcept.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_FENV_FETESTEXCEPT_H
 #define LLVM_LIBC_SRC_FENV_FETESTEXCEPT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fetestexcept(int);
diff --git a/libc/src/fenv/fetestexceptflag.cpp b/libc/src/fenv/fetestexceptflag.cpp
index 0fd5a374d31a6..03ba1e6f3f3b4 100644
--- a/libc/src/fenv/fetestexceptflag.cpp
+++ b/libc/src/fenv/fetestexceptflag.cpp
@@ -10,6 +10,7 @@
 #include "hdr/types/fexcept_t.h"
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/fetestexceptflag.h b/libc/src/fenv/fetestexceptflag.h
index 3bda5c93b294c..4cf6434703ed4 100644
--- a/libc/src/fenv/fetestexceptflag.h
+++ b/libc/src/fenv/fetestexceptflag.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FETESTEXCEPTFLAG_H
 
 #include "hdr/types/fexcept_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feupdateenv.cpp b/libc/src/fenv/feupdateenv.cpp
index 9925a750c6c6b..1cc730ca8bed0 100644
--- a/libc/src/fenv/feupdateenv.cpp
+++ b/libc/src/fenv/feupdateenv.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/common.h"
 
 #include "hdr/types/fenv_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/fenv/feupdateenv.h b/libc/src/fenv/feupdateenv.h
index aa0789eb2171e..52212cba66cc2 100644
--- a/libc/src/fenv/feupdateenv.h
+++ b/libc/src/fenv/feupdateenv.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_FENV_FEUPDATEENV_H
 
 #include "hdr/types/fenv_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/gpu/rpc_fprintf.cpp b/libc/src/gpu/rpc_fprintf.cpp
index 4f8013c22c835..321137ef24955 100644
--- a/libc/src/gpu/rpc_fprintf.cpp
+++ b/libc/src/gpu/rpc_fprintf.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/gpu/file.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/gpu/rpc_fprintf.h b/libc/src/gpu/rpc_fprintf.h
index 193e98a78424f..510ef56904873 100644
--- a/libc/src/gpu/rpc_fprintf.h
+++ b/libc/src/gpu/rpc_fprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
 #define LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <stdio.h>
 
diff --git a/libc/src/gpu/rpc_host_call.cpp b/libc/src/gpu/rpc_host_call.cpp
index 0f35ff4b9fceb..ca2e331340a6c 100644
--- a/libc/src/gpu/rpc_host_call.cpp
+++ b/libc/src/gpu/rpc_host_call.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/gpu/rpc_host_call.h b/libc/src/gpu/rpc_host_call.h
index 7689e162edfde..7cfea757ccdfd 100644
--- a/libc/src/gpu/rpc_host_call.h
+++ b/libc/src/gpu/rpc_host_call.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
 #define LLVM_LIBC_SRC_GPU_RPC_HOST_CALL_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/inttypes/imaxabs.cpp b/libc/src/inttypes/imaxabs.cpp
index 05ab5c92ce185..385fd9b131713 100644
--- a/libc/src/inttypes/imaxabs.cpp
+++ b/libc/src/inttypes/imaxabs.cpp
@@ -9,6 +9,7 @@
 #include "src/inttypes/imaxabs.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/inttypes/imaxabs.h b/libc/src/inttypes/imaxabs.h
index 136947ee211d5..4cc39e295d486 100644
--- a/libc/src/inttypes/imaxabs.h
+++ b/libc/src/inttypes/imaxabs.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_INTTYPES_IMAXABS_H
 #define LLVM_LIBC_SRC_INTTYPES_IMAXABS_H
 
+#include "src/__support/macros/config.h"
 #include <inttypes.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/inttypes/imaxdiv.cpp b/libc/src/inttypes/imaxdiv.cpp
index 31d634f27f871..4b878d55c881c 100644
--- a/libc/src/inttypes/imaxdiv.cpp
+++ b/libc/src/inttypes/imaxdiv.cpp
@@ -9,6 +9,7 @@
 #include "src/inttypes/imaxdiv.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/inttypes/imaxdiv.h b/libc/src/inttypes/imaxdiv.h
index be5d2527f7fae..6dbefafc0fa1c 100644
--- a/libc/src/inttypes/imaxdiv.h
+++ b/libc/src/inttypes/imaxdiv.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_INTTYPES_IMAXDIV_H
 #define LLVM_LIBC_SRC_INTTYPES_IMAXDIV_H
 
+#include "src/__support/macros/config.h"
 #include <inttypes.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/inttypes/strtoimax.cpp b/libc/src/inttypes/strtoimax.cpp
index 2c31a6d8d2245..85f197c75d90c 100644
--- a/libc/src/inttypes/strtoimax.cpp
+++ b/libc/src/inttypes/strtoimax.cpp
@@ -8,6 +8,7 @@
 
 #include "src/inttypes/strtoimax.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/inttypes/strtoimax.h b/libc/src/inttypes/strtoimax.h
index f6e8cd8a42bfb..804d07c219aad 100644
--- a/libc/src/inttypes/strtoimax.h
+++ b/libc/src/inttypes/strtoimax.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_INTTYPES_STRTOIMAX_H
 #define LLVM_LIBC_SRC_INTTYPES_STRTOIMAX_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/inttypes/strtoumax.cpp b/libc/src/inttypes/strtoumax.cpp
index 59809e2957bf8..2e9cbc9acba75 100644
--- a/libc/src/inttypes/strtoumax.cpp
+++ b/libc/src/inttypes/strtoumax.cpp
@@ -8,6 +8,7 @@
 
 #include "src/inttypes/strtoumax.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/inttypes/strtoumax.h b/libc/src/inttypes/strtoumax.h
index f6dbde2f02590..4c53c0362b9e5 100644
--- a/libc/src/inttypes/strtoumax.h
+++ b/libc/src/inttypes/strtoumax.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_INTTYPES_STRTOUMAX_H
 #define LLVM_LIBC_SRC_INTTYPES_STRTOUMAX_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/aarch64/ceil.cpp b/libc/src/math/aarch64/ceil.cpp
index 40a6f3a30ad40..5bfd053d603de 100644
--- a/libc/src/math/aarch64/ceil.cpp
+++ b/libc/src/math/aarch64/ceil.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/ceilf.cpp b/libc/src/math/aarch64/ceilf.cpp
index cc16ea62bd026..2352245bc8303 100644
--- a/libc/src/math/aarch64/ceilf.cpp
+++ b/libc/src/math/aarch64/ceilf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/floor.cpp b/libc/src/math/aarch64/floor.cpp
index 85098089bac23..f9da52bdd45a8 100644
--- a/libc/src/math/aarch64/floor.cpp
+++ b/libc/src/math/aarch64/floor.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floor.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/floorf.cpp b/libc/src/math/aarch64/floorf.cpp
index 5d7d26034bc16..980b3c52a00b5 100644
--- a/libc/src/math/aarch64/floorf.cpp
+++ b/libc/src/math/aarch64/floorf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/round.cpp b/libc/src/math/aarch64/round.cpp
index d41784f18f954..c85445aa19ab5 100644
--- a/libc/src/math/aarch64/round.cpp
+++ b/libc/src/math/aarch64/round.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/round.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/roundf.cpp b/libc/src/math/aarch64/roundf.cpp
index 10167368dc219..0c7f7640e8278 100644
--- a/libc/src/math/aarch64/roundf.cpp
+++ b/libc/src/math/aarch64/roundf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/trunc.cpp b/libc/src/math/aarch64/trunc.cpp
index af53630c7ea07..1ef26f44fd234 100644
--- a/libc/src/math/aarch64/trunc.cpp
+++ b/libc/src/math/aarch64/trunc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/aarch64/truncf.cpp b/libc/src/math/aarch64/truncf.cpp
index 3c07fadf3abdc..0c64ef60e91c4 100644
--- a/libc/src/math/aarch64/truncf.cpp
+++ b/libc/src/math/aarch64/truncf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/acos.h b/libc/src/math/acos.h
index de0f395cbaaa0..fed59e2b67de8 100644
--- a/libc/src/math/acos.h
+++ b/libc/src/math/acos.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOS_H
 #define LLVM_LIBC_SRC_MATH_ACOS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double acos(double x);
diff --git a/libc/src/math/acosf.h b/libc/src/math/acosf.h
index d768808950d56..839f7dfa7483c 100644
--- a/libc/src/math/acosf.h
+++ b/libc/src/math/acosf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSF_H
 #define LLVM_LIBC_SRC_MATH_ACOSF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float acosf(float x);
diff --git a/libc/src/math/acosh.h b/libc/src/math/acosh.h
index e2e76204d8b17..7d59b6c9241d3 100644
--- a/libc/src/math/acosh.h
+++ b/libc/src/math/acosh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSH_H
 #define LLVM_LIBC_SRC_MATH_ACOSH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double acosh(double x);
diff --git a/libc/src/math/acoshf.h b/libc/src/math/acoshf.h
index c46245ba98d73..a6f08bd9c68ec 100644
--- a/libc/src/math/acoshf.h
+++ b/libc/src/math/acoshf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ACOSHF_H
 #define LLVM_LIBC_SRC_MATH_ACOSHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float acoshf(float x);
diff --git a/libc/src/math/amdgpu/acos.cpp b/libc/src/math/amdgpu/acos.cpp
index caac8e2b43f0a..de870f207326e 100644
--- a/libc/src/math/amdgpu/acos.cpp
+++ b/libc/src/math/amdgpu/acos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/acosf.cpp b/libc/src/math/amdgpu/acosf.cpp
index 1c7639defb3c3..0a72a70a3ee9d 100644
--- a/libc/src/math/amdgpu/acosf.cpp
+++ b/libc/src/math/amdgpu/acosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/acosh.cpp b/libc/src/math/amdgpu/acosh.cpp
index d11fce170a3a4..15c9734499832 100644
--- a/libc/src/math/amdgpu/acosh.cpp
+++ b/libc/src/math/amdgpu/acosh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/acoshf.cpp b/libc/src/math/amdgpu/acoshf.cpp
index c0a70b3431ab2..79e71b02e7198 100644
--- a/libc/src/math/amdgpu/acoshf.cpp
+++ b/libc/src/math/amdgpu/acoshf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/asin.cpp b/libc/src/math/amdgpu/asin.cpp
index b8a95cb8e5339..a79641e1977cb 100644
--- a/libc/src/math/amdgpu/asin.cpp
+++ b/libc/src/math/amdgpu/asin.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/asinf.cpp b/libc/src/math/amdgpu/asinf.cpp
index 92b816af70453..e70944a4d9890 100644
--- a/libc/src/math/amdgpu/asinf.cpp
+++ b/libc/src/math/amdgpu/asinf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/asinh.cpp b/libc/src/math/amdgpu/asinh.cpp
index 7d94bea66ddb5..642368592a99b 100644
--- a/libc/src/math/amdgpu/asinh.cpp
+++ b/libc/src/math/amdgpu/asinh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/asinhf.cpp b/libc/src/math/amdgpu/asinhf.cpp
index 2f583da45a2d1..bafa77f946000 100644
--- a/libc/src/math/amdgpu/asinhf.cpp
+++ b/libc/src/math/amdgpu/asinhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atan.cpp b/libc/src/math/amdgpu/atan.cpp
index 99134f200b525..49941e97096f7 100644
--- a/libc/src/math/amdgpu/atan.cpp
+++ b/libc/src/math/amdgpu/atan.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atan2.cpp b/libc/src/math/amdgpu/atan2.cpp
index 3ddc21ccef3cf..f5907504cb364 100644
--- a/libc/src/math/amdgpu/atan2.cpp
+++ b/libc/src/math/amdgpu/atan2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atan2f.cpp b/libc/src/math/amdgpu/atan2f.cpp
index b78a8fc430894..736c77d1cbce9 100644
--- a/libc/src/math/amdgpu/atan2f.cpp
+++ b/libc/src/math/amdgpu/atan2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atanf.cpp b/libc/src/math/amdgpu/atanf.cpp
index 765d39b20e879..ab1837dd026b7 100644
--- a/libc/src/math/amdgpu/atanf.cpp
+++ b/libc/src/math/amdgpu/atanf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atanh.cpp b/libc/src/math/amdgpu/atanh.cpp
index 6f4edfcae8d0d..091c155190f94 100644
--- a/libc/src/math/amdgpu/atanh.cpp
+++ b/libc/src/math/amdgpu/atanh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/atanhf.cpp b/libc/src/math/amdgpu/atanhf.cpp
index 2d6a07ab53ab6..fa9cf39383963 100644
--- a/libc/src/math/amdgpu/atanhf.cpp
+++ b/libc/src/math/amdgpu/atanhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ceil.cpp b/libc/src/math/amdgpu/ceil.cpp
index 53723a69d9f42..8834c7b560a1b 100644
--- a/libc/src/math/amdgpu/ceil.cpp
+++ b/libc/src/math/amdgpu/ceil.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ceilf.cpp b/libc/src/math/amdgpu/ceilf.cpp
index 71605c3292b14..5d26a30c849cd 100644
--- a/libc/src/math/amdgpu/ceilf.cpp
+++ b/libc/src/math/amdgpu/ceilf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/copysign.cpp b/libc/src/math/amdgpu/copysign.cpp
index e135deb9ea73d..06ef36fb3595f 100644
--- a/libc/src/math/amdgpu/copysign.cpp
+++ b/libc/src/math/amdgpu/copysign.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/copysign.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/copysignf.cpp b/libc/src/math/amdgpu/copysignf.cpp
index f11c20d2ff515..aea94f3577d8f 100644
--- a/libc/src/math/amdgpu/copysignf.cpp
+++ b/libc/src/math/amdgpu/copysignf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/copysignf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/cos.cpp b/libc/src/math/amdgpu/cos.cpp
index 34561c6a3e826..a4d4c94dd7ac7 100644
--- a/libc/src/math/amdgpu/cos.cpp
+++ b/libc/src/math/amdgpu/cos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/cosf.cpp b/libc/src/math/amdgpu/cosf.cpp
index d50f2c873fd57..99ec1185a8346 100644
--- a/libc/src/math/amdgpu/cosf.cpp
+++ b/libc/src/math/amdgpu/cosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/cosh.cpp b/libc/src/math/amdgpu/cosh.cpp
index cf1d71e49d64c..d94d7af251261 100644
--- a/libc/src/math/amdgpu/cosh.cpp
+++ b/libc/src/math/amdgpu/cosh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/coshf.cpp b/libc/src/math/amdgpu/coshf.cpp
index ca5156e63729f..5b641be27818a 100644
--- a/libc/src/math/amdgpu/coshf.cpp
+++ b/libc/src/math/amdgpu/coshf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/declarations.h b/libc/src/math/amdgpu/declarations.h
index ea69eea014fce..98c14ee43cd19 100644
--- a/libc/src/math/amdgpu/declarations.h
+++ b/libc/src/math/amdgpu/declarations.h
@@ -12,6 +12,7 @@
 #include "platform.h"
 
 #include "src/__support/GPU/utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/erf.cpp b/libc/src/math/amdgpu/erf.cpp
index 94b17484e44f2..07ae268ff2cdc 100644
--- a/libc/src/math/amdgpu/erf.cpp
+++ b/libc/src/math/amdgpu/erf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/erff.cpp b/libc/src/math/amdgpu/erff.cpp
index 2b3835ec9b711..a4b7b275cfcc2 100644
--- a/libc/src/math/amdgpu/erff.cpp
+++ b/libc/src/math/amdgpu/erff.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/exp.cpp b/libc/src/math/amdgpu/exp.cpp
index 2048e091fdc44..dae79bec5599b 100644
--- a/libc/src/math/amdgpu/exp.cpp
+++ b/libc/src/math/amdgpu/exp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/exp10.cpp b/libc/src/math/amdgpu/exp10.cpp
index 6da498424ce15..f13d218ca88c4 100644
--- a/libc/src/math/amdgpu/exp10.cpp
+++ b/libc/src/math/amdgpu/exp10.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/exp10f.cpp b/libc/src/math/amdgpu/exp10f.cpp
index 9ef9534f0f904..883e734e06877 100644
--- a/libc/src/math/amdgpu/exp10f.cpp
+++ b/libc/src/math/amdgpu/exp10f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/exp2.cpp b/libc/src/math/amdgpu/exp2.cpp
index 7495ce3106cb1..fb336cf48f157 100644
--- a/libc/src/math/amdgpu/exp2.cpp
+++ b/libc/src/math/amdgpu/exp2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/exp2f.cpp b/libc/src/math/amdgpu/exp2f.cpp
index 23fd2d0e7600b..77b4a9c3b86e7 100644
--- a/libc/src/math/amdgpu/exp2f.cpp
+++ b/libc/src/math/amdgpu/exp2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/expf.cpp b/libc/src/math/amdgpu/expf.cpp
index e2e1929e8b2d1..6c44aad164bfd 100644
--- a/libc/src/math/amdgpu/expf.cpp
+++ b/libc/src/math/amdgpu/expf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/expm1.cpp b/libc/src/math/amdgpu/expm1.cpp
index 8f6853a788d1b..df3643f9c78b5 100644
--- a/libc/src/math/amdgpu/expm1.cpp
+++ b/libc/src/math/amdgpu/expm1.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/expm1f.cpp b/libc/src/math/amdgpu/expm1f.cpp
index 098907fcf9ee8..2409997f479c3 100644
--- a/libc/src/math/amdgpu/expm1f.cpp
+++ b/libc/src/math/amdgpu/expm1f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fabs.cpp b/libc/src/math/amdgpu/fabs.cpp
index 441952e907030..bb37596b9d563 100644
--- a/libc/src/math/amdgpu/fabs.cpp
+++ b/libc/src/math/amdgpu/fabs.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fabs.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fabsf.cpp b/libc/src/math/amdgpu/fabsf.cpp
index 363a9a856d260..2698618f3f1e1 100644
--- a/libc/src/math/amdgpu/fabsf.cpp
+++ b/libc/src/math/amdgpu/fabsf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fabsf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fdim.cpp b/libc/src/math/amdgpu/fdim.cpp
index 4cbea93ca3743..8ade0b21503b1 100644
--- a/libc/src/math/amdgpu/fdim.cpp
+++ b/libc/src/math/amdgpu/fdim.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fdimf.cpp b/libc/src/math/amdgpu/fdimf.cpp
index 7cb1e881a2df6..ed3855e5ce2d6 100644
--- a/libc/src/math/amdgpu/fdimf.cpp
+++ b/libc/src/math/amdgpu/fdimf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/floor.cpp b/libc/src/math/amdgpu/floor.cpp
index a8baed4dcc1a2..564efa9a7da38 100644
--- a/libc/src/math/amdgpu/floor.cpp
+++ b/libc/src/math/amdgpu/floor.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floor.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/floorf.cpp b/libc/src/math/amdgpu/floorf.cpp
index 9b4ebe5d3b971..6717c8f60c992 100644
--- a/libc/src/math/amdgpu/floorf.cpp
+++ b/libc/src/math/amdgpu/floorf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fma.cpp b/libc/src/math/amdgpu/fma.cpp
index 11dedbbd7ce8d..c4a117e42a3aa 100644
--- a/libc/src/math/amdgpu/fma.cpp
+++ b/libc/src/math/amdgpu/fma.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fma.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fmaf.cpp b/libc/src/math/amdgpu/fmaf.cpp
index 2a1f454fd6c70..c088bd5b30fea 100644
--- a/libc/src/math/amdgpu/fmaf.cpp
+++ b/libc/src/math/amdgpu/fmaf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmaf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fmax.cpp b/libc/src/math/amdgpu/fmax.cpp
index f6239667e9b2b..474019733598f 100644
--- a/libc/src/math/amdgpu/fmax.cpp
+++ b/libc/src/math/amdgpu/fmax.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/amdgpu/fmaxf.cpp b/libc/src/math/amdgpu/fmaxf.cpp
index 08877a5124cb6..59ee8259c025a 100644
--- a/libc/src/math/amdgpu/fmaxf.cpp
+++ b/libc/src/math/amdgpu/fmaxf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaxf.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fmin.cpp b/libc/src/math/amdgpu/fmin.cpp
index 94a0a3e9a720c..694eb664b599b 100644
--- a/libc/src/math/amdgpu/fmin.cpp
+++ b/libc/src/math/amdgpu/fmin.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmin.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fminf.cpp b/libc/src/math/amdgpu/fminf.cpp
index 8317944f96eed..2060b71b0841f 100644
--- a/libc/src/math/amdgpu/fminf.cpp
+++ b/libc/src/math/amdgpu/fminf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminf.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fmod.cpp b/libc/src/math/amdgpu/fmod.cpp
index 7edc9fdc9a62d..49d19c4decb96 100644
--- a/libc/src/math/amdgpu/fmod.cpp
+++ b/libc/src/math/amdgpu/fmod.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/fmodf.cpp b/libc/src/math/amdgpu/fmodf.cpp
index 0eeb34e0c97cc..8fbcb0cc2ad9e 100644
--- a/libc/src/math/amdgpu/fmodf.cpp
+++ b/libc/src/math/amdgpu/fmodf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmodf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/frexp.cpp b/libc/src/math/amdgpu/frexp.cpp
index c5ba7e2558714..00e5187c0c719 100644
--- a/libc/src/math/amdgpu/frexp.cpp
+++ b/libc/src/math/amdgpu/frexp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/frexpf.cpp b/libc/src/math/amdgpu/frexpf.cpp
index 534aa2d597c72..2799e542efae2 100644
--- a/libc/src/math/amdgpu/frexpf.cpp
+++ b/libc/src/math/amdgpu/frexpf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/hypot.cpp b/libc/src/math/amdgpu/hypot.cpp
index e4aa71de5f85e..dcf1152a75160 100644
--- a/libc/src/math/amdgpu/hypot.cpp
+++ b/libc/src/math/amdgpu/hypot.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/hypotf.cpp b/libc/src/math/amdgpu/hypotf.cpp
index 711d978e60c46..68ec659d12e5b 100644
--- a/libc/src/math/amdgpu/hypotf.cpp
+++ b/libc/src/math/amdgpu/hypotf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ilogb.cpp b/libc/src/math/amdgpu/ilogb.cpp
index bf5418ddb7218..37f24dfd8c39c 100644
--- a/libc/src/math/amdgpu/ilogb.cpp
+++ b/libc/src/math/amdgpu/ilogb.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ilogbf.cpp b/libc/src/math/amdgpu/ilogbf.cpp
index 78f0d546bca29..56e74e1575f1d 100644
--- a/libc/src/math/amdgpu/ilogbf.cpp
+++ b/libc/src/math/amdgpu/ilogbf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ldexp.cpp b/libc/src/math/amdgpu/ldexp.cpp
index cb79caa0931ca..393eabb84e61b 100644
--- a/libc/src/math/amdgpu/ldexp.cpp
+++ b/libc/src/math/amdgpu/ldexp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/ldexpf.cpp b/libc/src/math/amdgpu/ldexpf.cpp
index 98f1abc7b6382..970603dd170eb 100644
--- a/libc/src/math/amdgpu/ldexpf.cpp
+++ b/libc/src/math/amdgpu/ldexpf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/llrint.cpp b/libc/src/math/amdgpu/llrint.cpp
index dc00ebe3604e2..21129fe80a0c1 100644
--- a/libc/src/math/amdgpu/llrint.cpp
+++ b/libc/src/math/amdgpu/llrint.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/llrintf.cpp b/libc/src/math/amdgpu/llrintf.cpp
index ed5607286c8f3..a6f9f43876010 100644
--- a/libc/src/math/amdgpu/llrintf.cpp
+++ b/libc/src/math/amdgpu/llrintf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log.cpp b/libc/src/math/amdgpu/log.cpp
index 913b040d70b48..bd01adfa08a4d 100644
--- a/libc/src/math/amdgpu/log.cpp
+++ b/libc/src/math/amdgpu/log.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log10.cpp b/libc/src/math/amdgpu/log10.cpp
index a11952c98826f..75957c9aeb506 100644
--- a/libc/src/math/amdgpu/log10.cpp
+++ b/libc/src/math/amdgpu/log10.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log10f.cpp b/libc/src/math/amdgpu/log10f.cpp
index 549c04cbe5bb0..9c12d6b11bcf0 100644
--- a/libc/src/math/amdgpu/log10f.cpp
+++ b/libc/src/math/amdgpu/log10f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log1p.cpp b/libc/src/math/amdgpu/log1p.cpp
index d53afb002f988..fc275196830f6 100644
--- a/libc/src/math/amdgpu/log1p.cpp
+++ b/libc/src/math/amdgpu/log1p.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log1pf.cpp b/libc/src/math/amdgpu/log1pf.cpp
index 101c297408beb..b2d26fb1166fc 100644
--- a/libc/src/math/amdgpu/log1pf.cpp
+++ b/libc/src/math/amdgpu/log1pf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log2.cpp b/libc/src/math/amdgpu/log2.cpp
index bcd64694fdaf8..73f34b65a32f7 100644
--- a/libc/src/math/amdgpu/log2.cpp
+++ b/libc/src/math/amdgpu/log2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/log2f.cpp b/libc/src/math/amdgpu/log2f.cpp
index 13f15e01d9a80..3b62edacfa656 100644
--- a/libc/src/math/amdgpu/log2f.cpp
+++ b/libc/src/math/amdgpu/log2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/logb.cpp b/libc/src/math/amdgpu/logb.cpp
index fd8629598c1e1..4b68e281be874 100644
--- a/libc/src/math/amdgpu/logb.cpp
+++ b/libc/src/math/amdgpu/logb.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/logbf.cpp b/libc/src/math/amdgpu/logbf.cpp
index 0e132aacfaf6d..bc7c462c7f927 100644
--- a/libc/src/math/amdgpu/logbf.cpp
+++ b/libc/src/math/amdgpu/logbf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/logf.cpp b/libc/src/math/amdgpu/logf.cpp
index 0a700b46e8d21..17925672ef32f 100644
--- a/libc/src/math/amdgpu/logf.cpp
+++ b/libc/src/math/amdgpu/logf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/lrint.cpp b/libc/src/math/amdgpu/lrint.cpp
index 245b1566b0c89..715b552575789 100644
--- a/libc/src/math/amdgpu/lrint.cpp
+++ b/libc/src/math/amdgpu/lrint.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/lrintf.cpp b/libc/src/math/amdgpu/lrintf.cpp
index d08c2df50411b..387063803f27f 100644
--- a/libc/src/math/amdgpu/lrintf.cpp
+++ b/libc/src/math/amdgpu/lrintf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/nearbyint.cpp b/libc/src/math/amdgpu/nearbyint.cpp
index dce283707f615..7d78c7241d023 100644
--- a/libc/src/math/amdgpu/nearbyint.cpp
+++ b/libc/src/math/amdgpu/nearbyint.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nearbyint.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/nearbyintf.cpp b/libc/src/math/amdgpu/nearbyintf.cpp
index b94b63f2ecd3d..4bd20dc58fb89 100644
--- a/libc/src/math/amdgpu/nearbyintf.cpp
+++ b/libc/src/math/amdgpu/nearbyintf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nearbyintf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/nextafter.cpp b/libc/src/math/amdgpu/nextafter.cpp
index 020649c59d233..226b8a5a12547 100644
--- a/libc/src/math/amdgpu/nextafter.cpp
+++ b/libc/src/math/amdgpu/nextafter.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/nextafterf.cpp b/libc/src/math/amdgpu/nextafterf.cpp
index 1f93a1be0f4ad..7bed2c17b6e12 100644
--- a/libc/src/math/amdgpu/nextafterf.cpp
+++ b/libc/src/math/amdgpu/nextafterf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/platform.h b/libc/src/math/amdgpu/platform.h
index 963cba1baeb26..472a9830e8bb3 100644
--- a/libc/src/math/amdgpu/platform.h
+++ b/libc/src/math/amdgpu/platform.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_MATH_AMDGPU_PLATFORM_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/math/amdgpu/pow.cpp b/libc/src/math/amdgpu/pow.cpp
index 4814159a806cc..979ad6cda6ef0 100644
--- a/libc/src/math/amdgpu/pow.cpp
+++ b/libc/src/math/amdgpu/pow.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/powf.cpp b/libc/src/math/amdgpu/powf.cpp
index a1becff030246..6931934d4c11e 100644
--- a/libc/src/math/amdgpu/powf.cpp
+++ b/libc/src/math/amdgpu/powf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/powi.cpp b/libc/src/math/amdgpu/powi.cpp
index 441a5646f275b..6b31b471e4b20 100644
--- a/libc/src/math/amdgpu/powi.cpp
+++ b/libc/src/math/amdgpu/powi.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/powi.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "declarations.h"
 
diff --git a/libc/src/math/amdgpu/powif.cpp b/libc/src/math/amdgpu/powif.cpp
index dd70287cd7046..94f8a91d9c03b 100644
--- a/libc/src/math/amdgpu/powif.cpp
+++ b/libc/src/math/amdgpu/powif.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/powif.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "declarations.h"
 
diff --git a/libc/src/math/amdgpu/remainder.cpp b/libc/src/math/amdgpu/remainder.cpp
index 8bcbde32caed6..9027204312e00 100644
--- a/libc/src/math/amdgpu/remainder.cpp
+++ b/libc/src/math/amdgpu/remainder.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/remainder.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/remainderf.cpp b/libc/src/math/amdgpu/remainderf.cpp
index 4258f9c9b8b22..50df3b2ce25c1 100644
--- a/libc/src/math/amdgpu/remainderf.cpp
+++ b/libc/src/math/amdgpu/remainderf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/remainderf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/remquo.cpp b/libc/src/math/amdgpu/remquo.cpp
index a6287d5660125..42c908e91c6c0 100644
--- a/libc/src/math/amdgpu/remquo.cpp
+++ b/libc/src/math/amdgpu/remquo.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/remquof.cpp b/libc/src/math/amdgpu/remquof.cpp
index 19232420fa78c..854d3bfe842fd 100644
--- a/libc/src/math/amdgpu/remquof.cpp
+++ b/libc/src/math/amdgpu/remquof.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/rint.cpp b/libc/src/math/amdgpu/rint.cpp
index df2c5630c46c5..ac6837a4abc37 100644
--- a/libc/src/math/amdgpu/rint.cpp
+++ b/libc/src/math/amdgpu/rint.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/rint.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/rintf.cpp b/libc/src/math/amdgpu/rintf.cpp
index 164e9b30fd31e..94093471a8d92 100644
--- a/libc/src/math/amdgpu/rintf.cpp
+++ b/libc/src/math/amdgpu/rintf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/rintf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/round.cpp b/libc/src/math/amdgpu/round.cpp
index ef33298fe6b74..0d2765f2e959f 100644
--- a/libc/src/math/amdgpu/round.cpp
+++ b/libc/src/math/amdgpu/round.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/round.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/roundf.cpp b/libc/src/math/amdgpu/roundf.cpp
index 6cca130af56b9..86e8ba3ac83d6 100644
--- a/libc/src/math/amdgpu/roundf.cpp
+++ b/libc/src/math/amdgpu/roundf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/scalbn.cpp b/libc/src/math/amdgpu/scalbn.cpp
index 6b9d97017878e..05bbbc69b47a1 100644
--- a/libc/src/math/amdgpu/scalbn.cpp
+++ b/libc/src/math/amdgpu/scalbn.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/scalbnf.cpp b/libc/src/math/amdgpu/scalbnf.cpp
index 3c79c097b1629..f0e9e475674c3 100644
--- a/libc/src/math/amdgpu/scalbnf.cpp
+++ b/libc/src/math/amdgpu/scalbnf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sin.cpp b/libc/src/math/amdgpu/sin.cpp
index 1c1150d66692a..f3d88af009ce4 100644
--- a/libc/src/math/amdgpu/sin.cpp
+++ b/libc/src/math/amdgpu/sin.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sincos.cpp b/libc/src/math/amdgpu/sincos.cpp
index eac7d76fe87ee..304ac0c7c6332 100644
--- a/libc/src/math/amdgpu/sincos.cpp
+++ b/libc/src/math/amdgpu/sincos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sincosf.cpp b/libc/src/math/amdgpu/sincosf.cpp
index 7cce9b7b93aaf..1c4e9c6a2463f 100644
--- a/libc/src/math/amdgpu/sincosf.cpp
+++ b/libc/src/math/amdgpu/sincosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sinf.cpp b/libc/src/math/amdgpu/sinf.cpp
index 267c30ab08c56..c6d64a63c755d 100644
--- a/libc/src/math/amdgpu/sinf.cpp
+++ b/libc/src/math/amdgpu/sinf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sinh.cpp b/libc/src/math/amdgpu/sinh.cpp
index e261d65b7e4a4..26314f46d0e97 100644
--- a/libc/src/math/amdgpu/sinh.cpp
+++ b/libc/src/math/amdgpu/sinh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sinhf.cpp b/libc/src/math/amdgpu/sinhf.cpp
index 20735816f18d5..a4eb8e1a65283 100644
--- a/libc/src/math/amdgpu/sinhf.cpp
+++ b/libc/src/math/amdgpu/sinhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sqrt.cpp b/libc/src/math/amdgpu/sqrt.cpp
index f49e53a3f6cbf..ed83b6e5c6cae 100644
--- a/libc/src/math/amdgpu/sqrt.cpp
+++ b/libc/src/math/amdgpu/sqrt.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/sqrtf.cpp b/libc/src/math/amdgpu/sqrtf.cpp
index 9ee8707ea4416..851922c316452 100644
--- a/libc/src/math/amdgpu/sqrtf.cpp
+++ b/libc/src/math/amdgpu/sqrtf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/sqrtf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tan.cpp b/libc/src/math/amdgpu/tan.cpp
index 2fcf441b65333..c946dc2a3db67 100644
--- a/libc/src/math/amdgpu/tan.cpp
+++ b/libc/src/math/amdgpu/tan.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tanf.cpp b/libc/src/math/amdgpu/tanf.cpp
index 19de8cf774d2d..8c93fc4f62369 100644
--- a/libc/src/math/amdgpu/tanf.cpp
+++ b/libc/src/math/amdgpu/tanf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tanh.cpp b/libc/src/math/amdgpu/tanh.cpp
index 4f07a2fd2e84f..834353e122abe 100644
--- a/libc/src/math/amdgpu/tanh.cpp
+++ b/libc/src/math/amdgpu/tanh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tanhf.cpp b/libc/src/math/amdgpu/tanhf.cpp
index f1cbba1e3801a..5029596a8e6fd 100644
--- a/libc/src/math/amdgpu/tanhf.cpp
+++ b/libc/src/math/amdgpu/tanhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tgamma.cpp b/libc/src/math/amdgpu/tgamma.cpp
index b3ff381d50f67..485a6a3def432 100644
--- a/libc/src/math/amdgpu/tgamma.cpp
+++ b/libc/src/math/amdgpu/tgamma.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/tgammaf.cpp b/libc/src/math/amdgpu/tgammaf.cpp
index 2b05202151a0a..e48a486c9c5e5 100644
--- a/libc/src/math/amdgpu/tgammaf.cpp
+++ b/libc/src/math/amdgpu/tgammaf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/trunc.cpp b/libc/src/math/amdgpu/trunc.cpp
index 821002e9aade0..f60caa2a71d78 100644
--- a/libc/src/math/amdgpu/trunc.cpp
+++ b/libc/src/math/amdgpu/trunc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/amdgpu/truncf.cpp b/libc/src/math/amdgpu/truncf.cpp
index eee4050fd6d5f..a6c9b8f188f02 100644
--- a/libc/src/math/amdgpu/truncf.cpp
+++ b/libc/src/math/amdgpu/truncf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/asin.h b/libc/src/math/asin.h
index 7aca3690f1929..6516e403c4ba9 100644
--- a/libc/src/math/asin.h
+++ b/libc/src/math/asin.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASIN_H
 #define LLVM_LIBC_SRC_MATH_ASIN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double asin(double x);
diff --git a/libc/src/math/asinf.h b/libc/src/math/asinf.h
index 87a106b32fda9..ed0b8abd06105 100644
--- a/libc/src/math/asinf.h
+++ b/libc/src/math/asinf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINF_H
 #define LLVM_LIBC_SRC_MATH_ASINF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float asinf(float x);
diff --git a/libc/src/math/asinh.h b/libc/src/math/asinh.h
index aeb5e61ceff3e..45fbc7cfa7c29 100644
--- a/libc/src/math/asinh.h
+++ b/libc/src/math/asinh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINH_H
 #define LLVM_LIBC_SRC_MATH_ASINH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double asinh(double x);
diff --git a/libc/src/math/asinhf.h b/libc/src/math/asinhf.h
index c31f195c84336..d5787ee7d5e5e 100644
--- a/libc/src/math/asinhf.h
+++ b/libc/src/math/asinhf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ASINHF_H
 #define LLVM_LIBC_SRC_MATH_ASINHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float asinhf(float x);
diff --git a/libc/src/math/atan.h b/libc/src/math/atan.h
index 976718fa3f2a0..a9ba28a2efcd7 100644
--- a/libc/src/math/atan.h
+++ b/libc/src/math/atan.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN_H
 #define LLVM_LIBC_SRC_MATH_ATAN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double atan(double x);
diff --git a/libc/src/math/atan2.h b/libc/src/math/atan2.h
index f94d716184f16..7bb2f96fe6444 100644
--- a/libc/src/math/atan2.h
+++ b/libc/src/math/atan2.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN2_H
 #define LLVM_LIBC_SRC_MATH_ATAN2_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double atan2(double x, double y);
diff --git a/libc/src/math/atan2f.h b/libc/src/math/atan2f.h
index 29daf1c8c0f60..ed60383cb925c 100644
--- a/libc/src/math/atan2f.h
+++ b/libc/src/math/atan2f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATAN2F_H
 #define LLVM_LIBC_SRC_MATH_ATAN2F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float atan2f(float x, float y);
diff --git a/libc/src/math/atanf.h b/libc/src/math/atanf.h
index 79b3afdfe78da..0be32f3c1dfcd 100644
--- a/libc/src/math/atanf.h
+++ b/libc/src/math/atanf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANF_H
 #define LLVM_LIBC_SRC_MATH_ATANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float atanf(float x);
diff --git a/libc/src/math/atanh.h b/libc/src/math/atanh.h
index 775b4279fb09d..485c824a1f2ca 100644
--- a/libc/src/math/atanh.h
+++ b/libc/src/math/atanh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANH_H
 #define LLVM_LIBC_SRC_MATH_ATANH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double atanh(double x);
diff --git a/libc/src/math/atanhf.h b/libc/src/math/atanhf.h
index a9c170ec912b8..0a4d899c78e4f 100644
--- a/libc/src/math/atanhf.h
+++ b/libc/src/math/atanhf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ATANHF_H
 #define LLVM_LIBC_SRC_MATH_ATANHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float atanhf(float x);
diff --git a/libc/src/math/canonicalize.h b/libc/src/math/canonicalize.h
index ece199597f0a9..6b6b1e07e923c 100644
--- a/libc/src/math/canonicalize.h
+++ b/libc/src/math/canonicalize.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZE_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int canonicalize(double *cx, const double *x);
diff --git a/libc/src/math/canonicalizef.h b/libc/src/math/canonicalizef.h
index a79d0845d48aa..94bc48b9b6aa2 100644
--- a/libc/src/math/canonicalizef.h
+++ b/libc/src/math/canonicalizef.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEF_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizef(float *cx, const float *x);
diff --git a/libc/src/math/canonicalizef128.h b/libc/src/math/canonicalizef128.h
index 917a701c3ff33..eeeb7e3fb4526 100644
--- a/libc/src/math/canonicalizef128.h
+++ b/libc/src/math/canonicalizef128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEF128_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/canonicalizef16.h b/libc/src/math/canonicalizef16.h
index a0ccd6da932a6..c47cec682574e 100644
--- a/libc/src/math/canonicalizef16.h
+++ b/libc/src/math/canonicalizef16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEF16_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/canonicalizel.h b/libc/src/math/canonicalizel.h
index 1e124235f8a56..1c6b9e68d2487 100644
--- a/libc/src/math/canonicalizel.h
+++ b/libc/src/math/canonicalizel.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CANONICALIZEL_H
 #define LLVM_LIBC_SRC_MATH_CANONICALIZEL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int canonicalizel(long double *cx, const long double *x);
diff --git a/libc/src/math/cbrtf.h b/libc/src/math/cbrtf.h
index 71aa11117c0ae..1187efbdd38b2 100644
--- a/libc/src/math/cbrtf.h
+++ b/libc/src/math/cbrtf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CBRTF_H
 #define LLVM_LIBC_SRC_MATH_CBRTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float cbrtf(float x);
diff --git a/libc/src/math/ceil.h b/libc/src/math/ceil.h
index 95cb201134f0f..4cf262e6957aa 100644
--- a/libc/src/math/ceil.h
+++ b/libc/src/math/ceil.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEIL_H
 #define LLVM_LIBC_SRC_MATH_CEIL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double ceil(double x);
diff --git a/libc/src/math/ceilf.h b/libc/src/math/ceilf.h
index 894b67182d64d..359465c15b62b 100644
--- a/libc/src/math/ceilf.h
+++ b/libc/src/math/ceilf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILF_H
 #define LLVM_LIBC_SRC_MATH_CEILF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float ceilf(float x);
diff --git a/libc/src/math/ceilf128.h b/libc/src/math/ceilf128.h
index f611ffce8dd8f..211b8131a9559 100644
--- a/libc/src/math/ceilf128.h
+++ b/libc/src/math/ceilf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILF128_H
 #define LLVM_LIBC_SRC_MATH_CEILF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ceilf16.h b/libc/src/math/ceilf16.h
index aaf9e87b4cc62..b0e988b2f097f 100644
--- a/libc/src/math/ceilf16.h
+++ b/libc/src/math/ceilf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILF16_H
 #define LLVM_LIBC_SRC_MATH_CEILF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ceill.h b/libc/src/math/ceill.h
index ed3b3714e4868..ce79cb562c951 100644
--- a/libc/src/math/ceill.h
+++ b/libc/src/math/ceill.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_CEILL_H
 #define LLVM_LIBC_SRC_MATH_CEILL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double ceill(long double x);
diff --git a/libc/src/math/copysign.h b/libc/src/math/copysign.h
index 82e1a780b1de0..a115f120477c5 100644
--- a/libc/src/math/copysign.h
+++ b/libc/src/math/copysign.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGN_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double copysign(double x, double y);
diff --git a/libc/src/math/copysignf.h b/libc/src/math/copysignf.h
index 7c5f1d5bfd85a..3877f7b299aad 100644
--- a/libc/src/math/copysignf.h
+++ b/libc/src/math/copysignf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNF_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float copysignf(float x, float y);
diff --git a/libc/src/math/copysignf128.h b/libc/src/math/copysignf128.h
index c529b0ba98aca..b001b8e61b258 100644
--- a/libc/src/math/copysignf128.h
+++ b/libc/src/math/copysignf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNF128_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/copysignf16.h b/libc/src/math/copysignf16.h
index 69f249bb9b1c8..0b0e4865b3eb1 100644
--- a/libc/src/math/copysignf16.h
+++ b/libc/src/math/copysignf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNF16_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/copysignl.h b/libc/src/math/copysignl.h
index c29f4c6e81cdc..6c5e8fbcfeb00 100644
--- a/libc/src/math/copysignl.h
+++ b/libc/src/math/copysignl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COPYSIGNL_H
 #define LLVM_LIBC_SRC_MATH_COPYSIGNL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double copysignl(long double x, long double y);
diff --git a/libc/src/math/cos.h b/libc/src/math/cos.h
index 612692b60f4de..7c1a88f744fc7 100644
--- a/libc/src/math/cos.h
+++ b/libc/src/math/cos.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COS_H
 #define LLVM_LIBC_SRC_MATH_COS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double cos(double x);
diff --git a/libc/src/math/cosf.h b/libc/src/math/cosf.h
index 236c9bfdfe42b..7942eaf471eb2 100644
--- a/libc/src/math/cosf.h
+++ b/libc/src/math/cosf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSF_H
 #define LLVM_LIBC_SRC_MATH_COSF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float cosf(float x);
diff --git a/libc/src/math/cosh.h b/libc/src/math/cosh.h
index 5f0e91ae9862a..4a4be4a5d4a14 100644
--- a/libc/src/math/cosh.h
+++ b/libc/src/math/cosh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSH_H
 #define LLVM_LIBC_SRC_MATH_COSH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double cosh(double x);
diff --git a/libc/src/math/coshf.h b/libc/src/math/coshf.h
index 478cb9c5fb15f..28abada7f887e 100644
--- a/libc/src/math/coshf.h
+++ b/libc/src/math/coshf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSHF_H
 #define LLVM_LIBC_SRC_MATH_COSHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float coshf(float x);
diff --git a/libc/src/math/cospif.h b/libc/src/math/cospif.h
index 4bafc3a148129..fbe011f0ad6e7 100644
--- a/libc/src/math/cospif.h
+++ b/libc/src/math/cospif.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_COSPIF_H
 #define LLVM_LIBC_SRC_MATH_COSPIF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float cospif(float x);
diff --git a/libc/src/math/erf.h b/libc/src/math/erf.h
index c5d3b52b49084..bd16abca82bd1 100644
--- a/libc/src/math/erf.h
+++ b/libc/src/math/erf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ERF_H
 #define LLVM_LIBC_SRC_MATH_ERF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double erf(double x);
diff --git a/libc/src/math/erff.h b/libc/src/math/erff.h
index ca2856dcbe5a4..24cfa83067308 100644
--- a/libc/src/math/erff.h
+++ b/libc/src/math/erff.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ERFF_H
 #define LLVM_LIBC_SRC_MATH_ERFF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float erff(float x);
diff --git a/libc/src/math/exp.h b/libc/src/math/exp.h
index 58488add88ca3..1e1e672c36bb6 100644
--- a/libc/src/math/exp.h
+++ b/libc/src/math/exp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP_H
 #define LLVM_LIBC_SRC_MATH_EXP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double exp(double x);
diff --git a/libc/src/math/exp10.h b/libc/src/math/exp10.h
index 1bf7c0ce8381e..06e9be54306d3 100644
--- a/libc/src/math/exp10.h
+++ b/libc/src/math/exp10.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP10_H
 #define LLVM_LIBC_SRC_MATH_EXP10_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double exp10(double x);
diff --git a/libc/src/math/exp10f.h b/libc/src/math/exp10f.h
index b2bccef13cfbc..0e537421c66a9 100644
--- a/libc/src/math/exp10f.h
+++ b/libc/src/math/exp10f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP10F_H
 #define LLVM_LIBC_SRC_MATH_EXP10F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float exp10f(float x);
diff --git a/libc/src/math/exp2.h b/libc/src/math/exp2.h
index 234c554404fa3..50b11ee12e6d8 100644
--- a/libc/src/math/exp2.h
+++ b/libc/src/math/exp2.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2_H
 #define LLVM_LIBC_SRC_MATH_EXP2_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double exp2(double x);
diff --git a/libc/src/math/exp2f.h b/libc/src/math/exp2f.h
index f9b9903f3eea4..994371c0adc87 100644
--- a/libc/src/math/exp2f.h
+++ b/libc/src/math/exp2f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2F_H
 #define LLVM_LIBC_SRC_MATH_EXP2F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float exp2f(float x);
diff --git a/libc/src/math/exp2m1f.h b/libc/src/math/exp2m1f.h
index 3ee05f81178a8..71b15885912c4 100644
--- a/libc/src/math/exp2m1f.h
+++ b/libc/src/math/exp2m1f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXP2M1F_H
 #define LLVM_LIBC_SRC_MATH_EXP2M1F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float exp2m1f(float x);
diff --git a/libc/src/math/expf.h b/libc/src/math/expf.h
index 4c4693978ea8c..e82b762234597 100644
--- a/libc/src/math/expf.h
+++ b/libc/src/math/expf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPF_H
 #define LLVM_LIBC_SRC_MATH_EXPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float expf(float x);
diff --git a/libc/src/math/expm1.h b/libc/src/math/expm1.h
index 963a88fc128d4..216e8b8f0d515 100644
--- a/libc/src/math/expm1.h
+++ b/libc/src/math/expm1.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPM1_H
 #define LLVM_LIBC_SRC_MATH_EXPM1_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double expm1(double x);
diff --git a/libc/src/math/expm1f.h b/libc/src/math/expm1f.h
index 8a317bd74288e..e3539c57138f8 100644
--- a/libc/src/math/expm1f.h
+++ b/libc/src/math/expm1f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_EXPM1F_H
 #define LLVM_LIBC_SRC_MATH_EXPM1F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float expm1f(float x);
diff --git a/libc/src/math/f16add.h b/libc/src/math/f16add.h
index c43a94ea124c9..1e794fd5833bb 100644
--- a/libc/src/math/f16add.h
+++ b/libc/src/math/f16add.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16ADD_H
 #define LLVM_LIBC_SRC_MATH_F16ADD_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16addf.h b/libc/src/math/f16addf.h
index b792459f728e1..d9cd0cffb77de 100644
--- a/libc/src/math/f16addf.h
+++ b/libc/src/math/f16addf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16ADDF_H
 #define LLVM_LIBC_SRC_MATH_F16ADDF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16addf128.h b/libc/src/math/f16addf128.h
index bd33aa94f3af9..aabb5ebdaa2f2 100644
--- a/libc/src/math/f16addf128.h
+++ b/libc/src/math/f16addf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16ADDF128_H
 #define LLVM_LIBC_SRC_MATH_F16ADDF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16addl.h b/libc/src/math/f16addl.h
index 4dc24e6cf31c7..b39a2901d1ecc 100644
--- a/libc/src/math/f16addl.h
+++ b/libc/src/math/f16addl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16ADDL_H
 #define LLVM_LIBC_SRC_MATH_F16ADDL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16div.h b/libc/src/math/f16div.h
index f0acaefd86a88..4e1724ffefa30 100644
--- a/libc/src/math/f16div.h
+++ b/libc/src/math/f16div.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16DIV_H
 #define LLVM_LIBC_SRC_MATH_F16DIV_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16divf.h b/libc/src/math/f16divf.h
index 8553cd0e6502f..351cffd38dc8f 100644
--- a/libc/src/math/f16divf.h
+++ b/libc/src/math/f16divf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16DIVF_H
 #define LLVM_LIBC_SRC_MATH_F16DIVF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16divf128.h b/libc/src/math/f16divf128.h
index 1db4126e9c9bd..b515419dfc719 100644
--- a/libc/src/math/f16divf128.h
+++ b/libc/src/math/f16divf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16DIVF128_H
 #define LLVM_LIBC_SRC_MATH_F16DIVF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16divl.h b/libc/src/math/f16divl.h
index 260abe2310157..61a37747e721c 100644
--- a/libc/src/math/f16divl.h
+++ b/libc/src/math/f16divl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16DIVL_H
 #define LLVM_LIBC_SRC_MATH_F16DIVL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16fma.h b/libc/src/math/f16fma.h
index 0bbbbeee93c66..d2628e317697e 100644
--- a/libc/src/math/f16fma.h
+++ b/libc/src/math/f16fma.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16FMA_H
 #define LLVM_LIBC_SRC_MATH_F16FMA_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16fmaf.h b/libc/src/math/f16fmaf.h
index a3450b0611376..627afae5cb0ee 100644
--- a/libc/src/math/f16fmaf.h
+++ b/libc/src/math/f16fmaf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16FMAF_H
 #define LLVM_LIBC_SRC_MATH_F16FMAF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16fmaf128.h b/libc/src/math/f16fmaf128.h
index e5da8f8152f31..c8f81d42608f9 100644
--- a/libc/src/math/f16fmaf128.h
+++ b/libc/src/math/f16fmaf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16FMAF128_H
 #define LLVM_LIBC_SRC_MATH_F16FMAF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16fmal.h b/libc/src/math/f16fmal.h
index 650b2917c6ff8..ff35f637f7f04 100644
--- a/libc/src/math/f16fmal.h
+++ b/libc/src/math/f16fmal.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16FMAL_H
 #define LLVM_LIBC_SRC_MATH_F16FMAL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16sqrt.h b/libc/src/math/f16sqrt.h
index 437aff8cabdbc..27c6f3454891d 100644
--- a/libc/src/math/f16sqrt.h
+++ b/libc/src/math/f16sqrt.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SQRT_H
 #define LLVM_LIBC_SRC_MATH_F16SQRT_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16sqrtf.h b/libc/src/math/f16sqrtf.h
index 0c3f808e4c4f9..0471b02da0f3c 100644
--- a/libc/src/math/f16sqrtf.h
+++ b/libc/src/math/f16sqrtf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SQRTF_H
 #define LLVM_LIBC_SRC_MATH_F16SQRTF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16sqrtf128.h b/libc/src/math/f16sqrtf128.h
index b9b0e90e9605c..713bbe14023c2 100644
--- a/libc/src/math/f16sqrtf128.h
+++ b/libc/src/math/f16sqrtf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SQRTF128_H
 #define LLVM_LIBC_SRC_MATH_F16SQRTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16sqrtl.h b/libc/src/math/f16sqrtl.h
index dc826cfa6091e..8238f9eb3a099 100644
--- a/libc/src/math/f16sqrtl.h
+++ b/libc/src/math/f16sqrtl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SQRTL_H
 #define LLVM_LIBC_SRC_MATH_F16SQRTL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16sub.h b/libc/src/math/f16sub.h
index aa41b5e2285e7..fbceba8a53c47 100644
--- a/libc/src/math/f16sub.h
+++ b/libc/src/math/f16sub.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SUB_H
 #define LLVM_LIBC_SRC_MATH_F16SUB_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16subf.h b/libc/src/math/f16subf.h
index 49ea887a253a2..255953a39cd3f 100644
--- a/libc/src/math/f16subf.h
+++ b/libc/src/math/f16subf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SUBF_H
 #define LLVM_LIBC_SRC_MATH_F16SUBF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16subf128.h b/libc/src/math/f16subf128.h
index f69f143c4bb20..fae3360a3d5cd 100644
--- a/libc/src/math/f16subf128.h
+++ b/libc/src/math/f16subf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SUBF128_H
 #define LLVM_LIBC_SRC_MATH_F16SUBF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/f16subl.h b/libc/src/math/f16subl.h
index f9f738c1d82dc..b4e3c3ca7631f 100644
--- a/libc/src/math/f16subl.h
+++ b/libc/src/math/f16subl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_F16SUBL_H
 #define LLVM_LIBC_SRC_MATH_F16SUBL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fabs.h b/libc/src/math/fabs.h
index 6f63b5e980b3d..c2f179afe747a 100644
--- a/libc/src/math/fabs.h
+++ b/libc/src/math/fabs.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABS_H
 #define LLVM_LIBC_SRC_MATH_FABS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fabs(double x);
diff --git a/libc/src/math/fabsf.h b/libc/src/math/fabsf.h
index 41d2b46f25d6c..52347d9c1478d 100644
--- a/libc/src/math/fabsf.h
+++ b/libc/src/math/fabsf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSF_H
 #define LLVM_LIBC_SRC_MATH_FABSF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fabsf(float x);
diff --git a/libc/src/math/fabsf128.h b/libc/src/math/fabsf128.h
index a9c8f953d241e..4507e57c3cdc4 100644
--- a/libc/src/math/fabsf128.h
+++ b/libc/src/math/fabsf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSF128_H
 #define LLVM_LIBC_SRC_MATH_FABSF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fabsf16.h b/libc/src/math/fabsf16.h
index 9d83e987088b6..f48a51f5ff58e 100644
--- a/libc/src/math/fabsf16.h
+++ b/libc/src/math/fabsf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSF16_H
 #define LLVM_LIBC_SRC_MATH_FABSF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fabsl.h b/libc/src/math/fabsl.h
index 5454303e54420..a04446015a8cd 100644
--- a/libc/src/math/fabsl.h
+++ b/libc/src/math/fabsl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FABSL_H
 #define LLVM_LIBC_SRC_MATH_FABSL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fabsl(long double x);
diff --git a/libc/src/math/fdim.h b/libc/src/math/fdim.h
index bba3506140cd5..19a9e99bf49b1 100644
--- a/libc/src/math/fdim.h
+++ b/libc/src/math/fdim.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIM_H
 #define LLVM_LIBC_SRC_MATH_FDIM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fdim(double x, double y);
diff --git a/libc/src/math/fdimf.h b/libc/src/math/fdimf.h
index 21a419e1de7d6..b90bb456afbf2 100644
--- a/libc/src/math/fdimf.h
+++ b/libc/src/math/fdimf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIMF_H
 #define LLVM_LIBC_SRC_MATH_FDIMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fdimf(float x, float y);
diff --git a/libc/src/math/fdimf128.h b/libc/src/math/fdimf128.h
index 461c84f086a73..a5e1387042b71 100644
--- a/libc/src/math/fdimf128.h
+++ b/libc/src/math/fdimf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIMF128_H
 #define LLVM_LIBC_SRC_MATH_FDIMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fdimf16.h b/libc/src/math/fdimf16.h
index b99a5830e2957..e3aac7b8a1532 100644
--- a/libc/src/math/fdimf16.h
+++ b/libc/src/math/fdimf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIMF16_H
 #define LLVM_LIBC_SRC_MATH_FDIMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fdiml.h b/libc/src/math/fdiml.h
index a0c291fa08c1b..226860108b08a 100644
--- a/libc/src/math/fdiml.h
+++ b/libc/src/math/fdiml.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FDIML_H
 #define LLVM_LIBC_SRC_MATH_FDIML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fdiml(long double x, long double y);
diff --git a/libc/src/math/floor.h b/libc/src/math/floor.h
index c7fa243ce264c..d6c61955c4122 100644
--- a/libc/src/math/floor.h
+++ b/libc/src/math/floor.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOOR_H
 #define LLVM_LIBC_SRC_MATH_FLOOR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double floor(double x);
diff --git a/libc/src/math/floorf.h b/libc/src/math/floorf.h
index 877b1e145050e..c9dfcf6e2782f 100644
--- a/libc/src/math/floorf.h
+++ b/libc/src/math/floorf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORF_H
 #define LLVM_LIBC_SRC_MATH_FLOORF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float floorf(float x);
diff --git a/libc/src/math/floorf128.h b/libc/src/math/floorf128.h
index 515f6c3ddaba1..9af48b259fb2a 100644
--- a/libc/src/math/floorf128.h
+++ b/libc/src/math/floorf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORF128_H
 #define LLVM_LIBC_SRC_MATH_FLOORF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/floorf16.h b/libc/src/math/floorf16.h
index 00be3080d0934..c9b1f48363d75 100644
--- a/libc/src/math/floorf16.h
+++ b/libc/src/math/floorf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORF16_H
 #define LLVM_LIBC_SRC_MATH_FLOORF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/floorl.h b/libc/src/math/floorl.h
index 1958dfe211eb8..4597b4e089a99 100644
--- a/libc/src/math/floorl.h
+++ b/libc/src/math/floorl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FLOORL_H
 #define LLVM_LIBC_SRC_MATH_FLOORL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double floorl(long double x);
diff --git a/libc/src/math/fma.h b/libc/src/math/fma.h
index 997a23ad06c93..a705228183882 100644
--- a/libc/src/math/fma.h
+++ b/libc/src/math/fma.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMA_H
 #define LLVM_LIBC_SRC_MATH_FMA_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fma(double x, double y, double z);
diff --git a/libc/src/math/fmaf.h b/libc/src/math/fmaf.h
index 811044779d123..b7335c4ca56a6 100644
--- a/libc/src/math/fmaf.h
+++ b/libc/src/math/fmaf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAF_H
 #define LLVM_LIBC_SRC_MATH_FMAF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaf(float x, float y, float z);
diff --git a/libc/src/math/fmax.h b/libc/src/math/fmax.h
index 5304d15bd82b2..01128748bd677 100644
--- a/libc/src/math/fmax.h
+++ b/libc/src/math/fmax.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAX_H
 #define LLVM_LIBC_SRC_MATH_FMAX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmax(double x, double y);
diff --git a/libc/src/math/fmaxf.h b/libc/src/math/fmaxf.h
index b37466b783f26..af6a0cb954c95 100644
--- a/libc/src/math/fmaxf.h
+++ b/libc/src/math/fmaxf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXF_H
 #define LLVM_LIBC_SRC_MATH_FMAXF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaxf(float x, float y);
diff --git a/libc/src/math/fmaxf128.h b/libc/src/math/fmaxf128.h
index 0c3fbf390136e..47bf3541982ab 100644
--- a/libc/src/math/fmaxf128.h
+++ b/libc/src/math/fmaxf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaxf16.h b/libc/src/math/fmaxf16.h
index 573afabcb3391..904816009602f 100644
--- a/libc/src/math/fmaxf16.h
+++ b/libc/src/math/fmaxf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXF16_H
 #define LLVM_LIBC_SRC_MATH_FMAXF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum.h b/libc/src/math/fmaximum.h
index 8740995e044e1..818c4281d02ee 100644
--- a/libc/src/math/fmaximum.h
+++ b/libc/src/math/fmaximum.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum(double x, double y);
diff --git a/libc/src/math/fmaximum_mag.h b/libc/src/math/fmaximum_mag.h
index c480f6d2853b3..d4954e32a08fe 100644
--- a/libc/src/math/fmaximum_mag.h
+++ b/libc/src/math/fmaximum_mag.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_mag(double x, double y);
diff --git a/libc/src/math/fmaximum_mag_num.h b/libc/src/math/fmaximum_mag_num.h
index 39839438a14ef..debb0170366a1 100644
--- a/libc/src/math/fmaximum_mag_num.h
+++ b/libc/src/math/fmaximum_mag_num.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_mag_num(double x, double y);
diff --git a/libc/src/math/fmaximum_mag_numf.h b/libc/src/math/fmaximum_mag_numf.h
index 8c49d97adbcf4..0ec05c35e92d2 100644
--- a/libc/src/math/fmaximum_mag_numf.h
+++ b/libc/src/math/fmaximum_mag_numf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_mag_numf(float x, float y);
diff --git a/libc/src/math/fmaximum_mag_numf128.h b/libc/src/math/fmaximum_mag_numf128.h
index f4d8f7c39fbba..a263f98aabcf1 100644
--- a/libc/src/math/fmaximum_mag_numf128.h
+++ b/libc/src/math/fmaximum_mag_numf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_mag_numf16.h b/libc/src/math/fmaximum_mag_numf16.h
index 7443c66a77c24..1bf2e461efa4b 100644
--- a/libc/src/math/fmaximum_mag_numf16.h
+++ b/libc/src/math/fmaximum_mag_numf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_mag_numl.h b/libc/src/math/fmaximum_mag_numl.h
index 3369dd2c9a315..9fbc63842bd27 100644
--- a/libc/src/math/fmaximum_mag_numl.h
+++ b/libc/src/math/fmaximum_mag_numl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAG_NUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_mag_numl(long double x, long double y);
diff --git a/libc/src/math/fmaximum_magf.h b/libc/src/math/fmaximum_magf.h
index 6b4736848c0df..73ffd2e5bc4a5 100644
--- a/libc/src/math/fmaximum_magf.h
+++ b/libc/src/math/fmaximum_magf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_magf(float x, float y);
diff --git a/libc/src/math/fmaximum_magf128.h b/libc/src/math/fmaximum_magf128.h
index e5c69bb6217da..fb68af7e6a0c9 100644
--- a/libc/src/math/fmaximum_magf128.h
+++ b/libc/src/math/fmaximum_magf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_magf16.h b/libc/src/math/fmaximum_magf16.h
index 8a374e6db0953..32aee6e3822b5 100644
--- a/libc/src/math/fmaximum_magf16.h
+++ b/libc/src/math/fmaximum_magf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF16_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_magl.h b/libc/src/math/fmaximum_magl.h
index 0c025178ac962..8745f6aaa90a9 100644
--- a/libc/src/math/fmaximum_magl.h
+++ b/libc/src/math/fmaximum_magl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGL_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_MAGL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_magl(long double x, long double y);
diff --git a/libc/src/math/fmaximum_num.h b/libc/src/math/fmaximum_num.h
index 1ad3c627a979e..df4bfcb6e38be 100644
--- a/libc/src/math/fmaximum_num.h
+++ b/libc/src/math/fmaximum_num.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmaximum_num(double x, double y);
diff --git a/libc/src/math/fmaximum_numf.h b/libc/src/math/fmaximum_numf.h
index ac1609aa1b2dd..65997154bdae3 100644
--- a/libc/src/math/fmaximum_numf.h
+++ b/libc/src/math/fmaximum_numf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaximum_numf(float x, float y);
diff --git a/libc/src/math/fmaximum_numf128.h b/libc/src/math/fmaximum_numf128.h
index 54dd09a90d7a2..1e9bd8dfb81aa 100644
--- a/libc/src/math/fmaximum_numf128.h
+++ b/libc/src/math/fmaximum_numf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_numf16.h b/libc/src/math/fmaximum_numf16.h
index 5f112da61c51f..3a2b2305b8282 100644
--- a/libc/src/math/fmaximum_numf16.h
+++ b/libc/src/math/fmaximum_numf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximum_numl.h b/libc/src/math/fmaximum_numl.h
index a121a8894827e..fc1d3ca38526b 100644
--- a/libc/src/math/fmaximum_numl.h
+++ b/libc/src/math/fmaximum_numl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUM_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUM_NUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximum_numl(long double x, long double y);
diff --git a/libc/src/math/fmaximumf.h b/libc/src/math/fmaximumf.h
index 081b99c954d43..9c4c54486507d 100644
--- a/libc/src/math/fmaximumf.h
+++ b/libc/src/math/fmaximumf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUMF_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmaximumf(float x, float y);
diff --git a/libc/src/math/fmaximumf128.h b/libc/src/math/fmaximumf128.h
index e96889d83ade1..3cc6fa023c797 100644
--- a/libc/src/math/fmaximumf128.h
+++ b/libc/src/math/fmaximumf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximumf16.h b/libc/src/math/fmaximumf16.h
index 62bb05396988c..8a81e81b9341d 100644
--- a/libc/src/math/fmaximumf16.h
+++ b/libc/src/math/fmaximumf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmaximuml.h b/libc/src/math/fmaximuml.h
index 90b61be216bb0..71310c2ccdec3 100644
--- a/libc/src/math/fmaximuml.h
+++ b/libc/src/math/fmaximuml.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXIMUML_H
 #define LLVM_LIBC_SRC_MATH_FMAXIMUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmaximuml(long double x, long double y);
diff --git a/libc/src/math/fmaxl.h b/libc/src/math/fmaxl.h
index 39f8a62c6d216..ea5cc4db5d533 100644
--- a/libc/src/math/fmaxl.h
+++ b/libc/src/math/fmaxl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMAXL_H
 #define LLVM_LIBC_SRC_MATH_FMAXL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmaxl(long double x, long double y);
diff --git a/libc/src/math/fmin.h b/libc/src/math/fmin.h
index 45bfdeca40119..d09ec695559db 100644
--- a/libc/src/math/fmin.h
+++ b/libc/src/math/fmin.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMIN_H
 #define LLVM_LIBC_SRC_MATH_FMIN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmin(double x, double y);
diff --git a/libc/src/math/fminf.h b/libc/src/math/fminf.h
index f29ccea789ece..8eeb542c1699c 100644
--- a/libc/src/math/fminf.h
+++ b/libc/src/math/fminf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINF_H
 #define LLVM_LIBC_SRC_MATH_FMINF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fminf(float x, float y);
diff --git a/libc/src/math/fminf128.h b/libc/src/math/fminf128.h
index db79268aef729..7bc393ab3badc 100644
--- a/libc/src/math/fminf128.h
+++ b/libc/src/math/fminf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINF128_H
 #define LLVM_LIBC_SRC_MATH_FMINF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminf16.h b/libc/src/math/fminf16.h
index 5f738bd06e21a..a92ff50c4c68f 100644
--- a/libc/src/math/fminf16.h
+++ b/libc/src/math/fminf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINF16_H
 #define LLVM_LIBC_SRC_MATH_FMINF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum.h b/libc/src/math/fminimum.h
index 4fc276bbc2b8c..53d764e6bf58c 100644
--- a/libc/src/math/fminimum.h
+++ b/libc/src/math/fminimum.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fminimum(double x, double y);
diff --git a/libc/src/math/fminimum_mag.h b/libc/src/math/fminimum_mag.h
index ab82fd05cf41c..5ebe3eeb5fda6 100644
--- a/libc/src/math/fminimum_mag.h
+++ b/libc/src/math/fminimum_mag.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_mag(double x, double y);
diff --git a/libc/src/math/fminimum_mag_num.h b/libc/src/math/fminimum_mag_num.h
index 5008729a13e7f..c4464343338dc 100644
--- a/libc/src/math/fminimum_mag_num.h
+++ b/libc/src/math/fminimum_mag_num.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_mag_num(double x, double y);
diff --git a/libc/src/math/fminimum_mag_numf.h b/libc/src/math/fminimum_mag_numf.h
index c4e4a5d9a20b9..627b5ad29aa71 100644
--- a/libc/src/math/fminimum_mag_numf.h
+++ b/libc/src/math/fminimum_mag_numf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_mag_numf(float x, float y);
diff --git a/libc/src/math/fminimum_mag_numf128.h b/libc/src/math/fminimum_mag_numf128.h
index 048ad3fc7b0dd..e3e69a770c667 100644
--- a/libc/src/math/fminimum_mag_numf128.h
+++ b/libc/src/math/fminimum_mag_numf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_mag_numf16.h b/libc/src/math/fminimum_mag_numf16.h
index 9ef79fb8c8a47..5ceca3ae75b1a 100644
--- a/libc/src/math/fminimum_mag_numf16.h
+++ b/libc/src/math/fminimum_mag_numf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_mag_numl.h b/libc/src/math/fminimum_mag_numl.h
index e0ea8311cc980..6b1412604aef5 100644
--- a/libc/src/math/fminimum_mag_numl.h
+++ b/libc/src/math/fminimum_mag_numl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAG_NUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_mag_numl(long double x, long double y);
diff --git a/libc/src/math/fminimum_magf.h b/libc/src/math/fminimum_magf.h
index d278583777b66..98c9cc08ce0e8 100644
--- a/libc/src/math/fminimum_magf.h
+++ b/libc/src/math/fminimum_magf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_magf(float x, float y);
diff --git a/libc/src/math/fminimum_magf128.h b/libc/src/math/fminimum_magf128.h
index 6a02ff049a7ca..00eee4e287933 100644
--- a/libc/src/math/fminimum_magf128.h
+++ b/libc/src/math/fminimum_magf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF128_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_magf16.h b/libc/src/math/fminimum_magf16.h
index 37b4ac2c69f38..cebc76d1d8e31 100644
--- a/libc/src/math/fminimum_magf16.h
+++ b/libc/src/math/fminimum_magf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF16_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_magl.h b/libc/src/math/fminimum_magl.h
index de3f325b089b1..3220e5095eb41 100644
--- a/libc/src/math/fminimum_magl.h
+++ b/libc/src/math/fminimum_magl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_MAGL_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_MAGL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_magl(long double x, long double y);
diff --git a/libc/src/math/fminimum_num.h b/libc/src/math/fminimum_num.h
index f891be090f2e7..42afb06e2f3f3 100644
--- a/libc/src/math/fminimum_num.h
+++ b/libc/src/math/fminimum_num.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUM_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUM_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fminimum_num(double x, double y);
diff --git a/libc/src/math/fminimum_numf.h b/libc/src/math/fminimum_numf.h
index 1a6ce80b957cd..8252b8f321ccb 100644
--- a/libc/src/math/fminimum_numf.h
+++ b/libc/src/math/fminimum_numf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fminimum_numf(float x, float y);
diff --git a/libc/src/math/fminimum_numf128.h b/libc/src/math/fminimum_numf128.h
index 6505e1c547194..1833e9e1c9f5c 100644
--- a/libc/src/math/fminimum_numf128.h
+++ b/libc/src/math/fminimum_numf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_numf16.h b/libc/src/math/fminimum_numf16.h
index e0b77743152e1..0b01c37e137ae 100644
--- a/libc/src/math/fminimum_numf16.h
+++ b/libc/src/math/fminimum_numf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimum_numl.h b/libc/src/math/fminimum_numl.h
index 97c34f76334c2..77d124f7cef1b 100644
--- a/libc/src/math/fminimum_numl.h
+++ b/libc/src/math/fminimum_numl.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUM_NUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUM_NUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fminimum_numl(long double x, long double y);
diff --git a/libc/src/math/fminimumf.h b/libc/src/math/fminimumf.h
index d5e6eb31b3915..915e206d3f419 100644
--- a/libc/src/math/fminimumf.h
+++ b/libc/src/math/fminimumf.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUMF_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUMF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fminimumf(float x, float y);
diff --git a/libc/src/math/fminimumf128.h b/libc/src/math/fminimumf128.h
index 1753c697a5e91..d507766059909 100644
--- a/libc/src/math/fminimumf128.h
+++ b/libc/src/math/fminimumf128.h
@@ -10,6 +10,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUMF128_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUMF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimumf16.h b/libc/src/math/fminimumf16.h
index b7b836647120f..eaa466aa6602d 100644
--- a/libc/src/math/fminimumf16.h
+++ b/libc/src/math/fminimumf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUMF16_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUMF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fminimuml.h b/libc/src/math/fminimuml.h
index dcecbc44b9b0f..3928806b9dd48 100644
--- a/libc/src/math/fminimuml.h
+++ b/libc/src/math/fminimuml.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINIMUML_H
 #define LLVM_LIBC_SRC_MATH_FMINIMUML_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fminimuml(long double x, long double y);
diff --git a/libc/src/math/fminl.h b/libc/src/math/fminl.h
index ff11c467e626c..7b352cbc174db 100644
--- a/libc/src/math/fminl.h
+++ b/libc/src/math/fminl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMINL_H
 #define LLVM_LIBC_SRC_MATH_FMINL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fminl(long double x, long double y);
diff --git a/libc/src/math/fmod.h b/libc/src/math/fmod.h
index a443ae6fbd8b6..f796930fad5ed 100644
--- a/libc/src/math/fmod.h
+++ b/libc/src/math/fmod.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMOD_H
 #define LLVM_LIBC_SRC_MATH_FMOD_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fmod(double x, double y);
diff --git a/libc/src/math/fmodf.h b/libc/src/math/fmodf.h
index 182d6e424d2c7..01e0868134cbd 100644
--- a/libc/src/math/fmodf.h
+++ b/libc/src/math/fmodf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODF_H
 #define LLVM_LIBC_SRC_MATH_FMODF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmodf(float x, float y);
diff --git a/libc/src/math/fmodf128.h b/libc/src/math/fmodf128.h
index 78d551d67e7c1..908fc61a19497 100644
--- a/libc/src/math/fmodf128.h
+++ b/libc/src/math/fmodf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODF128_H
 #define LLVM_LIBC_SRC_MATH_FMODF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmodf16.h b/libc/src/math/fmodf16.h
index 3c5fd5fd51c75..1c8cb8a9f5479 100644
--- a/libc/src/math/fmodf16.h
+++ b/libc/src/math/fmodf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODF16_H
 #define LLVM_LIBC_SRC_MATH_FMODF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fmodl.h b/libc/src/math/fmodl.h
index fab1c95f7cd42..2ff5c9a264a5d 100644
--- a/libc/src/math/fmodl.h
+++ b/libc/src/math/fmodl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMODL_H
 #define LLVM_LIBC_SRC_MATH_FMODL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fmodl(long double x, long double y);
diff --git a/libc/src/math/fmul.h b/libc/src/math/fmul.h
index 9c3b244086282..73ec2ee51649c 100644
--- a/libc/src/math/fmul.h
+++ b/libc/src/math/fmul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FMUL_H
 #define LLVM_LIBC_SRC_MATH_FMUL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fmul(double x, double y);
diff --git a/libc/src/math/frexp.h b/libc/src/math/frexp.h
index 1143593cd4dcd..316f5e0b635de 100644
--- a/libc/src/math/frexp.h
+++ b/libc/src/math/frexp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXP_H
 #define LLVM_LIBC_SRC_MATH_FREXP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double frexp(double x, int *exp);
diff --git a/libc/src/math/frexpf.h b/libc/src/math/frexpf.h
index b3fa67afa7fb4..f13707369a542 100644
--- a/libc/src/math/frexpf.h
+++ b/libc/src/math/frexpf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPF_H
 #define LLVM_LIBC_SRC_MATH_FREXPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float frexpf(float x, int *exp);
diff --git a/libc/src/math/frexpf128.h b/libc/src/math/frexpf128.h
index 6d9f01e9dea5d..e143e6f17ffb3 100644
--- a/libc/src/math/frexpf128.h
+++ b/libc/src/math/frexpf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPF128_H
 #define LLVM_LIBC_SRC_MATH_FREXPF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/frexpf16.h b/libc/src/math/frexpf16.h
index df1efc9f4dd89..09a9938794e23 100644
--- a/libc/src/math/frexpf16.h
+++ b/libc/src/math/frexpf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPF16_H
 #define LLVM_LIBC_SRC_MATH_FREXPF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/frexpl.h b/libc/src/math/frexpl.h
index 29fef6d63df97..a5d827961f4a7 100644
--- a/libc/src/math/frexpl.h
+++ b/libc/src/math/frexpl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FREXPL_H
 #define LLVM_LIBC_SRC_MATH_FREXPL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double frexpl(long double x, int *exp);
diff --git a/libc/src/math/fromfp.h b/libc/src/math/fromfp.h
index 1299b0a700daa..63094bb207eaf 100644
--- a/libc/src/math/fromfp.h
+++ b/libc/src/math/fromfp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFP_H
 #define LLVM_LIBC_SRC_MATH_FROMFP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fromfp(double x, int rnd, unsigned int width);
diff --git a/libc/src/math/fromfpf.h b/libc/src/math/fromfpf.h
index fdae217df8f61..47e15ffa2075b 100644
--- a/libc/src/math/fromfpf.h
+++ b/libc/src/math/fromfpf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPF_H
 #define LLVM_LIBC_SRC_MATH_FROMFPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fromfpf(float x, int rnd, unsigned int width);
diff --git a/libc/src/math/fromfpf128.h b/libc/src/math/fromfpf128.h
index c363ffa4258b3..1600b81351ee6 100644
--- a/libc/src/math/fromfpf128.h
+++ b/libc/src/math/fromfpf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPF128_H
 #define LLVM_LIBC_SRC_MATH_FROMFPF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fromfpf16.h b/libc/src/math/fromfpf16.h
index 57594dd1d54a6..a76a92f6df701 100644
--- a/libc/src/math/fromfpf16.h
+++ b/libc/src/math/fromfpf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPF16_H
 #define LLVM_LIBC_SRC_MATH_FROMFPF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fromfpl.h b/libc/src/math/fromfpl.h
index 8a8294c7a0e78..dab20069a884a 100644
--- a/libc/src/math/fromfpl.h
+++ b/libc/src/math/fromfpl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPL_H
 #define LLVM_LIBC_SRC_MATH_FROMFPL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fromfpl(long double x, int rnd, unsigned int width);
diff --git a/libc/src/math/fromfpx.h b/libc/src/math/fromfpx.h
index 2e325a3d4850b..e3e36a06ff49f 100644
--- a/libc/src/math/fromfpx.h
+++ b/libc/src/math/fromfpx.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPX_H
 #define LLVM_LIBC_SRC_MATH_FROMFPX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double fromfpx(double x, int rnd, unsigned int width);
diff --git a/libc/src/math/fromfpxf.h b/libc/src/math/fromfpxf.h
index 492e39427e9ab..5cc75ac72c9fc 100644
--- a/libc/src/math/fromfpxf.h
+++ b/libc/src/math/fromfpxf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXF_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float fromfpxf(float x, int rnd, unsigned int width);
diff --git a/libc/src/math/fromfpxf128.h b/libc/src/math/fromfpxf128.h
index 389e1cfb83b44..32a772973cb05 100644
--- a/libc/src/math/fromfpxf128.h
+++ b/libc/src/math/fromfpxf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXF128_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fromfpxf16.h b/libc/src/math/fromfpxf16.h
index 7c90ecaff28da..516ef4248fce4 100644
--- a/libc/src/math/fromfpxf16.h
+++ b/libc/src/math/fromfpxf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXF16_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/fromfpxl.h b/libc/src/math/fromfpxl.h
index e8814a16561c3..1940508f46d2f 100644
--- a/libc/src/math/fromfpxl.h
+++ b/libc/src/math/fromfpxl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_FROMFPXL_H
 #define LLVM_LIBC_SRC_MATH_FROMFPXL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double fromfpxl(long double x, int rnd, unsigned int width);
diff --git a/libc/src/math/generic/acosf.cpp b/libc/src/math/generic/acosf.cpp
index 1cdec04f5ded9..95d8bc0213cba 100644
--- a/libc/src/math/generic/acosf.cpp
+++ b/libc/src/math/generic/acosf.cpp
@@ -13,6 +13,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/sqrt.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/acoshf.cpp b/libc/src/math/generic/acoshf.cpp
index a5b2fffac8a42..6158063d30521 100644
--- a/libc/src/math/generic/acoshf.cpp
+++ b/libc/src/math/generic/acoshf.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/sqrt.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/common_constants.h"
 #include "src/math/generic/explogxf.h"
diff --git a/libc/src/math/generic/asinf.cpp b/libc/src/math/generic/asinf.cpp
index 8fa67f92608fc..d6acc3a1692bc 100644
--- a/libc/src/math/generic/asinf.cpp
+++ b/libc/src/math/generic/asinf.cpp
@@ -13,6 +13,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/sqrt.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/asinhf.cpp b/libc/src/math/generic/asinhf.cpp
index 59363de5a035e..1d68ac9ea13bc 100644
--- a/libc/src/math/generic/asinhf.cpp
+++ b/libc/src/math/generic/asinhf.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/sqrt.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/common_constants.h"
 #include "src/math/generic/explogxf.h"
diff --git a/libc/src/math/generic/atan2f.cpp b/libc/src/math/generic/atan2f.cpp
index dad1b6d248070..e4b297c00f012 100644
--- a/libc/src/math/generic/atan2f.cpp
+++ b/libc/src/math/generic/atan2f.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/atanf.cpp b/libc/src/math/generic/atanf.cpp
index 88dc787822ea1..5e0788efbeb88 100644
--- a/libc/src/math/generic/atanf.cpp
+++ b/libc/src/math/generic/atanf.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/atanhf.cpp b/libc/src/math/generic/atanhf.cpp
index 85f73d1a133bd..a2051bd3e3e67 100644
--- a/libc/src/math/generic/atanhf.cpp
+++ b/libc/src/math/generic/atanhf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/atanhf.h"
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
diff --git a/libc/src/math/generic/canonicalize.cpp b/libc/src/math/generic/canonicalize.cpp
index 58d5e8c1592c5..d93501d597376 100644
--- a/libc/src/math/generic/canonicalize.cpp
+++ b/libc/src/math/generic/canonicalize.cpp
@@ -9,6 +9,7 @@
 #include "src/math/canonicalize.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/canonicalizef.cpp b/libc/src/math/generic/canonicalizef.cpp
index 1765948a7af1f..437cf8768458a 100644
--- a/libc/src/math/generic/canonicalizef.cpp
+++ b/libc/src/math/generic/canonicalizef.cpp
@@ -9,6 +9,7 @@
 #include "src/math/canonicalizef.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/canonicalizef128.cpp b/libc/src/math/generic/canonicalizef128.cpp
index bd93657c7d824..477d9c740a746 100644
--- a/libc/src/math/generic/canonicalizef128.cpp
+++ b/libc/src/math/generic/canonicalizef128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/canonicalizef128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/canonicalizef16.cpp b/libc/src/math/generic/canonicalizef16.cpp
index 5cb4544c86c28..ff32c918793ff 100644
--- a/libc/src/math/generic/canonicalizef16.cpp
+++ b/libc/src/math/generic/canonicalizef16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/canonicalizef16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/canonicalizel.cpp b/libc/src/math/generic/canonicalizel.cpp
index 26a81b72fa730..fa2b846216d7b 100644
--- a/libc/src/math/generic/canonicalizel.cpp
+++ b/libc/src/math/generic/canonicalizel.cpp
@@ -9,6 +9,7 @@
 #include "src/math/canonicalizel.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/cbrtf.cpp b/libc/src/math/generic/cbrtf.cpp
index 3ee332ac859ff..313961bf356b8 100644
--- a/libc/src/math/generic/cbrtf.cpp
+++ b/libc/src/math/generic/cbrtf.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/ceil.cpp b/libc/src/math/generic/ceil.cpp
index 0aecc2ca99ddc..a5ac1348834d8 100644
--- a/libc/src/math/generic/ceil.cpp
+++ b/libc/src/math/generic/ceil.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ceil.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ceilf.cpp b/libc/src/math/generic/ceilf.cpp
index 1efcfa5b71e64..0fd54361648dc 100644
--- a/libc/src/math/generic/ceilf.cpp
+++ b/libc/src/math/generic/ceilf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ceilf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ceilf128.cpp b/libc/src/math/generic/ceilf128.cpp
index bd6b40b0a1ab4..5d0cf46933cdf 100644
--- a/libc/src/math/generic/ceilf128.cpp
+++ b/libc/src/math/generic/ceilf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ceilf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ceilf16.cpp b/libc/src/math/generic/ceilf16.cpp
index 76c8865d32480..1d17daf283d07 100644
--- a/libc/src/math/generic/ceilf16.cpp
+++ b/libc/src/math/generic/ceilf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ceilf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ceill.cpp b/libc/src/math/generic/ceill.cpp
index d905d1bb7ed00..bce9d557be78a 100644
--- a/libc/src/math/generic/ceill.cpp
+++ b/libc/src/math/generic/ceill.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ceill.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/common_constants.cpp b/libc/src/math/generic/common_constants.cpp
index 1dc4658687f93..e29c083fa474a 100644
--- a/libc/src/math/generic/common_constants.cpp
+++ b/libc/src/math/generic/common_constants.cpp
@@ -8,6 +8,7 @@
 
 #include "common_constants.h"
 #include "src/__support/FPUtil/triple_double.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/number_pair.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/common_constants.h b/libc/src/math/generic/common_constants.h
index 2a1a6205b9dc2..dc1a90c1cb24a 100644
--- a/libc/src/math/generic/common_constants.h
+++ b/libc/src/math/generic/common_constants.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_MATH_GENERIC_COMMON_CONSTANTS_H
 
 #include "src/__support/FPUtil/triple_double.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/number_pair.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/copysign.cpp b/libc/src/math/generic/copysign.cpp
index 236e212d592ce..149d725af08e2 100644
--- a/libc/src/math/generic/copysign.cpp
+++ b/libc/src/math/generic/copysign.cpp
@@ -9,6 +9,7 @@
 #include "src/math/copysign.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/copysignf.cpp b/libc/src/math/generic/copysignf.cpp
index 39b15319f3316..17cd70d37c308 100644
--- a/libc/src/math/generic/copysignf.cpp
+++ b/libc/src/math/generic/copysignf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/copysignf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/copysignf128.cpp b/libc/src/math/generic/copysignf128.cpp
index 98051105a42ba..9a51c8d5eb8df 100644
--- a/libc/src/math/generic/copysignf128.cpp
+++ b/libc/src/math/generic/copysignf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/copysignf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/copysignf16.cpp b/libc/src/math/generic/copysignf16.cpp
index 278dd633e21a8..42695b3b4a6de 100644
--- a/libc/src/math/generic/copysignf16.cpp
+++ b/libc/src/math/generic/copysignf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/copysignf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/copysignl.cpp b/libc/src/math/generic/copysignl.cpp
index a65484dde8ada..73c47bb04ad4a 100644
--- a/libc/src/math/generic/copysignl.cpp
+++ b/libc/src/math/generic/copysignl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/copysignl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/cos.cpp b/libc/src/math/generic/cos.cpp
index f0bcab286fe56..dbfeec70d83ac 100644
--- a/libc/src/math/generic/cos.cpp
+++ b/libc/src/math/generic/cos.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 #include "src/math/generic/sincos_eval.h"
diff --git a/libc/src/math/generic/cosf.cpp b/libc/src/math/generic/cosf.cpp
index 586b12ff3eafc..6a59b3763b6e8 100644
--- a/libc/src/math/generic/cosf.cpp
+++ b/libc/src/math/generic/cosf.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/coshf.cpp b/libc/src/math/generic/coshf.cpp
index 43cd384bcee13..c869f7d9dec5f 100644
--- a/libc/src/math/generic/coshf.cpp
+++ b/libc/src/math/generic/coshf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
diff --git a/libc/src/math/generic/cospif.cpp b/libc/src/math/generic/cospif.cpp
index 17b00789f4903..4ef1539539921 100644
--- a/libc/src/math/generic/cospif.cpp
+++ b/libc/src/math/generic/cospif.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/erff.cpp b/libc/src/math/generic/erff.cpp
index ab9aeced19c92..15357452759ea 100644
--- a/libc/src/math/generic/erff.cpp
+++ b/libc/src/math/generic/erff.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/exp.cpp b/libc/src/math/generic/exp.cpp
index 51048ab325352..df0c2eab7155c 100644
--- a/libc/src/math/generic/exp.cpp
+++ b/libc/src/math/generic/exp.cpp
@@ -22,6 +22,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/exp10.cpp b/libc/src/math/generic/exp10.cpp
index 971f6b404c392..d01bbd8fc01c3 100644
--- a/libc/src/math/generic/exp10.cpp
+++ b/libc/src/math/generic/exp10.cpp
@@ -22,6 +22,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/exp10f.cpp b/libc/src/math/generic/exp10f.cpp
index 7fd7ff582b05d..5284c380f52ec 100644
--- a/libc/src/math/generic/exp10f.cpp
+++ b/libc/src/math/generic/exp10f.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/exp10f.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/math/generic/exp10f_impl.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/exp10f_impl.h b/libc/src/math/generic/exp10f_impl.h
index 36b486941b933..fe2195c6e0473 100644
--- a/libc/src/math/generic/exp10f_impl.h
+++ b/libc/src/math/generic/exp10f_impl.h
@@ -18,6 +18,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/exp2.cpp b/libc/src/math/generic/exp2.cpp
index 87ba550351407..fbabb625af51f 100644
--- a/libc/src/math/generic/exp2.cpp
+++ b/libc/src/math/generic/exp2.cpp
@@ -22,6 +22,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/exp2f.cpp b/libc/src/math/generic/exp2f.cpp
index f13e48fe8044e..60d6510f23699 100644
--- a/libc/src/math/generic/exp2f.cpp
+++ b/libc/src/math/generic/exp2f.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/exp2f.h"
 #include "src/__support/common.h" // for LLVM_LIBC_FUNCTION
+#include "src/__support/macros/config.h"
 #include "src/math/generic/exp2f_impl.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/exp2f_impl.h b/libc/src/math/generic/exp2f_impl.h
index 31b389020d045..3f1c5ee68f081 100644
--- a/libc/src/math/generic/exp2f_impl.h
+++ b/libc/src/math/generic/exp2f_impl.h
@@ -17,6 +17,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h"
 
diff --git a/libc/src/math/generic/exp2m1f.cpp b/libc/src/math/generic/exp2m1f.cpp
index 82caae094c79b..2060dc34cc9bf 100644
--- a/libc/src/math/generic/exp2m1f.cpp
+++ b/libc/src/math/generic/exp2m1f.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/macros/properties/cpu_features.h"
 #include "src/errno/libc_errno.h"
diff --git a/libc/src/math/generic/exp_utils.cpp b/libc/src/math/generic/exp_utils.cpp
index b1d12b77e8711..cc21637e4c7c0 100644
--- a/libc/src/math/generic/exp_utils.cpp
+++ b/libc/src/math/generic/exp_utils.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "exp_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/exp_utils.h b/libc/src/math/generic/exp_utils.h
index 908826626916e..dca9eb7c2d715 100644
--- a/libc/src/math/generic/exp_utils.h
+++ b/libc/src/math/generic/exp_utils.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_GENERIC_EXP_UTILS_H
 #define LLVM_LIBC_SRC_MATH_GENERIC_EXP_UTILS_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 #define EXP2F_TABLE_BITS 5
diff --git a/libc/src/math/generic/expf.cpp b/libc/src/math/generic/expf.cpp
index 832d8152310fa..1d7c0478eb225 100644
--- a/libc/src/math/generic/expf.cpp
+++ b/libc/src/math/generic/expf.cpp
@@ -16,6 +16,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include <errno.h>
diff --git a/libc/src/math/generic/explogxf.cpp b/libc/src/math/generic/explogxf.cpp
index b64498824ce04..9e945eca7aed6 100644
--- a/libc/src/math/generic/explogxf.cpp
+++ b/libc/src/math/generic/explogxf.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "explogxf.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/explogxf.h b/libc/src/math/generic/explogxf.h
index b73668dfd760b..7daed558f74b1 100644
--- a/libc/src/math/generic/explogxf.h
+++ b/libc/src/math/generic/explogxf.h
@@ -17,6 +17,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/cpu_features.h"
 
 #include <errno.h>
diff --git a/libc/src/math/generic/expm1.cpp b/libc/src/math/generic/expm1.cpp
index 6e5e82c2b1481..d9485864df899 100644
--- a/libc/src/math/generic/expm1.cpp
+++ b/libc/src/math/generic/expm1.cpp
@@ -23,6 +23,7 @@
 #include "src/__support/FPUtil/triple_double.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #if ((LIBC_MATH & LIBC_MATH_SKIP_ACCURATE_PASS) != 0)
diff --git a/libc/src/math/generic/expm1f.cpp b/libc/src/math/generic/expm1f.cpp
index 81e125f191282..b1a0fe16de077 100644
--- a/libc/src/math/generic/expm1f.cpp
+++ b/libc/src/math/generic/expm1f.cpp
@@ -17,6 +17,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/f16add.cpp b/libc/src/math/generic/f16add.cpp
index 90a3815564848..e9be8a743721e 100644
--- a/libc/src/math/generic/f16add.cpp
+++ b/libc/src/math/generic/f16add.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16add.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16addf.cpp b/libc/src/math/generic/f16addf.cpp
index 8ab7748ff3c93..ee05ff7f00531 100644
--- a/libc/src/math/generic/f16addf.cpp
+++ b/libc/src/math/generic/f16addf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16addf.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16addf128.cpp b/libc/src/math/generic/f16addf128.cpp
index 999d8116c50e6..4e9038e23125a 100644
--- a/libc/src/math/generic/f16addf128.cpp
+++ b/libc/src/math/generic/f16addf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16addf128.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16addl.cpp b/libc/src/math/generic/f16addl.cpp
index b9c5a41990561..925f08418b99d 100644
--- a/libc/src/math/generic/f16addl.cpp
+++ b/libc/src/math/generic/f16addl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16addl.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16div.cpp b/libc/src/math/generic/f16div.cpp
index b2bbba417ed5b..7df94a8ef508f 100644
--- a/libc/src/math/generic/f16div.cpp
+++ b/libc/src/math/generic/f16div.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16div.h"
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16divf.cpp b/libc/src/math/generic/f16divf.cpp
index 15b93b98b682f..3e6289eee4017 100644
--- a/libc/src/math/generic/f16divf.cpp
+++ b/libc/src/math/generic/f16divf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16divf.h"
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16divf128.cpp b/libc/src/math/generic/f16divf128.cpp
index 8fc0b2f1a66bb..8980ebe9640bd 100644
--- a/libc/src/math/generic/f16divf128.cpp
+++ b/libc/src/math/generic/f16divf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16divf128.h"
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16divl.cpp b/libc/src/math/generic/f16divl.cpp
index 4c6a39477b9f6..2a0b20041e0d3 100644
--- a/libc/src/math/generic/f16divl.cpp
+++ b/libc/src/math/generic/f16divl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16divl.h"
 #include "src/__support/FPUtil/generic/div.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16fma.cpp b/libc/src/math/generic/f16fma.cpp
index 0e50eea7291d9..70314b5420fad 100644
--- a/libc/src/math/generic/f16fma.cpp
+++ b/libc/src/math/generic/f16fma.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16fma.h"
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16fmaf.cpp b/libc/src/math/generic/f16fmaf.cpp
index 5b51326bf74f5..bd0b56b1ab31b 100644
--- a/libc/src/math/generic/f16fmaf.cpp
+++ b/libc/src/math/generic/f16fmaf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16fmaf.h"
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16fmaf128.cpp b/libc/src/math/generic/f16fmaf128.cpp
index 24bc6e3c8f8db..5c4823c47e79f 100644
--- a/libc/src/math/generic/f16fmaf128.cpp
+++ b/libc/src/math/generic/f16fmaf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16fmaf128.h"
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16fmal.cpp b/libc/src/math/generic/f16fmal.cpp
index 103a4252b890b..4f2bf92af5bbb 100644
--- a/libc/src/math/generic/f16fmal.cpp
+++ b/libc/src/math/generic/f16fmal.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16fmal.h"
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16sqrt.cpp b/libc/src/math/generic/f16sqrt.cpp
index a33531465b44f..4addb553a5851 100644
--- a/libc/src/math/generic/f16sqrt.cpp
+++ b/libc/src/math/generic/f16sqrt.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16sqrt.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16sqrtf.cpp b/libc/src/math/generic/f16sqrtf.cpp
index fcfee9f7c66f6..be43a77787fae 100644
--- a/libc/src/math/generic/f16sqrtf.cpp
+++ b/libc/src/math/generic/f16sqrtf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16sqrtf.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16sqrtf128.cpp b/libc/src/math/generic/f16sqrtf128.cpp
index 770b886c8a914..d33d6d2963fea 100644
--- a/libc/src/math/generic/f16sqrtf128.cpp
+++ b/libc/src/math/generic/f16sqrtf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16sqrtf128.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16sqrtl.cpp b/libc/src/math/generic/f16sqrtl.cpp
index bcb3e17af682d..c6ce73de7fec9 100644
--- a/libc/src/math/generic/f16sqrtl.cpp
+++ b/libc/src/math/generic/f16sqrtl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16sqrtl.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16sub.cpp b/libc/src/math/generic/f16sub.cpp
index 506027cb7b3be..88962b880491d 100644
--- a/libc/src/math/generic/f16sub.cpp
+++ b/libc/src/math/generic/f16sub.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16sub.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16subf.cpp b/libc/src/math/generic/f16subf.cpp
index 37194080e00d3..adc0ca4375aaf 100644
--- a/libc/src/math/generic/f16subf.cpp
+++ b/libc/src/math/generic/f16subf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16subf.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16subf128.cpp b/libc/src/math/generic/f16subf128.cpp
index 76de233de96e8..c3e0ba559f663 100644
--- a/libc/src/math/generic/f16subf128.cpp
+++ b/libc/src/math/generic/f16subf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16subf128.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/f16subl.cpp b/libc/src/math/generic/f16subl.cpp
index 8b18b7b0b20fa..0ade79064773d 100644
--- a/libc/src/math/generic/f16subl.cpp
+++ b/libc/src/math/generic/f16subl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/f16subl.h"
 #include "src/__support/FPUtil/generic/add_sub.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fabs.cpp b/libc/src/math/generic/fabs.cpp
index 5d92b459cba97..472297aecb2f7 100644
--- a/libc/src/math/generic/fabs.cpp
+++ b/libc/src/math/generic/fabs.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fabs.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fabsf.cpp b/libc/src/math/generic/fabsf.cpp
index 47ca6c18b75d6..ad4fcb30c795d 100644
--- a/libc/src/math/generic/fabsf.cpp
+++ b/libc/src/math/generic/fabsf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fabsf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fabsf128.cpp b/libc/src/math/generic/fabsf128.cpp
index 2ab1dcd868876..795d907e881f6 100644
--- a/libc/src/math/generic/fabsf128.cpp
+++ b/libc/src/math/generic/fabsf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fabsf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fabsf16.cpp b/libc/src/math/generic/fabsf16.cpp
index 2798f897f0cea..57671fb6067e2 100644
--- a/libc/src/math/generic/fabsf16.cpp
+++ b/libc/src/math/generic/fabsf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fabsf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fabsl.cpp b/libc/src/math/generic/fabsl.cpp
index f5c368d9e4f24..ea860549abd1e 100644
--- a/libc/src/math/generic/fabsl.cpp
+++ b/libc/src/math/generic/fabsl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fabsl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fdim.cpp b/libc/src/math/generic/fdim.cpp
index aa9aa9c42fc5f..9ea121f327286 100644
--- a/libc/src/math/generic/fdim.cpp
+++ b/libc/src/math/generic/fdim.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fdim.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fdimf.cpp b/libc/src/math/generic/fdimf.cpp
index 3b2312612561d..2c6bf7a51dc57 100644
--- a/libc/src/math/generic/fdimf.cpp
+++ b/libc/src/math/generic/fdimf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fdimf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fdimf128.cpp b/libc/src/math/generic/fdimf128.cpp
index 0bbdb83b334f0..f8b1499b35b0b 100644
--- a/libc/src/math/generic/fdimf128.cpp
+++ b/libc/src/math/generic/fdimf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fdimf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fdimf16.cpp b/libc/src/math/generic/fdimf16.cpp
index 2c351094f94c9..6eac460a93c71 100644
--- a/libc/src/math/generic/fdimf16.cpp
+++ b/libc/src/math/generic/fdimf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fdimf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fdiml.cpp b/libc/src/math/generic/fdiml.cpp
index 625992e8d7093..ebac58ea797ed 100644
--- a/libc/src/math/generic/fdiml.cpp
+++ b/libc/src/math/generic/fdiml.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fdiml.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/floor.cpp b/libc/src/math/generic/floor.cpp
index 30c506552a09e..417d6aca3ffe5 100644
--- a/libc/src/math/generic/floor.cpp
+++ b/libc/src/math/generic/floor.cpp
@@ -9,6 +9,7 @@
 #include "src/math/floor.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/floorf.cpp b/libc/src/math/generic/floorf.cpp
index b0653f2b82780..ca059e6d02d53 100644
--- a/libc/src/math/generic/floorf.cpp
+++ b/libc/src/math/generic/floorf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/floorf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/floorf128.cpp b/libc/src/math/generic/floorf128.cpp
index 70afe5a0956d1..f3ad20a1dcba0 100644
--- a/libc/src/math/generic/floorf128.cpp
+++ b/libc/src/math/generic/floorf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/floorf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/floorf16.cpp b/libc/src/math/generic/floorf16.cpp
index 31801917b9b26..46068c2a548a9 100644
--- a/libc/src/math/generic/floorf16.cpp
+++ b/libc/src/math/generic/floorf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/floorf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/floorl.cpp b/libc/src/math/generic/floorl.cpp
index d8aca0a456607..74fbb6893822a 100644
--- a/libc/src/math/generic/floorl.cpp
+++ b/libc/src/math/generic/floorl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/floorl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fma.cpp b/libc/src/math/generic/fma.cpp
index 84559eb3a264d..2ea4ae9961150 100644
--- a/libc/src/math/generic/fma.cpp
+++ b/libc/src/math/generic/fma.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "src/__support/FPUtil/FMA.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaf.cpp b/libc/src/math/generic/fmaf.cpp
index 0f9a894254aba..dad85b4e9d1e6 100644
--- a/libc/src/math/generic/fmaf.cpp
+++ b/libc/src/math/generic/fmaf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "src/__support/FPUtil/FMA.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmax.cpp b/libc/src/math/generic/fmax.cpp
index 5e02253d427a8..b9ac4a0d8efaf 100644
--- a/libc/src/math/generic/fmax.cpp
+++ b/libc/src/math/generic/fmax.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmax.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaxf.cpp b/libc/src/math/generic/fmaxf.cpp
index 0ddee278fc3a6..1c422de371f23 100644
--- a/libc/src/math/generic/fmaxf.cpp
+++ b/libc/src/math/generic/fmaxf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaxf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaxf128.cpp b/libc/src/math/generic/fmaxf128.cpp
index 5e655e27db37c..08a9c8fe88aef 100644
--- a/libc/src/math/generic/fmaxf128.cpp
+++ b/libc/src/math/generic/fmaxf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaxf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaxf16.cpp b/libc/src/math/generic/fmaxf16.cpp
index 634aefc3393b1..02c2bd80149fd 100644
--- a/libc/src/math/generic/fmaxf16.cpp
+++ b/libc/src/math/generic/fmaxf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaxf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum.cpp b/libc/src/math/generic/fmaximum.cpp
index 3c021469a6c7e..1493521affd93 100644
--- a/libc/src/math/generic/fmaximum.cpp
+++ b/libc/src/math/generic/fmaximum.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag.cpp b/libc/src/math/generic/fmaximum_mag.cpp
index 6e8a12f1b0c2c..a0152bf73a62d 100644
--- a/libc/src/math/generic/fmaximum_mag.cpp
+++ b/libc/src/math/generic/fmaximum_mag.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag_num.cpp b/libc/src/math/generic/fmaximum_mag_num.cpp
index 86a1f75fe25ec..de250bbd32b7b 100644
--- a/libc/src/math/generic/fmaximum_mag_num.cpp
+++ b/libc/src/math/generic/fmaximum_mag_num.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag_num.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag_numf.cpp b/libc/src/math/generic/fmaximum_mag_numf.cpp
index 618bb556194ae..e372f1bd1f9d3 100644
--- a/libc/src/math/generic/fmaximum_mag_numf.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag_numf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag_numf128.cpp b/libc/src/math/generic/fmaximum_mag_numf128.cpp
index 3fb0422c04dd7..09e72481d8908 100644
--- a/libc/src/math/generic/fmaximum_mag_numf128.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag_numf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag_numf16.cpp b/libc/src/math/generic/fmaximum_mag_numf16.cpp
index 047278559c7f2..d81b9fe790783 100644
--- a/libc/src/math/generic/fmaximum_mag_numf16.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag_numf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_mag_numl.cpp b/libc/src/math/generic/fmaximum_mag_numl.cpp
index eadcf8bd5b8e7..3816bdd142697 100644
--- a/libc/src/math/generic/fmaximum_mag_numl.cpp
+++ b/libc/src/math/generic/fmaximum_mag_numl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_mag_numl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_magf.cpp b/libc/src/math/generic/fmaximum_magf.cpp
index ca704d8a2a7b9..41099a157b2e8 100644
--- a/libc/src/math/generic/fmaximum_magf.cpp
+++ b/libc/src/math/generic/fmaximum_magf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_magf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_magf128.cpp b/libc/src/math/generic/fmaximum_magf128.cpp
index 84904dd78336a..671d0fb69ee53 100644
--- a/libc/src/math/generic/fmaximum_magf128.cpp
+++ b/libc/src/math/generic/fmaximum_magf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_magf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_magf16.cpp b/libc/src/math/generic/fmaximum_magf16.cpp
index ceb2d8a7969eb..79e75ab376ccd 100644
--- a/libc/src/math/generic/fmaximum_magf16.cpp
+++ b/libc/src/math/generic/fmaximum_magf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_magf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_magl.cpp b/libc/src/math/generic/fmaximum_magl.cpp
index 052af9a822efa..1230076dadb64 100644
--- a/libc/src/math/generic/fmaximum_magl.cpp
+++ b/libc/src/math/generic/fmaximum_magl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_magl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_num.cpp b/libc/src/math/generic/fmaximum_num.cpp
index 9fbeb998ced6f..33df7daa380df 100644
--- a/libc/src/math/generic/fmaximum_num.cpp
+++ b/libc/src/math/generic/fmaximum_num.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_num.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_numf.cpp b/libc/src/math/generic/fmaximum_numf.cpp
index c349f46413447..1577080ba2c25 100644
--- a/libc/src/math/generic/fmaximum_numf.cpp
+++ b/libc/src/math/generic/fmaximum_numf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_numf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_numf128.cpp b/libc/src/math/generic/fmaximum_numf128.cpp
index dded46aa4e9f7..5cfaca536320e 100644
--- a/libc/src/math/generic/fmaximum_numf128.cpp
+++ b/libc/src/math/generic/fmaximum_numf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_numf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_numf16.cpp b/libc/src/math/generic/fmaximum_numf16.cpp
index 1d0907ddbfda6..394ce8b5fe4f3 100644
--- a/libc/src/math/generic/fmaximum_numf16.cpp
+++ b/libc/src/math/generic/fmaximum_numf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_numf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximum_numl.cpp b/libc/src/math/generic/fmaximum_numl.cpp
index aea6013c4f51d..eecebf6ed35cc 100644
--- a/libc/src/math/generic/fmaximum_numl.cpp
+++ b/libc/src/math/generic/fmaximum_numl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximum_numl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximumf.cpp b/libc/src/math/generic/fmaximumf.cpp
index 9f94439dabd43..faa00a6301894 100644
--- a/libc/src/math/generic/fmaximumf.cpp
+++ b/libc/src/math/generic/fmaximumf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximumf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximumf128.cpp b/libc/src/math/generic/fmaximumf128.cpp
index 47a5915f51804..362b583822872 100644
--- a/libc/src/math/generic/fmaximumf128.cpp
+++ b/libc/src/math/generic/fmaximumf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximumf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximumf16.cpp b/libc/src/math/generic/fmaximumf16.cpp
index 2270028cb2759..aa4982d26bccb 100644
--- a/libc/src/math/generic/fmaximumf16.cpp
+++ b/libc/src/math/generic/fmaximumf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximumf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaximuml.cpp b/libc/src/math/generic/fmaximuml.cpp
index e08552e16f3dc..65e3b6935eee4 100644
--- a/libc/src/math/generic/fmaximuml.cpp
+++ b/libc/src/math/generic/fmaximuml.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaximuml.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmaxl.cpp b/libc/src/math/generic/fmaxl.cpp
index aa52e5b510961..a5460f559eeba 100644
--- a/libc/src/math/generic/fmaxl.cpp
+++ b/libc/src/math/generic/fmaxl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmaxl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmin.cpp b/libc/src/math/generic/fmin.cpp
index 667d4311b776f..2351874029c72 100644
--- a/libc/src/math/generic/fmin.cpp
+++ b/libc/src/math/generic/fmin.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmin.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminf.cpp b/libc/src/math/generic/fminf.cpp
index 5f966a32b8e52..83dd0aa66b54a 100644
--- a/libc/src/math/generic/fminf.cpp
+++ b/libc/src/math/generic/fminf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminf128.cpp b/libc/src/math/generic/fminf128.cpp
index 596c97463fbbe..184b7e3c21532 100644
--- a/libc/src/math/generic/fminf128.cpp
+++ b/libc/src/math/generic/fminf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminf16.cpp b/libc/src/math/generic/fminf16.cpp
index 88d5049c2667f..8b69273a906ec 100644
--- a/libc/src/math/generic/fminf16.cpp
+++ b/libc/src/math/generic/fminf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum.cpp b/libc/src/math/generic/fminimum.cpp
index c9f32958d6535..2f14e64cd7575 100644
--- a/libc/src/math/generic/fminimum.cpp
+++ b/libc/src/math/generic/fminimum.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag.cpp b/libc/src/math/generic/fminimum_mag.cpp
index 61042a575d3cf..8d8001df659cb 100644
--- a/libc/src/math/generic/fminimum_mag.cpp
+++ b/libc/src/math/generic/fminimum_mag.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag_num.cpp b/libc/src/math/generic/fminimum_mag_num.cpp
index 5af8231806c16..ab049b5861145 100644
--- a/libc/src/math/generic/fminimum_mag_num.cpp
+++ b/libc/src/math/generic/fminimum_mag_num.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag_num.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag_numf.cpp b/libc/src/math/generic/fminimum_mag_numf.cpp
index 8fe14e2a12599..2aa88c74105d4 100644
--- a/libc/src/math/generic/fminimum_mag_numf.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag_numf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag_numf128.cpp b/libc/src/math/generic/fminimum_mag_numf128.cpp
index b688107ef5356..ec7ab54054e3d 100644
--- a/libc/src/math/generic/fminimum_mag_numf128.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag_numf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag_numf16.cpp b/libc/src/math/generic/fminimum_mag_numf16.cpp
index c913d6ff86c8f..5805514b83f68 100644
--- a/libc/src/math/generic/fminimum_mag_numf16.cpp
+++ b/libc/src/math/generic/fminimum_mag_numf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag_numf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_mag_numl.cpp b/libc/src/math/generic/fminimum_mag_numl.cpp
index 61ee474b34d50..70fea1f5ef282 100644
--- a/libc/src/math/generic/fminimum_mag_numl.cpp
+++ b/libc/src/math/generic/fminimum_mag_numl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_mag_numl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_magf.cpp b/libc/src/math/generic/fminimum_magf.cpp
index 3a4b24e220c19..fcc2e056f2bff 100644
--- a/libc/src/math/generic/fminimum_magf.cpp
+++ b/libc/src/math/generic/fminimum_magf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_magf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_magf128.cpp b/libc/src/math/generic/fminimum_magf128.cpp
index 200e3a65a109f..3e7e01f4239eb 100644
--- a/libc/src/math/generic/fminimum_magf128.cpp
+++ b/libc/src/math/generic/fminimum_magf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_magf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_magf16.cpp b/libc/src/math/generic/fminimum_magf16.cpp
index 876ced6c973ec..4417f75321c5d 100644
--- a/libc/src/math/generic/fminimum_magf16.cpp
+++ b/libc/src/math/generic/fminimum_magf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_magf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_magl.cpp b/libc/src/math/generic/fminimum_magl.cpp
index c64b9c5fb52b7..befc4ac94c1bb 100644
--- a/libc/src/math/generic/fminimum_magl.cpp
+++ b/libc/src/math/generic/fminimum_magl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_magl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_num.cpp b/libc/src/math/generic/fminimum_num.cpp
index 54de576aee796..3ff79def58075 100644
--- a/libc/src/math/generic/fminimum_num.cpp
+++ b/libc/src/math/generic/fminimum_num.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_num.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_numf.cpp b/libc/src/math/generic/fminimum_numf.cpp
index 4f158e52e4246..c7ac99b14bd5a 100644
--- a/libc/src/math/generic/fminimum_numf.cpp
+++ b/libc/src/math/generic/fminimum_numf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_numf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_numf128.cpp b/libc/src/math/generic/fminimum_numf128.cpp
index 667e0a5a8d403..6d957128c26fd 100644
--- a/libc/src/math/generic/fminimum_numf128.cpp
+++ b/libc/src/math/generic/fminimum_numf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_numf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_numf16.cpp b/libc/src/math/generic/fminimum_numf16.cpp
index 94f95df86e016..0af7205713c10 100644
--- a/libc/src/math/generic/fminimum_numf16.cpp
+++ b/libc/src/math/generic/fminimum_numf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_numf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimum_numl.cpp b/libc/src/math/generic/fminimum_numl.cpp
index 624515314d9d0..8a4cff38bdd38 100644
--- a/libc/src/math/generic/fminimum_numl.cpp
+++ b/libc/src/math/generic/fminimum_numl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimum_numl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimumf.cpp b/libc/src/math/generic/fminimumf.cpp
index db140ea336412..57e33c184ccf1 100644
--- a/libc/src/math/generic/fminimumf.cpp
+++ b/libc/src/math/generic/fminimumf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimumf.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimumf128.cpp b/libc/src/math/generic/fminimumf128.cpp
index 8b8581ba087cc..3dbd18d65362e 100644
--- a/libc/src/math/generic/fminimumf128.cpp
+++ b/libc/src/math/generic/fminimumf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimumf128.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimumf16.cpp b/libc/src/math/generic/fminimumf16.cpp
index fe6b63311f488..42ad9a55e4d60 100644
--- a/libc/src/math/generic/fminimumf16.cpp
+++ b/libc/src/math/generic/fminimumf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimumf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminimuml.cpp b/libc/src/math/generic/fminimuml.cpp
index 13a3b4424a70d..c80cb0a5fc440 100644
--- a/libc/src/math/generic/fminimuml.cpp
+++ b/libc/src/math/generic/fminimuml.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminimuml.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fminl.cpp b/libc/src/math/generic/fminl.cpp
index 5b75923b4c608..aa15de74ebd57 100644
--- a/libc/src/math/generic/fminl.cpp
+++ b/libc/src/math/generic/fminl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminl.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmod.cpp b/libc/src/math/generic/fmod.cpp
index 1e208a4b6b899..010e66aa745ca 100644
--- a/libc/src/math/generic/fmod.cpp
+++ b/libc/src/math/generic/fmod.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmod.h"
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmodf.cpp b/libc/src/math/generic/fmodf.cpp
index f89095b0f189d..1e1ef48895cc7 100644
--- a/libc/src/math/generic/fmodf.cpp
+++ b/libc/src/math/generic/fmodf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmodf.h"
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmodf128.cpp b/libc/src/math/generic/fmodf128.cpp
index 8656e299376ce..a7633bf9c2fff 100644
--- a/libc/src/math/generic/fmodf128.cpp
+++ b/libc/src/math/generic/fmodf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmodf128.h"
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmodf16.cpp b/libc/src/math/generic/fmodf16.cpp
index 6443ebefe2ec4..2585639559496 100644
--- a/libc/src/math/generic/fmodf16.cpp
+++ b/libc/src/math/generic/fmodf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmodf16.h"
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmodl.cpp b/libc/src/math/generic/fmodl.cpp
index 9c674de0a527d..1af8ffc976ddd 100644
--- a/libc/src/math/generic/fmodl.cpp
+++ b/libc/src/math/generic/fmodl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmodl.h"
 #include "src/__support/FPUtil/generic/FMod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fmul.cpp b/libc/src/math/generic/fmul.cpp
index d906d9a219c15..16fa11e93df09 100644
--- a/libc/src/math/generic/fmul.cpp
+++ b/libc/src/math/generic/fmul.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/frexp.cpp b/libc/src/math/generic/frexp.cpp
index 19f188d13215b..0efc0d48e588d 100644
--- a/libc/src/math/generic/frexp.cpp
+++ b/libc/src/math/generic/frexp.cpp
@@ -9,6 +9,7 @@
 #include "src/math/frexp.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/frexpf.cpp b/libc/src/math/generic/frexpf.cpp
index 23cbadaf20adf..09227badc3417 100644
--- a/libc/src/math/generic/frexpf.cpp
+++ b/libc/src/math/generic/frexpf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/frexpf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/frexpf128.cpp b/libc/src/math/generic/frexpf128.cpp
index ac4b7b6a0dda4..eb816c4769707 100644
--- a/libc/src/math/generic/frexpf128.cpp
+++ b/libc/src/math/generic/frexpf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/frexpf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/frexpf16.cpp b/libc/src/math/generic/frexpf16.cpp
index 903c0acc04fb6..4571b0d0ea389 100644
--- a/libc/src/math/generic/frexpf16.cpp
+++ b/libc/src/math/generic/frexpf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/frexpf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/frexpl.cpp b/libc/src/math/generic/frexpl.cpp
index 4254aa6c58126..6f2b456b5944e 100644
--- a/libc/src/math/generic/frexpl.cpp
+++ b/libc/src/math/generic/frexpl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/frexpl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfp.cpp b/libc/src/math/generic/fromfp.cpp
index 421dbd2e83e1c..f75e6596b25f7 100644
--- a/libc/src/math/generic/fromfp.cpp
+++ b/libc/src/math/generic/fromfp.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfp.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpf.cpp b/libc/src/math/generic/fromfpf.cpp
index a2f1e6ccf06d3..83f0518143465 100644
--- a/libc/src/math/generic/fromfpf.cpp
+++ b/libc/src/math/generic/fromfpf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpf128.cpp b/libc/src/math/generic/fromfpf128.cpp
index 469fde47416ad..bcbe86cc3e5d8 100644
--- a/libc/src/math/generic/fromfpf128.cpp
+++ b/libc/src/math/generic/fromfpf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpf16.cpp b/libc/src/math/generic/fromfpf16.cpp
index e3a3f76419477..0166e8e08309e 100644
--- a/libc/src/math/generic/fromfpf16.cpp
+++ b/libc/src/math/generic/fromfpf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpl.cpp b/libc/src/math/generic/fromfpl.cpp
index 1bee873abc66f..ab1cbefae1efb 100644
--- a/libc/src/math/generic/fromfpl.cpp
+++ b/libc/src/math/generic/fromfpl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpx.cpp b/libc/src/math/generic/fromfpx.cpp
index b6143d72f05ec..cf545df4290e5 100644
--- a/libc/src/math/generic/fromfpx.cpp
+++ b/libc/src/math/generic/fromfpx.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpx.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpxf.cpp b/libc/src/math/generic/fromfpxf.cpp
index 56619caa380e6..1af3c98c1080c 100644
--- a/libc/src/math/generic/fromfpxf.cpp
+++ b/libc/src/math/generic/fromfpxf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpxf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpxf128.cpp b/libc/src/math/generic/fromfpxf128.cpp
index 6b32b6ac9c992..bb47578a6fc8b 100644
--- a/libc/src/math/generic/fromfpxf128.cpp
+++ b/libc/src/math/generic/fromfpxf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpxf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpxf16.cpp b/libc/src/math/generic/fromfpxf16.cpp
index e54f1ce649fa9..64a3b869b0962 100644
--- a/libc/src/math/generic/fromfpxf16.cpp
+++ b/libc/src/math/generic/fromfpxf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpxf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/fromfpxl.cpp b/libc/src/math/generic/fromfpxl.cpp
index 0fb24074b8e52..b402aa12140f9 100644
--- a/libc/src/math/generic/fromfpxl.cpp
+++ b/libc/src/math/generic/fromfpxl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fromfpxl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/getpayloadf16.cpp b/libc/src/math/generic/getpayloadf16.cpp
index 9230804d6d2eb..34c31acf108c0 100644
--- a/libc/src/math/generic/getpayloadf16.cpp
+++ b/libc/src/math/generic/getpayloadf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/getpayloadf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/hypot.cpp b/libc/src/math/generic/hypot.cpp
index 87da28e5c0342..0dfe4360bafe0 100644
--- a/libc/src/math/generic/hypot.cpp
+++ b/libc/src/math/generic/hypot.cpp
@@ -9,6 +9,7 @@
 #include "src/math/hypot.h"
 #include "src/__support/FPUtil/Hypot.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/hypotf.cpp b/libc/src/math/generic/hypotf.cpp
index 9b21793f8811c..75c55ed846726 100644
--- a/libc/src/math/generic/hypotf.cpp
+++ b/libc/src/math/generic/hypotf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ilogb.cpp b/libc/src/math/generic/ilogb.cpp
index cd01717359a78..60f2af24dc225 100644
--- a/libc/src/math/generic/ilogb.cpp
+++ b/libc/src/math/generic/ilogb.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ilogb.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ilogbf.cpp b/libc/src/math/generic/ilogbf.cpp
index 895900b86ffcf..7da2aff3de316 100644
--- a/libc/src/math/generic/ilogbf.cpp
+++ b/libc/src/math/generic/ilogbf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ilogbf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ilogbf128.cpp b/libc/src/math/generic/ilogbf128.cpp
index efad1a94f7b19..4abc670188a3a 100644
--- a/libc/src/math/generic/ilogbf128.cpp
+++ b/libc/src/math/generic/ilogbf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ilogbf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ilogbf16.cpp b/libc/src/math/generic/ilogbf16.cpp
index 41a34c52039a2..9217cdfe01651 100644
--- a/libc/src/math/generic/ilogbf16.cpp
+++ b/libc/src/math/generic/ilogbf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ilogbf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ilogbl.cpp b/libc/src/math/generic/ilogbl.cpp
index 0a8207418af54..12460a8b154ee 100644
--- a/libc/src/math/generic/ilogbl.cpp
+++ b/libc/src/math/generic/ilogbl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ilogbl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/inv_trigf_utils.cpp b/libc/src/math/generic/inv_trigf_utils.cpp
index 1a30713a18f7b..f23028bb86b5c 100644
--- a/libc/src/math/generic/inv_trigf_utils.cpp
+++ b/libc/src/math/generic/inv_trigf_utils.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "inv_trigf_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/inv_trigf_utils.h b/libc/src/math/generic/inv_trigf_utils.h
index 89a9369564ef0..bdabec9c1b6bb 100644
--- a/libc/src/math/generic/inv_trigf_utils.h
+++ b/libc/src/math/generic/inv_trigf_utils.h
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/isnan.cpp b/libc/src/math/generic/isnan.cpp
index c9e4eac6b8ec5..73230a4e9a299 100644
--- a/libc/src/math/generic/isnan.cpp
+++ b/libc/src/math/generic/isnan.cpp
@@ -8,9 +8,10 @@
 
 #include "src/math/isnan.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
 LLVM_LIBC_FUNCTION(int, isnan, (double x)) { return __builtin_isnan(x); }
 
-} // namespace LIBC_NAMESPACE
+} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/math/generic/isnanf.cpp b/libc/src/math/generic/isnanf.cpp
index db66e791fd181..a1d814eab1825 100644
--- a/libc/src/math/generic/isnanf.cpp
+++ b/libc/src/math/generic/isnanf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/isnanf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/isnanl.cpp b/libc/src/math/generic/isnanl.cpp
index 532fd0b023dd4..57ce79f3c7b47 100644
--- a/libc/src/math/generic/isnanl.cpp
+++ b/libc/src/math/generic/isnanl.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/isnanl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ldexp.cpp b/libc/src/math/generic/ldexp.cpp
index 7afb837f5b4c4..93ed328671f2c 100644
--- a/libc/src/math/generic/ldexp.cpp
+++ b/libc/src/math/generic/ldexp.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ldexp.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ldexpf.cpp b/libc/src/math/generic/ldexpf.cpp
index 0aed320b24eeb..63c5d219f7a79 100644
--- a/libc/src/math/generic/ldexpf.cpp
+++ b/libc/src/math/generic/ldexpf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ldexpf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ldexpf128.cpp b/libc/src/math/generic/ldexpf128.cpp
index f8d7a56eb2322..03b1a2d2032e2 100644
--- a/libc/src/math/generic/ldexpf128.cpp
+++ b/libc/src/math/generic/ldexpf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ldexpf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ldexpf16.cpp b/libc/src/math/generic/ldexpf16.cpp
index 4898d17585e02..caa344b41476b 100644
--- a/libc/src/math/generic/ldexpf16.cpp
+++ b/libc/src/math/generic/ldexpf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ldexpf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ldexpl.cpp b/libc/src/math/generic/ldexpl.cpp
index add928938fd8a..9e1de5c5cf4a7 100644
--- a/libc/src/math/generic/ldexpl.cpp
+++ b/libc/src/math/generic/ldexpl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ldexpl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llogb.cpp b/libc/src/math/generic/llogb.cpp
index 5ede305adee56..3850ac00d98d9 100644
--- a/libc/src/math/generic/llogb.cpp
+++ b/libc/src/math/generic/llogb.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llogb.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llogbf.cpp b/libc/src/math/generic/llogbf.cpp
index 1660191b0feaa..fedad95cc48ad 100644
--- a/libc/src/math/generic/llogbf.cpp
+++ b/libc/src/math/generic/llogbf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llogbf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llogbf128.cpp b/libc/src/math/generic/llogbf128.cpp
index fb2c76d92bd47..9106731d3415a 100644
--- a/libc/src/math/generic/llogbf128.cpp
+++ b/libc/src/math/generic/llogbf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llogbf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llogbf16.cpp b/libc/src/math/generic/llogbf16.cpp
index b3c88ad900071..c792e9034d88f 100644
--- a/libc/src/math/generic/llogbf16.cpp
+++ b/libc/src/math/generic/llogbf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llogbf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llogbl.cpp b/libc/src/math/generic/llogbl.cpp
index 2185c6f2aaa35..7ee3ac55653b6 100644
--- a/libc/src/math/generic/llogbl.cpp
+++ b/libc/src/math/generic/llogbl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llogbl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llrint.cpp b/libc/src/math/generic/llrint.cpp
index ad123111a9309..f6e8cab93ec39 100644
--- a/libc/src/math/generic/llrint.cpp
+++ b/libc/src/math/generic/llrint.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llrint.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llrintf.cpp b/libc/src/math/generic/llrintf.cpp
index 0369cf587f64a..b5180de9a9bf9 100644
--- a/libc/src/math/generic/llrintf.cpp
+++ b/libc/src/math/generic/llrintf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llrintf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llrintf128.cpp b/libc/src/math/generic/llrintf128.cpp
index 97378012bed56..af489852eb73f 100644
--- a/libc/src/math/generic/llrintf128.cpp
+++ b/libc/src/math/generic/llrintf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llrintf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llrintf16.cpp b/libc/src/math/generic/llrintf16.cpp
index 5a5f594ca8427..c6b31c7352262 100644
--- a/libc/src/math/generic/llrintf16.cpp
+++ b/libc/src/math/generic/llrintf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llrintf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llrintl.cpp b/libc/src/math/generic/llrintl.cpp
index aab5a73fb38fe..35ae609d019fe 100644
--- a/libc/src/math/generic/llrintl.cpp
+++ b/libc/src/math/generic/llrintl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llrintl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llround.cpp b/libc/src/math/generic/llround.cpp
index 2032284ae7106..40b2614396618 100644
--- a/libc/src/math/generic/llround.cpp
+++ b/libc/src/math/generic/llround.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llround.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llroundf.cpp b/libc/src/math/generic/llroundf.cpp
index 14e7ce16cf9c7..259c769a49c9c 100644
--- a/libc/src/math/generic/llroundf.cpp
+++ b/libc/src/math/generic/llroundf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llroundf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llroundf128.cpp b/libc/src/math/generic/llroundf128.cpp
index bcf4991fc435a..2df24f5221cc3 100644
--- a/libc/src/math/generic/llroundf128.cpp
+++ b/libc/src/math/generic/llroundf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llroundf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llroundf16.cpp b/libc/src/math/generic/llroundf16.cpp
index a73647360ec57..d3f691ed0c6fd 100644
--- a/libc/src/math/generic/llroundf16.cpp
+++ b/libc/src/math/generic/llroundf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llroundf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/llroundl.cpp b/libc/src/math/generic/llroundl.cpp
index 86b921de7740b..49b41c810365e 100644
--- a/libc/src/math/generic/llroundl.cpp
+++ b/libc/src/math/generic/llroundl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/llroundl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/log.cpp b/libc/src/math/generic/log.cpp
index b2bd64fe8a79a..57c70e31730bf 100644
--- a/libc/src/math/generic/log.cpp
+++ b/libc/src/math/generic/log.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "common_constants.h"
diff --git a/libc/src/math/generic/log10.cpp b/libc/src/math/generic/log10.cpp
index 7a9c6cd7a4ce7..b99b22b024fe3 100644
--- a/libc/src/math/generic/log10.cpp
+++ b/libc/src/math/generic/log10.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "common_constants.h"
diff --git a/libc/src/math/generic/log10f.cpp b/libc/src/math/generic/log10f.cpp
index 1e120f4f49ad5..f7dd85cc08bf0 100644
--- a/libc/src/math/generic/log10f.cpp
+++ b/libc/src/math/generic/log10f.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h"
 
diff --git a/libc/src/math/generic/log1p.cpp b/libc/src/math/generic/log1p.cpp
index 07f95e8486369..f301a5aba3a57 100644
--- a/libc/src/math/generic/log1p.cpp
+++ b/libc/src/math/generic/log1p.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "common_constants.h"
diff --git a/libc/src/math/generic/log1pf.cpp b/libc/src/math/generic/log1pf.cpp
index 8c4957e4e2f8c..869cb077cc434 100644
--- a/libc/src/math/generic/log1pf.cpp
+++ b/libc/src/math/generic/log1pf.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h"
 
diff --git a/libc/src/math/generic/log2.cpp b/libc/src/math/generic/log2.cpp
index 267ea7a4a4cfa..7d868e2f6f619 100644
--- a/libc/src/math/generic/log2.cpp
+++ b/libc/src/math/generic/log2.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "common_constants.h"
diff --git a/libc/src/math/generic/log2f.cpp b/libc/src/math/generic/log2f.cpp
index e6665723cde7e..9cad02d796b18 100644
--- a/libc/src/math/generic/log2f.cpp
+++ b/libc/src/math/generic/log2f.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 // This is a correctly-rounded algorithm for log2(x) in single precision with
diff --git a/libc/src/math/generic/log_range_reduction.h b/libc/src/math/generic/log_range_reduction.h
index 7695138120856..8c94230ee7577 100644
--- a/libc/src/math/generic/log_range_reduction.h
+++ b/libc/src/math/generic/log_range_reduction.h
@@ -11,6 +11,7 @@
 
 #include "common_constants.h"
 #include "src/__support/FPUtil/dyadic_float.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/uint128.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/logb.cpp b/libc/src/math/generic/logb.cpp
index 65f11899547f4..4b8fde966aab1 100644
--- a/libc/src/math/generic/logb.cpp
+++ b/libc/src/math/generic/logb.cpp
@@ -9,6 +9,7 @@
 #include "src/math/logb.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/logbf.cpp b/libc/src/math/generic/logbf.cpp
index 54a175f14d31c..0dc0251afe290 100644
--- a/libc/src/math/generic/logbf.cpp
+++ b/libc/src/math/generic/logbf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/logbf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/logbf128.cpp b/libc/src/math/generic/logbf128.cpp
index fff9c61ba3b2d..af8348736c9f4 100644
--- a/libc/src/math/generic/logbf128.cpp
+++ b/libc/src/math/generic/logbf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/logbf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/logbf16.cpp b/libc/src/math/generic/logbf16.cpp
index d37a267ec8fe2..6e286a266a137 100644
--- a/libc/src/math/generic/logbf16.cpp
+++ b/libc/src/math/generic/logbf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/logbf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/logbl.cpp b/libc/src/math/generic/logbl.cpp
index 6bba6343ae4fd..dcab957f2c9c5 100644
--- a/libc/src/math/generic/logbl.cpp
+++ b/libc/src/math/generic/logbl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/logbl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/logf.cpp b/libc/src/math/generic/logf.cpp
index 588e20bdf607e..f8ecf320568ac 100644
--- a/libc/src/math/generic/logf.cpp
+++ b/libc/src/math/generic/logf.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/except_value_utils.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h"
 
diff --git a/libc/src/math/generic/lrint.cpp b/libc/src/math/generic/lrint.cpp
index a91fa87d21736..eae9bc13d6311 100644
--- a/libc/src/math/generic/lrint.cpp
+++ b/libc/src/math/generic/lrint.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lrint.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lrintf.cpp b/libc/src/math/generic/lrintf.cpp
index 61ce887427ff8..e08c87c713e9e 100644
--- a/libc/src/math/generic/lrintf.cpp
+++ b/libc/src/math/generic/lrintf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lrintf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lrintf128.cpp b/libc/src/math/generic/lrintf128.cpp
index af0604f2dcadc..15ecded1a3722 100644
--- a/libc/src/math/generic/lrintf128.cpp
+++ b/libc/src/math/generic/lrintf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lrintf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lrintf16.cpp b/libc/src/math/generic/lrintf16.cpp
index 53978ca7f7f14..92af687444446 100644
--- a/libc/src/math/generic/lrintf16.cpp
+++ b/libc/src/math/generic/lrintf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lrintf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lrintl.cpp b/libc/src/math/generic/lrintl.cpp
index 37f923f8aded5..d881aeea1727b 100644
--- a/libc/src/math/generic/lrintl.cpp
+++ b/libc/src/math/generic/lrintl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lrintl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lround.cpp b/libc/src/math/generic/lround.cpp
index 7c9f3df80c696..b208457000846 100644
--- a/libc/src/math/generic/lround.cpp
+++ b/libc/src/math/generic/lround.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lround.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lroundf.cpp b/libc/src/math/generic/lroundf.cpp
index 1f593dfa477b5..1e1a948ac7972 100644
--- a/libc/src/math/generic/lroundf.cpp
+++ b/libc/src/math/generic/lroundf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lroundf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lroundf128.cpp b/libc/src/math/generic/lroundf128.cpp
index 3de74b894fc8d..89b15f525f903 100644
--- a/libc/src/math/generic/lroundf128.cpp
+++ b/libc/src/math/generic/lroundf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lroundf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lroundf16.cpp b/libc/src/math/generic/lroundf16.cpp
index 7e5129e3dda96..d25bc8467f061 100644
--- a/libc/src/math/generic/lroundf16.cpp
+++ b/libc/src/math/generic/lroundf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lroundf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/lroundl.cpp b/libc/src/math/generic/lroundl.cpp
index a19c104ac1e51..efcf3da3ff15f 100644
--- a/libc/src/math/generic/lroundl.cpp
+++ b/libc/src/math/generic/lroundl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/lroundl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/modf.cpp b/libc/src/math/generic/modf.cpp
index b4e985a524375..ce56aa0bcf544 100644
--- a/libc/src/math/generic/modf.cpp
+++ b/libc/src/math/generic/modf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/modf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/modff.cpp b/libc/src/math/generic/modff.cpp
index bd24002dda7aa..c86a4fb279c7f 100644
--- a/libc/src/math/generic/modff.cpp
+++ b/libc/src/math/generic/modff.cpp
@@ -9,6 +9,7 @@
 #include "src/math/modff.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/modff128.cpp b/libc/src/math/generic/modff128.cpp
index c99baea1c7bdf..6f519a6901105 100644
--- a/libc/src/math/generic/modff128.cpp
+++ b/libc/src/math/generic/modff128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/modff128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/modff16.cpp b/libc/src/math/generic/modff16.cpp
index 41625fcf8a5d0..853fc55e26bab 100644
--- a/libc/src/math/generic/modff16.cpp
+++ b/libc/src/math/generic/modff16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/modff16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/modfl.cpp b/libc/src/math/generic/modfl.cpp
index 8d38183ae4424..8c9ab486b5aa3 100644
--- a/libc/src/math/generic/modfl.cpp
+++ b/libc/src/math/generic/modfl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/modfl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nan.cpp b/libc/src/math/generic/nan.cpp
index 27220298ce67b..f92cd3ff5eb50 100644
--- a/libc/src/math/generic/nan.cpp
+++ b/libc/src/math/generic/nan.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nan.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/math/generic/nanf.cpp b/libc/src/math/generic/nanf.cpp
index 6de94ea380d1d..7287182406acd 100644
--- a/libc/src/math/generic/nanf.cpp
+++ b/libc/src/math/generic/nanf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nanf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/math/generic/nanf128.cpp b/libc/src/math/generic/nanf128.cpp
index 405d86c530f3e..3d8581afa0371 100644
--- a/libc/src/math/generic/nanf128.cpp
+++ b/libc/src/math/generic/nanf128.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nanf128.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/math/generic/nanf16.cpp b/libc/src/math/generic/nanf16.cpp
index ac9048cd324ac..27d9d165f4a85 100644
--- a/libc/src/math/generic/nanf16.cpp
+++ b/libc/src/math/generic/nanf16.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nanf16.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/math/generic/nanl.cpp b/libc/src/math/generic/nanl.cpp
index 78411561a68c0..4f698cb3c88d0 100644
--- a/libc/src/math/generic/nanl.cpp
+++ b/libc/src/math/generic/nanl.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nanl.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/math/generic/nearbyint.cpp b/libc/src/math/generic/nearbyint.cpp
index a09cfcf6e1cdd..5662d6698e704 100644
--- a/libc/src/math/generic/nearbyint.cpp
+++ b/libc/src/math/generic/nearbyint.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nearbyint.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nearbyintf.cpp b/libc/src/math/generic/nearbyintf.cpp
index a887ad490904e..9b8db08215d88 100644
--- a/libc/src/math/generic/nearbyintf.cpp
+++ b/libc/src/math/generic/nearbyintf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nearbyintf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nearbyintf128.cpp b/libc/src/math/generic/nearbyintf128.cpp
index 3d2bf5b616be5..95038b8bf1267 100644
--- a/libc/src/math/generic/nearbyintf128.cpp
+++ b/libc/src/math/generic/nearbyintf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nearbyintf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nearbyintf16.cpp b/libc/src/math/generic/nearbyintf16.cpp
index 1b177e8ac5653..1e6229b8227b0 100644
--- a/libc/src/math/generic/nearbyintf16.cpp
+++ b/libc/src/math/generic/nearbyintf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nearbyintf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nearbyintl.cpp b/libc/src/math/generic/nearbyintl.cpp
index 1ab6ae4784b44..79ee73c853ab5 100644
--- a/libc/src/math/generic/nearbyintl.cpp
+++ b/libc/src/math/generic/nearbyintl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nearbyintl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextafter.cpp b/libc/src/math/generic/nextafter.cpp
index 24eebd9a0ae1f..ff35c86930eab 100644
--- a/libc/src/math/generic/nextafter.cpp
+++ b/libc/src/math/generic/nextafter.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextafter.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextafterf.cpp b/libc/src/math/generic/nextafterf.cpp
index c557f1b3c4ac6..fd8ca02895b67 100644
--- a/libc/src/math/generic/nextafterf.cpp
+++ b/libc/src/math/generic/nextafterf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextafterf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextafterf128.cpp b/libc/src/math/generic/nextafterf128.cpp
index caf594c44b002..c774f10b88ccd 100644
--- a/libc/src/math/generic/nextafterf128.cpp
+++ b/libc/src/math/generic/nextafterf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextafterf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextafterf16.cpp b/libc/src/math/generic/nextafterf16.cpp
index 06d40aec9c0c6..70adc9c0800d3 100644
--- a/libc/src/math/generic/nextafterf16.cpp
+++ b/libc/src/math/generic/nextafterf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextafterf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextafterl.cpp b/libc/src/math/generic/nextafterl.cpp
index 7fc1e8f7b89a5..5dafd63b77560 100644
--- a/libc/src/math/generic/nextafterl.cpp
+++ b/libc/src/math/generic/nextafterl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextafterl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextdown.cpp b/libc/src/math/generic/nextdown.cpp
index dc3280e479606..90a91435f6129 100644
--- a/libc/src/math/generic/nextdown.cpp
+++ b/libc/src/math/generic/nextdown.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextdown.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextdownf.cpp b/libc/src/math/generic/nextdownf.cpp
index 1a61cd19076da..282ebfd139c67 100644
--- a/libc/src/math/generic/nextdownf.cpp
+++ b/libc/src/math/generic/nextdownf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextdownf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextdownf128.cpp b/libc/src/math/generic/nextdownf128.cpp
index 9dda37350e9b1..1557e3315be9b 100644
--- a/libc/src/math/generic/nextdownf128.cpp
+++ b/libc/src/math/generic/nextdownf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextdownf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextdownf16.cpp b/libc/src/math/generic/nextdownf16.cpp
index f61282d12828b..2573fbf7267a6 100644
--- a/libc/src/math/generic/nextdownf16.cpp
+++ b/libc/src/math/generic/nextdownf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextdownf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextdownl.cpp b/libc/src/math/generic/nextdownl.cpp
index 3b9d30c2de4d9..476c5f30e66f9 100644
--- a/libc/src/math/generic/nextdownl.cpp
+++ b/libc/src/math/generic/nextdownl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextdownl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nexttoward.cpp b/libc/src/math/generic/nexttoward.cpp
index 9230e5586f20c..7102a0afe38f3 100644
--- a/libc/src/math/generic/nexttoward.cpp
+++ b/libc/src/math/generic/nexttoward.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nexttoward.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nexttowardf.cpp b/libc/src/math/generic/nexttowardf.cpp
index 86a7d1ffd5b96..095a7af8c2611 100644
--- a/libc/src/math/generic/nexttowardf.cpp
+++ b/libc/src/math/generic/nexttowardf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nexttowardf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nexttowardf16.cpp b/libc/src/math/generic/nexttowardf16.cpp
index 5bc9fa1a7dc20..75218b1dcf812 100644
--- a/libc/src/math/generic/nexttowardf16.cpp
+++ b/libc/src/math/generic/nexttowardf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nexttowardf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nexttowardl.cpp b/libc/src/math/generic/nexttowardl.cpp
index 5ef2d2fa9e4e5..b20868956dbc8 100644
--- a/libc/src/math/generic/nexttowardl.cpp
+++ b/libc/src/math/generic/nexttowardl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nexttowardl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextup.cpp b/libc/src/math/generic/nextup.cpp
index d0f9ba5685ddb..ac068240875d1 100644
--- a/libc/src/math/generic/nextup.cpp
+++ b/libc/src/math/generic/nextup.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextup.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextupf.cpp b/libc/src/math/generic/nextupf.cpp
index 246416ddfb0c4..10a4b032b66dd 100644
--- a/libc/src/math/generic/nextupf.cpp
+++ b/libc/src/math/generic/nextupf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextupf.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextupf128.cpp b/libc/src/math/generic/nextupf128.cpp
index 8fae04fb941d6..c380f0d60916f 100644
--- a/libc/src/math/generic/nextupf128.cpp
+++ b/libc/src/math/generic/nextupf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextupf128.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextupf16.cpp b/libc/src/math/generic/nextupf16.cpp
index 44f61f090c4da..5588480c58d0a 100644
--- a/libc/src/math/generic/nextupf16.cpp
+++ b/libc/src/math/generic/nextupf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextupf16.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/nextupl.cpp b/libc/src/math/generic/nextupl.cpp
index 80369abde79c5..e4ef195738811 100644
--- a/libc/src/math/generic/nextupl.cpp
+++ b/libc/src/math/generic/nextupl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/nextupl.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/powf.cpp b/libc/src/math/generic/powf.cpp
index afd57d23bfcca..845ac2521e090 100644
--- a/libc/src/math/generic/powf.cpp
+++ b/libc/src/math/generic/powf.cpp
@@ -19,6 +19,7 @@
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/FPUtil/sqrt.h" // Speedup for powf(x, 1/2) = sqrtf(x)
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 #include "exp10f_impl.h" // Speedup for powf(10, y) = exp10f(y)
diff --git a/libc/src/math/generic/range_reduction.h b/libc/src/math/generic/range_reduction.h
index 6475081632f56..9ea446d89bed5 100644
--- a/libc/src/math/generic/range_reduction.h
+++ b/libc/src/math/generic/range_reduction.h
@@ -13,6 +13,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/range_reduction_double_common.h b/libc/src/math/generic/range_reduction_double_common.h
index 836e0460b97b6..2b1c4e8df0c3d 100644
--- a/libc/src/math/generic/range_reduction_double_common.h
+++ b/libc/src/math/generic/range_reduction_double_common.h
@@ -16,6 +16,7 @@
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/range_reduction_double_fma.h b/libc/src/math/generic/range_reduction_double_fma.h
index 9d19a07c56e53..7448b5f63dfde 100644
--- a/libc/src/math/generic/range_reduction_double_fma.h
+++ b/libc/src/math/generic/range_reduction_double_fma.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/range_reduction_double_nofma.h b/libc/src/math/generic/range_reduction_double_nofma.h
index 26be8c76ea7b0..445a45d3f9796 100644
--- a/libc/src/math/generic/range_reduction_double_nofma.h
+++ b/libc/src/math/generic/range_reduction_double_nofma.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/range_reduction_fma.h b/libc/src/math/generic/range_reduction_fma.h
index 3da567dbd3a55..537d5729dc42c 100644
--- a/libc/src/math/generic/range_reduction_fma.h
+++ b/libc/src/math/generic/range_reduction_fma.h
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/FMA.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/nearest_integer.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remainder.cpp b/libc/src/math/generic/remainder.cpp
index 8a0fe49388a32..a22ffc45ead67 100644
--- a/libc/src/math/generic/remainder.cpp
+++ b/libc/src/math/generic/remainder.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remainder.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remainderf.cpp b/libc/src/math/generic/remainderf.cpp
index 67c3ed3f708d5..44e32e9047393 100644
--- a/libc/src/math/generic/remainderf.cpp
+++ b/libc/src/math/generic/remainderf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remainderf.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remainderf16.cpp b/libc/src/math/generic/remainderf16.cpp
index 7d0f48715bbc0..2b6488294fb74 100644
--- a/libc/src/math/generic/remainderf16.cpp
+++ b/libc/src/math/generic/remainderf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remainderf16.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remainderl.cpp b/libc/src/math/generic/remainderl.cpp
index 53abfd485fc0c..a61a13e27e417 100644
--- a/libc/src/math/generic/remainderl.cpp
+++ b/libc/src/math/generic/remainderl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remainderl.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remquo.cpp b/libc/src/math/generic/remquo.cpp
index f1257a9ee5230..45deb81993bc3 100644
--- a/libc/src/math/generic/remquo.cpp
+++ b/libc/src/math/generic/remquo.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remquo.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remquof.cpp b/libc/src/math/generic/remquof.cpp
index a008ce52ac75f..f3616ab7bf497 100644
--- a/libc/src/math/generic/remquof.cpp
+++ b/libc/src/math/generic/remquof.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remquof.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remquof128.cpp b/libc/src/math/generic/remquof128.cpp
index 788ab00962fc9..cf8f564b5c52b 100644
--- a/libc/src/math/generic/remquof128.cpp
+++ b/libc/src/math/generic/remquof128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remquof128.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remquof16.cpp b/libc/src/math/generic/remquof16.cpp
index 7f688b189476e..3a5baadb3ce3a 100644
--- a/libc/src/math/generic/remquof16.cpp
+++ b/libc/src/math/generic/remquof16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remquof16.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/remquol.cpp b/libc/src/math/generic/remquol.cpp
index 28d07f2d11c30..980f50cbcdeba 100644
--- a/libc/src/math/generic/remquol.cpp
+++ b/libc/src/math/generic/remquol.cpp
@@ -9,6 +9,7 @@
 #include "src/math/remquol.h"
 #include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/rint.cpp b/libc/src/math/generic/rint.cpp
index 661b992bf16a5..f7837df133484 100644
--- a/libc/src/math/generic/rint.cpp
+++ b/libc/src/math/generic/rint.cpp
@@ -9,6 +9,7 @@
 #include "src/math/rint.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/rintf.cpp b/libc/src/math/generic/rintf.cpp
index cb93e3e487c4f..29a2845cc85d4 100644
--- a/libc/src/math/generic/rintf.cpp
+++ b/libc/src/math/generic/rintf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/rintf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/rintf128.cpp b/libc/src/math/generic/rintf128.cpp
index ce377ae5d9c57..f3b8afa1fd08f 100644
--- a/libc/src/math/generic/rintf128.cpp
+++ b/libc/src/math/generic/rintf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/rintf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/rintf16.cpp b/libc/src/math/generic/rintf16.cpp
index 2504f9bdbf766..69b89de31bf40 100644
--- a/libc/src/math/generic/rintf16.cpp
+++ b/libc/src/math/generic/rintf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/rintf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/rintl.cpp b/libc/src/math/generic/rintl.cpp
index 151ca410c32a0..007d29a144e98 100644
--- a/libc/src/math/generic/rintl.cpp
+++ b/libc/src/math/generic/rintl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/rintl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/round.cpp b/libc/src/math/generic/round.cpp
index 02e1c01f580dd..d8b171a2ef092 100644
--- a/libc/src/math/generic/round.cpp
+++ b/libc/src/math/generic/round.cpp
@@ -9,6 +9,7 @@
 #include "src/math/round.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundeven.cpp b/libc/src/math/generic/roundeven.cpp
index 9ec603884beea..e6f599991bc0f 100644
--- a/libc/src/math/generic/roundeven.cpp
+++ b/libc/src/math/generic/roundeven.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundeven.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundevenf.cpp b/libc/src/math/generic/roundevenf.cpp
index 71fa03d3afce8..0b63a093edf6c 100644
--- a/libc/src/math/generic/roundevenf.cpp
+++ b/libc/src/math/generic/roundevenf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundevenf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundevenf128.cpp b/libc/src/math/generic/roundevenf128.cpp
index 00f07f9c0aa47..354076b4a68f8 100644
--- a/libc/src/math/generic/roundevenf128.cpp
+++ b/libc/src/math/generic/roundevenf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundevenf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundevenf16.cpp b/libc/src/math/generic/roundevenf16.cpp
index 6d17534daeb3e..8a27d81b895ae 100644
--- a/libc/src/math/generic/roundevenf16.cpp
+++ b/libc/src/math/generic/roundevenf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundevenf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundevenl.cpp b/libc/src/math/generic/roundevenl.cpp
index c4a3acc9b6dd3..6ffe80a0f1d12 100644
--- a/libc/src/math/generic/roundevenl.cpp
+++ b/libc/src/math/generic/roundevenl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundevenl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundf.cpp b/libc/src/math/generic/roundf.cpp
index 2748ded0bf1bb..68be4b1a51987 100644
--- a/libc/src/math/generic/roundf.cpp
+++ b/libc/src/math/generic/roundf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundf128.cpp b/libc/src/math/generic/roundf128.cpp
index 831f04cb488e4..88a545e78dcdb 100644
--- a/libc/src/math/generic/roundf128.cpp
+++ b/libc/src/math/generic/roundf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundf16.cpp b/libc/src/math/generic/roundf16.cpp
index 32cba7c13571f..06f9a79cc21f3 100644
--- a/libc/src/math/generic/roundf16.cpp
+++ b/libc/src/math/generic/roundf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/roundl.cpp b/libc/src/math/generic/roundl.cpp
index b0138ff3a01ff..0f7b29e1907cf 100644
--- a/libc/src/math/generic/roundl.cpp
+++ b/libc/src/math/generic/roundl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/roundl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/scalblnf16.cpp b/libc/src/math/generic/scalblnf16.cpp
index e63766b24d1c0..7f43841291e43 100644
--- a/libc/src/math/generic/scalblnf16.cpp
+++ b/libc/src/math/generic/scalblnf16.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/common.h"
 
 #include "hdr/float_macros.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/scalbn.cpp b/libc/src/math/generic/scalbn.cpp
index a59be28a1d70f..c1ee994197f52 100644
--- a/libc/src/math/generic/scalbn.cpp
+++ b/libc/src/math/generic/scalbn.cpp
@@ -10,6 +10,7 @@
 #include "hdr/float_macros.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/scalbnf.cpp b/libc/src/math/generic/scalbnf.cpp
index d61bf9c9760d9..4281b0093c54b 100644
--- a/libc/src/math/generic/scalbnf.cpp
+++ b/libc/src/math/generic/scalbnf.cpp
@@ -10,6 +10,7 @@
 #include "hdr/float_macros.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/scalbnf128.cpp b/libc/src/math/generic/scalbnf128.cpp
index 21187546b9614..e3e284613cdc5 100644
--- a/libc/src/math/generic/scalbnf128.cpp
+++ b/libc/src/math/generic/scalbnf128.cpp
@@ -10,6 +10,7 @@
 #include "hdr/float_macros.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/scalbnf16.cpp b/libc/src/math/generic/scalbnf16.cpp
index 5cfd81a955fec..641e2d0da0013 100644
--- a/libc/src/math/generic/scalbnf16.cpp
+++ b/libc/src/math/generic/scalbnf16.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/common.h"
 
 #include "hdr/float_macros.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/scalbnl.cpp b/libc/src/math/generic/scalbnl.cpp
index f404af0d82577..3015c3c6c7f41 100644
--- a/libc/src/math/generic/scalbnl.cpp
+++ b/libc/src/math/generic/scalbnl.cpp
@@ -10,6 +10,7 @@
 #include "hdr/float_macros.h"
 #include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #if FLT_RADIX != 2
 #error "FLT_RADIX != 2 is not supported."
diff --git a/libc/src/math/generic/setpayloadf16.cpp b/libc/src/math/generic/setpayloadf16.cpp
index 0f108e97a4e7b..1d1445eb22432 100644
--- a/libc/src/math/generic/setpayloadf16.cpp
+++ b/libc/src/math/generic/setpayloadf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/setpayloadf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/setpayloadsigf16.cpp b/libc/src/math/generic/setpayloadsigf16.cpp
index cd830c8bba6ae..5ba9fcdb0fe18 100644
--- a/libc/src/math/generic/setpayloadsigf16.cpp
+++ b/libc/src/math/generic/setpayloadsigf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/setpayloadsigf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/sin.cpp b/libc/src/math/generic/sin.cpp
index 08ee80c74a704..5a4b5a3056ea4 100644
--- a/libc/src/math/generic/sin.cpp
+++ b/libc/src/math/generic/sin.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 #include "src/math/generic/sincos_eval.h"
diff --git a/libc/src/math/generic/sincos.cpp b/libc/src/math/generic/sincos.cpp
index 2799dbecdb23c..de107e6004b44 100644
--- a/libc/src/math/generic/sincos.cpp
+++ b/libc/src/math/generic/sincos.cpp
@@ -16,6 +16,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 #include "src/math/generic/sincos_eval.h"
diff --git a/libc/src/math/generic/sincos_eval.h b/libc/src/math/generic/sincos_eval.h
index 14df59a389161..e491467c5663f 100644
--- a/libc/src/math/generic/sincos_eval.h
+++ b/libc/src/math/generic/sincos_eval.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/dyadic_float.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/sincosf.cpp b/libc/src/math/generic/sincosf.cpp
index 1a2cb27189f76..3bf8e9772231d 100644
--- a/libc/src/math/generic/sincosf.cpp
+++ b/libc/src/math/generic/sincosf.cpp
@@ -13,6 +13,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/sincosf_utils.h b/libc/src/math/generic/sincosf_utils.h
index a20f92305dc89..726a5ab9b64be 100644
--- a/libc/src/math/generic/sincosf_utils.h
+++ b/libc/src/math/generic/sincosf_utils.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/PolyEval.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
 #if defined(LIBC_TARGET_CPU_HAS_FMA)
diff --git a/libc/src/math/generic/sinf.cpp b/libc/src/math/generic/sinf.cpp
index c693f21ceadde..43c2c2a8d883d 100644
--- a/libc/src/math/generic/sinf.cpp
+++ b/libc/src/math/generic/sinf.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/sinhf.cpp b/libc/src/math/generic/sinhf.cpp
index 1eb89dc95cedc..371dd6e67e66e 100644
--- a/libc/src/math/generic/sinhf.cpp
+++ b/libc/src/math/generic/sinhf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/sinhf.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/rounding_mode.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/math/generic/explogxf.h"
 
diff --git a/libc/src/math/generic/sinpif.cpp b/libc/src/math/generic/sinpif.cpp
index e524bbee9e3ca..f572ded06b25a 100644
--- a/libc/src/math/generic/sinpif.cpp
+++ b/libc/src/math/generic/sinpif.cpp
@@ -13,6 +13,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/generic/sqrt.cpp b/libc/src/math/generic/sqrt.cpp
index 63044b4148dbf..791975e1be2d5 100644
--- a/libc/src/math/generic/sqrt.cpp
+++ b/libc/src/math/generic/sqrt.cpp
@@ -9,6 +9,7 @@
 #include "src/math/sqrt.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/sqrtf.cpp b/libc/src/math/generic/sqrtf.cpp
index c264b41d364bd..69e0c34770055 100644
--- a/libc/src/math/generic/sqrtf.cpp
+++ b/libc/src/math/generic/sqrtf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/sqrtf.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/sqrtf128.cpp b/libc/src/math/generic/sqrtf128.cpp
index a9b85abce84cd..f87066b6f6403 100644
--- a/libc/src/math/generic/sqrtf128.cpp
+++ b/libc/src/math/generic/sqrtf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/sqrtf128.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/sqrtl.cpp b/libc/src/math/generic/sqrtl.cpp
index fa9d1f5000b68..2368182740ca8 100644
--- a/libc/src/math/generic/sqrtl.cpp
+++ b/libc/src/math/generic/sqrtl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/sqrtl.h"
 #include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/tan.cpp b/libc/src/math/generic/tan.cpp
index fb01bad77deb2..a3bc972ef9c59 100644
--- a/libc/src/math/generic/tan.cpp
+++ b/libc/src/math/generic/tan.cpp
@@ -17,6 +17,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/rounding_mode.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/tanf.cpp b/libc/src/math/generic/tanf.cpp
index f6037b0e5c242..01d8c9855d461 100644
--- a/libc/src/math/generic/tanf.cpp
+++ b/libc/src/math/generic/tanf.cpp
@@ -15,6 +15,7 @@
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"            // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h" // LIBC_TARGET_CPU_HAS_FMA
 
diff --git a/libc/src/math/generic/tanhf.cpp b/libc/src/math/generic/tanhf.cpp
index cf4b292cdfca9..32153c3e1c943 100644
--- a/libc/src/math/generic/tanhf.cpp
+++ b/libc/src/math/generic/tanhf.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/FPUtil/multiply_add.h"
 #include "src/__support/FPUtil/nearest_integer.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/__support/macros/properties/cpu_features.h"
 #include "src/math/generic/explogxf.h"
diff --git a/libc/src/math/generic/totalorderf16.cpp b/libc/src/math/generic/totalorderf16.cpp
index f4d46aa69b722..743aa5a55db55 100644
--- a/libc/src/math/generic/totalorderf16.cpp
+++ b/libc/src/math/generic/totalorderf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/totalorderf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/totalordermagf16.cpp b/libc/src/math/generic/totalordermagf16.cpp
index e53f92d5990fc..0d2e9e174f522 100644
--- a/libc/src/math/generic/totalordermagf16.cpp
+++ b/libc/src/math/generic/totalordermagf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/totalordermagf16.h"
 #include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/trunc.cpp b/libc/src/math/generic/trunc.cpp
index ecc28ecf6ef8d..0bf2ac5962e7b 100644
--- a/libc/src/math/generic/trunc.cpp
+++ b/libc/src/math/generic/trunc.cpp
@@ -9,6 +9,7 @@
 #include "src/math/trunc.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/truncf.cpp b/libc/src/math/generic/truncf.cpp
index cb8fecb2bf6a3..371cb9f8229a6 100644
--- a/libc/src/math/generic/truncf.cpp
+++ b/libc/src/math/generic/truncf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/truncf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/truncf128.cpp b/libc/src/math/generic/truncf128.cpp
index 41ceb414a5c7a..200dbf1286af9 100644
--- a/libc/src/math/generic/truncf128.cpp
+++ b/libc/src/math/generic/truncf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/truncf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/truncf16.cpp b/libc/src/math/generic/truncf16.cpp
index 0040e98121fc2..ea7695dc95f0b 100644
--- a/libc/src/math/generic/truncf16.cpp
+++ b/libc/src/math/generic/truncf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/truncf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/truncl.cpp b/libc/src/math/generic/truncl.cpp
index 636d3a2be88d0..83b0827d4a192 100644
--- a/libc/src/math/generic/truncl.cpp
+++ b/libc/src/math/generic/truncl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/truncl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfp.cpp b/libc/src/math/generic/ufromfp.cpp
index 778ef4c571b7c..f460a4314a35a 100644
--- a/libc/src/math/generic/ufromfp.cpp
+++ b/libc/src/math/generic/ufromfp.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfp.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpf.cpp b/libc/src/math/generic/ufromfpf.cpp
index 769bd5747dbde..07be4e90375e9 100644
--- a/libc/src/math/generic/ufromfpf.cpp
+++ b/libc/src/math/generic/ufromfpf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpf128.cpp b/libc/src/math/generic/ufromfpf128.cpp
index 0586edcbb1340..1a532cf047b2e 100644
--- a/libc/src/math/generic/ufromfpf128.cpp
+++ b/libc/src/math/generic/ufromfpf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpf16.cpp b/libc/src/math/generic/ufromfpf16.cpp
index 9dbca327faa2c..314c5257a46b7 100644
--- a/libc/src/math/generic/ufromfpf16.cpp
+++ b/libc/src/math/generic/ufromfpf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpl.cpp b/libc/src/math/generic/ufromfpl.cpp
index b4f153a894df2..050950aa626ac 100644
--- a/libc/src/math/generic/ufromfpl.cpp
+++ b/libc/src/math/generic/ufromfpl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpx.cpp b/libc/src/math/generic/ufromfpx.cpp
index 82140017313d0..178049bb75bc9 100644
--- a/libc/src/math/generic/ufromfpx.cpp
+++ b/libc/src/math/generic/ufromfpx.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpx.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpxf.cpp b/libc/src/math/generic/ufromfpxf.cpp
index b041cb94014c4..8f3cd5075b484 100644
--- a/libc/src/math/generic/ufromfpxf.cpp
+++ b/libc/src/math/generic/ufromfpxf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpxf.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpxf128.cpp b/libc/src/math/generic/ufromfpxf128.cpp
index 9e19072651c54..9d6348ce42810 100644
--- a/libc/src/math/generic/ufromfpxf128.cpp
+++ b/libc/src/math/generic/ufromfpxf128.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpxf128.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpxf16.cpp b/libc/src/math/generic/ufromfpxf16.cpp
index a83b33ca84b6d..b1f42a8d55ecc 100644
--- a/libc/src/math/generic/ufromfpxf16.cpp
+++ b/libc/src/math/generic/ufromfpxf16.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpxf16.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/generic/ufromfpxl.cpp b/libc/src/math/generic/ufromfpxl.cpp
index db478d8b98a5c..637721eb0a2ca 100644
--- a/libc/src/math/generic/ufromfpxl.cpp
+++ b/libc/src/math/generic/ufromfpxl.cpp
@@ -9,6 +9,7 @@
 #include "src/math/ufromfpxl.h"
 #include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/getpayloadf16.h b/libc/src/math/getpayloadf16.h
index 4a39bb6bcce11..565454edd8189 100644
--- a/libc/src/math/getpayloadf16.h
+++ b/libc/src/math/getpayloadf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_GETPAYLOADF16_H
 #define LLVM_LIBC_SRC_MATH_GETPAYLOADF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/hypot.h b/libc/src/math/hypot.h
index ac4940b806b25..b78792be07b2b 100644
--- a/libc/src/math/hypot.h
+++ b/libc/src/math/hypot.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_HYPOT_H
 #define LLVM_LIBC_SRC_MATH_HYPOT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double hypot(double x, double y);
diff --git a/libc/src/math/hypotf.h b/libc/src/math/hypotf.h
index c56fd1c2a65bf..2c10c465f2e5f 100644
--- a/libc/src/math/hypotf.h
+++ b/libc/src/math/hypotf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_HYPOTF_H
 #define LLVM_LIBC_SRC_MATH_HYPOTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float hypotf(float x, float y);
diff --git a/libc/src/math/ilogb.h b/libc/src/math/ilogb.h
index 820dfd81e8504..5b43107de23e3 100644
--- a/libc/src/math/ilogb.h
+++ b/libc/src/math/ilogb.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGB_H
 #define LLVM_LIBC_SRC_MATH_ILOGB_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int ilogb(double x);
diff --git a/libc/src/math/ilogbf.h b/libc/src/math/ilogbf.h
index 5d3caefcfe77e..36197ecd50b10 100644
--- a/libc/src/math/ilogbf.h
+++ b/libc/src/math/ilogbf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBF_H
 #define LLVM_LIBC_SRC_MATH_ILOGBF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int ilogbf(float x);
diff --git a/libc/src/math/ilogbf128.h b/libc/src/math/ilogbf128.h
index be5ebcb57f9d0..9ea5e89fdf993 100644
--- a/libc/src/math/ilogbf128.h
+++ b/libc/src/math/ilogbf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBF128_H
 #define LLVM_LIBC_SRC_MATH_ILOGBF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ilogbf16.h b/libc/src/math/ilogbf16.h
index 5f767fc0a5ec9..a712cd78dc0fc 100644
--- a/libc/src/math/ilogbf16.h
+++ b/libc/src/math/ilogbf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBF16_H
 #define LLVM_LIBC_SRC_MATH_ILOGBF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ilogbl.h b/libc/src/math/ilogbl.h
index af292b7152975..5f089e24e266b 100644
--- a/libc/src/math/ilogbl.h
+++ b/libc/src/math/ilogbl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ILOGBL_H
 #define LLVM_LIBC_SRC_MATH_ILOGBL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int ilogbl(long double x);
diff --git a/libc/src/math/isnan.h b/libc/src/math/isnan.h
index 2ed37df929fd5..e9776fdb8a94c 100644
--- a/libc/src/math/isnan.h
+++ b/libc/src/math/isnan.h
@@ -9,10 +9,12 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNAN_H
 #define LLVM_LIBC_SRC_MATH_ISNAN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isnan(double x);
 
-} // namespace LIBC_NAMESPACE_DECL_DECL
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ISNAN_H
diff --git a/libc/src/math/isnanf.h b/libc/src/math/isnanf.h
index 55cbb8bcf5c17..bdf74d3b05f97 100644
--- a/libc/src/math/isnanf.h
+++ b/libc/src/math/isnanf.h
@@ -9,10 +9,12 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNANF_H
 #define LLVM_LIBC_SRC_MATH_ISNANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isnanf(float x);
 
-} // namespace LIBC_NAMESPACE_DECL_DECL
+} // namespace LIBC_NAMESPACE_DECL
 
 #endif // LLVM_LIBC_SRC_MATH_ISNANF_H
diff --git a/libc/src/math/isnanl.h b/libc/src/math/isnanl.h
index 2f271743d610e..ade6a8849ac49 100644
--- a/libc/src/math/isnanl.h
+++ b/libc/src/math/isnanl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ISNANL_H
 #define LLVM_LIBC_SRC_MATH_ISNANL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int isnanl(long double x);
diff --git a/libc/src/math/ldexp.h b/libc/src/math/ldexp.h
index c2423947236b4..e7897d245f299 100644
--- a/libc/src/math/ldexp.h
+++ b/libc/src/math/ldexp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXP_H
 #define LLVM_LIBC_SRC_MATH_LDEXP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double ldexp(double x, int exp);
diff --git a/libc/src/math/ldexpf.h b/libc/src/math/ldexpf.h
index 7d48a7ebe6929..363a1b70ad6fa 100644
--- a/libc/src/math/ldexpf.h
+++ b/libc/src/math/ldexpf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPF_H
 #define LLVM_LIBC_SRC_MATH_LDEXPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float ldexpf(float x, int exp);
diff --git a/libc/src/math/ldexpf128.h b/libc/src/math/ldexpf128.h
index fcb481b6ba726..74c3ef612166e 100644
--- a/libc/src/math/ldexpf128.h
+++ b/libc/src/math/ldexpf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPF128_H
 #define LLVM_LIBC_SRC_MATH_LDEXPF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ldexpf16.h b/libc/src/math/ldexpf16.h
index 213fd3edee3af..877e48ba5781b 100644
--- a/libc/src/math/ldexpf16.h
+++ b/libc/src/math/ldexpf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPF16_H
 #define LLVM_LIBC_SRC_MATH_LDEXPF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ldexpl.h b/libc/src/math/ldexpl.h
index 02d00f386a843..16a480d202d0d 100644
--- a/libc/src/math/ldexpl.h
+++ b/libc/src/math/ldexpl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LDEXPL_H
 #define LLVM_LIBC_SRC_MATH_LDEXPL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double ldexpl(long double x, int exp);
diff --git a/libc/src/math/llogb.h b/libc/src/math/llogb.h
index 8cbc2a67ffc8f..f9454891ae16c 100644
--- a/libc/src/math/llogb.h
+++ b/libc/src/math/llogb.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLOGB_H
 #define LLVM_LIBC_SRC_MATH_LLOGB_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llogbf.h b/libc/src/math/llogbf.h
index 74e681e04db6a..4415562f9f3fd 100644
--- a/libc/src/math/llogbf.h
+++ b/libc/src/math/llogbf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLOGBF_H
 #define LLVM_LIBC_SRC_MATH_LLOGBF_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llogbf128.h b/libc/src/math/llogbf128.h
index 7bcfeee10a484..1ad4932020257 100644
--- a/libc/src/math/llogbf128.h
+++ b/libc/src/math/llogbf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLOGBF128_H
 #define LLVM_LIBC_SRC_MATH_LLOGBF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llogbf16.h b/libc/src/math/llogbf16.h
index 6b9f5dd5367c0..4672328f1ce34 100644
--- a/libc/src/math/llogbf16.h
+++ b/libc/src/math/llogbf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLOGBF16_H
 #define LLVM_LIBC_SRC_MATH_LLOGBF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llogbl.h b/libc/src/math/llogbl.h
index d4220a66f4b8e..bf502a1c0bc3b 100644
--- a/libc/src/math/llogbl.h
+++ b/libc/src/math/llogbl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLOGBL_H
 #define LLVM_LIBC_SRC_MATH_LLOGBL_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llrint.h b/libc/src/math/llrint.h
index 44dc9969a47d3..7ad5bbdc1f66f 100644
--- a/libc/src/math/llrint.h
+++ b/libc/src/math/llrint.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINT_H
 #define LLVM_LIBC_SRC_MATH_LLRINT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llrint(double x);
diff --git a/libc/src/math/llrintf.h b/libc/src/math/llrintf.h
index af0b6ed90d4f4..89334b5a85c00 100644
--- a/libc/src/math/llrintf.h
+++ b/libc/src/math/llrintf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTF_H
 #define LLVM_LIBC_SRC_MATH_LLRINTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llrintf(float x);
diff --git a/libc/src/math/llrintf128.h b/libc/src/math/llrintf128.h
index 363cfd437b507..ff2e9a2248bba 100644
--- a/libc/src/math/llrintf128.h
+++ b/libc/src/math/llrintf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTF128_H
 #define LLVM_LIBC_SRC_MATH_LLRINTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llrintf16.h b/libc/src/math/llrintf16.h
index 67395ff3b475d..5c053038c8ae4 100644
--- a/libc/src/math/llrintf16.h
+++ b/libc/src/math/llrintf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTF16_H
 #define LLVM_LIBC_SRC_MATH_LLRINTF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llrintl.h b/libc/src/math/llrintl.h
index cf5b4000a9a27..0c0d7d31ef9da 100644
--- a/libc/src/math/llrintl.h
+++ b/libc/src/math/llrintl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLRINTL_H
 #define LLVM_LIBC_SRC_MATH_LLRINTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llrintl(long double x);
diff --git a/libc/src/math/llround.h b/libc/src/math/llround.h
index 3bd0085b4c7dd..3843e120adcbe 100644
--- a/libc/src/math/llround.h
+++ b/libc/src/math/llround.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUND_H
 #define LLVM_LIBC_SRC_MATH_LLROUND_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llround(double x);
diff --git a/libc/src/math/llroundf.h b/libc/src/math/llroundf.h
index f79005cffe8f9..7f61889554080 100644
--- a/libc/src/math/llroundf.h
+++ b/libc/src/math/llroundf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDF_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llroundf(float x);
diff --git a/libc/src/math/llroundf128.h b/libc/src/math/llroundf128.h
index 28ce676625288..59d4d8da582ed 100644
--- a/libc/src/math/llroundf128.h
+++ b/libc/src/math/llroundf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDF128_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llroundf16.h b/libc/src/math/llroundf16.h
index 571fdb6e89178..5ab6f2fab8645 100644
--- a/libc/src/math/llroundf16.h
+++ b/libc/src/math/llroundf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDF16_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/llroundl.h b/libc/src/math/llroundl.h
index b722b4ec7d6d1..325cac368c9e3 100644
--- a/libc/src/math/llroundl.h
+++ b/libc/src/math/llroundl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LLROUNDL_H
 #define LLVM_LIBC_SRC_MATH_LLROUNDL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llroundl(long double x);
diff --git a/libc/src/math/log.h b/libc/src/math/log.h
index 80b8aad354cc5..ce6296fdb64fe 100644
--- a/libc/src/math/log.h
+++ b/libc/src/math/log.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG_H
 #define LLVM_LIBC_SRC_MATH_LOG_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double log(double x);
diff --git a/libc/src/math/log10.h b/libc/src/math/log10.h
index 449d450e6c75b..025163acc8902 100644
--- a/libc/src/math/log10.h
+++ b/libc/src/math/log10.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG10_H
 #define LLVM_LIBC_SRC_MATH_LOG10_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double log10(double x);
diff --git a/libc/src/math/log10f.h b/libc/src/math/log10f.h
index 3b6ab04d32da4..59a799957db0e 100644
--- a/libc/src/math/log10f.h
+++ b/libc/src/math/log10f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG10F_H
 #define LLVM_LIBC_SRC_MATH_LOG10F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float log10f(float x);
diff --git a/libc/src/math/log1p.h b/libc/src/math/log1p.h
index d4310f7a97bed..84b3d8fdb9f1c 100644
--- a/libc/src/math/log1p.h
+++ b/libc/src/math/log1p.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG1P_H
 #define LLVM_LIBC_SRC_MATH_LOG1P_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double log1p(double x);
diff --git a/libc/src/math/log1pf.h b/libc/src/math/log1pf.h
index d85841a4f6971..364c1e8ee74d9 100644
--- a/libc/src/math/log1pf.h
+++ b/libc/src/math/log1pf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG1PF_H
 #define LLVM_LIBC_SRC_MATH_LOG1PF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float log1pf(float x);
diff --git a/libc/src/math/log2.h b/libc/src/math/log2.h
index 6dfafccf8211d..a278954989e97 100644
--- a/libc/src/math/log2.h
+++ b/libc/src/math/log2.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG2_H
 #define LLVM_LIBC_SRC_MATH_LOG2_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double log2(double x);
diff --git a/libc/src/math/log2f.h b/libc/src/math/log2f.h
index e3a6dfc14a2d4..dc35c93bfd71e 100644
--- a/libc/src/math/log2f.h
+++ b/libc/src/math/log2f.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOG2F_H
 #define LLVM_LIBC_SRC_MATH_LOG2F_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float log2f(float x);
diff --git a/libc/src/math/logb.h b/libc/src/math/logb.h
index 78864e9823302..13207e2470038 100644
--- a/libc/src/math/logb.h
+++ b/libc/src/math/logb.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGB_H
 #define LLVM_LIBC_SRC_MATH_LOGB_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double logb(double x);
diff --git a/libc/src/math/logbf.h b/libc/src/math/logbf.h
index 6c49b255bc21b..83e117e025a6b 100644
--- a/libc/src/math/logbf.h
+++ b/libc/src/math/logbf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBF_H
 #define LLVM_LIBC_SRC_MATH_LOGBF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float logbf(float x);
diff --git a/libc/src/math/logbf128.h b/libc/src/math/logbf128.h
index d408ee47990c6..9ce23978707be 100644
--- a/libc/src/math/logbf128.h
+++ b/libc/src/math/logbf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBF128_H
 #define LLVM_LIBC_SRC_MATH_LOGBF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/logbf16.h b/libc/src/math/logbf16.h
index d61c63416d73b..f602098d8294a 100644
--- a/libc/src/math/logbf16.h
+++ b/libc/src/math/logbf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBF16_H
 #define LLVM_LIBC_SRC_MATH_LOGBF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/logbl.h b/libc/src/math/logbl.h
index 55c99263a6f9b..02114c4d412ab 100644
--- a/libc/src/math/logbl.h
+++ b/libc/src/math/logbl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGBL_H
 #define LLVM_LIBC_SRC_MATH_LOGBL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double logbl(long double x);
diff --git a/libc/src/math/logf.h b/libc/src/math/logf.h
index 76e54ae4c428e..163f369f4a77f 100644
--- a/libc/src/math/logf.h
+++ b/libc/src/math/logf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LOGF_H
 #define LLVM_LIBC_SRC_MATH_LOGF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float logf(float x);
diff --git a/libc/src/math/lrint.h b/libc/src/math/lrint.h
index 8699b86f152ac..f8988dc9cdc6d 100644
--- a/libc/src/math/lrint.h
+++ b/libc/src/math/lrint.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINT_H
 #define LLVM_LIBC_SRC_MATH_LRINT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lrint(double x);
diff --git a/libc/src/math/lrintf.h b/libc/src/math/lrintf.h
index dfc2fe507f296..cbb1818036371 100644
--- a/libc/src/math/lrintf.h
+++ b/libc/src/math/lrintf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTF_H
 #define LLVM_LIBC_SRC_MATH_LRINTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lrintf(float x);
diff --git a/libc/src/math/lrintf128.h b/libc/src/math/lrintf128.h
index d3d2cc15ca276..ae710e9b00448 100644
--- a/libc/src/math/lrintf128.h
+++ b/libc/src/math/lrintf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTF128_H
 #define LLVM_LIBC_SRC_MATH_LRINTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/lrintf16.h b/libc/src/math/lrintf16.h
index 9f66e3f0525c3..3f2ae90c6f2af 100644
--- a/libc/src/math/lrintf16.h
+++ b/libc/src/math/lrintf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTF16_H
 #define LLVM_LIBC_SRC_MATH_LRINTF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/lrintl.h b/libc/src/math/lrintl.h
index 948b10c3dc5b6..fa6e0197aeb1e 100644
--- a/libc/src/math/lrintl.h
+++ b/libc/src/math/lrintl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LRINTL_H
 #define LLVM_LIBC_SRC_MATH_LRINTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lrintl(long double x);
diff --git a/libc/src/math/lround.h b/libc/src/math/lround.h
index 3d432947e562e..951f900f24262 100644
--- a/libc/src/math/lround.h
+++ b/libc/src/math/lround.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUND_H
 #define LLVM_LIBC_SRC_MATH_LROUND_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lround(double x);
diff --git a/libc/src/math/lroundf.h b/libc/src/math/lroundf.h
index ea5ac3cb3bc05..9488cc6597718 100644
--- a/libc/src/math/lroundf.h
+++ b/libc/src/math/lroundf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDF_H
 #define LLVM_LIBC_SRC_MATH_LROUNDF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lroundf(float x);
diff --git a/libc/src/math/lroundf128.h b/libc/src/math/lroundf128.h
index 7ef255bed32e1..4191db5792095 100644
--- a/libc/src/math/lroundf128.h
+++ b/libc/src/math/lroundf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDF128_H
 #define LLVM_LIBC_SRC_MATH_LROUNDF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/lroundf16.h b/libc/src/math/lroundf16.h
index ce1702be98787..9ad782dfe0d82 100644
--- a/libc/src/math/lroundf16.h
+++ b/libc/src/math/lroundf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDF16_H
 #define LLVM_LIBC_SRC_MATH_LROUNDF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/lroundl.h b/libc/src/math/lroundl.h
index f11c1dcee3b3d..159c67e827be6 100644
--- a/libc/src/math/lroundl.h
+++ b/libc/src/math/lroundl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_LROUNDL_H
 #define LLVM_LIBC_SRC_MATH_LROUNDL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long lroundl(long double x);
diff --git a/libc/src/math/modf.h b/libc/src/math/modf.h
index 6e3c189c254e9..2c56d597a5e0e 100644
--- a/libc/src/math/modf.h
+++ b/libc/src/math/modf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODF_H
 #define LLVM_LIBC_SRC_MATH_MODF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double modf(double x, double *iptr);
diff --git a/libc/src/math/modff.h b/libc/src/math/modff.h
index b10217ba25d0c..79e7d9bb04a6c 100644
--- a/libc/src/math/modff.h
+++ b/libc/src/math/modff.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFF_H
 #define LLVM_LIBC_SRC_MATH_MODFF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float modff(float x, float *iptr);
diff --git a/libc/src/math/modff128.h b/libc/src/math/modff128.h
index 17fe87a64f74c..32c98423a050c 100644
--- a/libc/src/math/modff128.h
+++ b/libc/src/math/modff128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFF128_H
 #define LLVM_LIBC_SRC_MATH_MODFF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/modff16.h b/libc/src/math/modff16.h
index c03b8d7276359..ce097440572b2 100644
--- a/libc/src/math/modff16.h
+++ b/libc/src/math/modff16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFF16_H
 #define LLVM_LIBC_SRC_MATH_MODFF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/modfl.h b/libc/src/math/modfl.h
index ee93646f6bc7b..c1e16272417c9 100644
--- a/libc/src/math/modfl.h
+++ b/libc/src/math/modfl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_MODFL_H
 #define LLVM_LIBC_SRC_MATH_MODFL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double modfl(long double x, long double *iptr);
diff --git a/libc/src/math/nan.h b/libc/src/math/nan.h
index 464adceb4a744..36fed1b2f75d5 100644
--- a/libc/src/math/nan.h
+++ b/libc/src/math/nan.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NAN_H
 #define LLVM_LIBC_SRC_MATH_NAN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nan(const char *arg);
diff --git a/libc/src/math/nanf.h b/libc/src/math/nanf.h
index 3fee2ed5c7f5b..3b72ed287c749 100644
--- a/libc/src/math/nanf.h
+++ b/libc/src/math/nanf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANF_H
 #define LLVM_LIBC_SRC_MATH_NANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nanf(const char *arg);
diff --git a/libc/src/math/nanf128.h b/libc/src/math/nanf128.h
index 8da18cc6c31e9..1c1323adcd781 100644
--- a/libc/src/math/nanf128.h
+++ b/libc/src/math/nanf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANF128_H
 #define LLVM_LIBC_SRC_MATH_NANF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nanf16.h b/libc/src/math/nanf16.h
index d81417b01b320..1721bcc0f95f7 100644
--- a/libc/src/math/nanf16.h
+++ b/libc/src/math/nanf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANF16_H
 #define LLVM_LIBC_SRC_MATH_NANF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nanl.h b/libc/src/math/nanl.h
index f98e5faa16df5..a4a03770caf60 100644
--- a/libc/src/math/nanl.h
+++ b/libc/src/math/nanl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NANL_H
 #define LLVM_LIBC_SRC_MATH_NANL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nanl(const char *arg);
diff --git a/libc/src/math/nearbyint.h b/libc/src/math/nearbyint.h
index 156a1d50145e9..469bd99e1e613 100644
--- a/libc/src/math/nearbyint.h
+++ b/libc/src/math/nearbyint.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINT_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nearbyint(double x);
diff --git a/libc/src/math/nearbyintf.h b/libc/src/math/nearbyintf.h
index ed91b90ca317a..d89a76233a81f 100644
--- a/libc/src/math/nearbyintf.h
+++ b/libc/src/math/nearbyintf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTF_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nearbyintf(float x);
diff --git a/libc/src/math/nearbyintf128.h b/libc/src/math/nearbyintf128.h
index a4019c25e64b7..9c4fdd5963dac 100644
--- a/libc/src/math/nearbyintf128.h
+++ b/libc/src/math/nearbyintf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTF128_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nearbyintf16.h b/libc/src/math/nearbyintf16.h
index dd11356ba4727..2241e43c911ff 100644
--- a/libc/src/math/nearbyintf16.h
+++ b/libc/src/math/nearbyintf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTF16_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nearbyintl.h b/libc/src/math/nearbyintl.h
index eb5eb78cea5e1..3fed5d8ce5241 100644
--- a/libc/src/math/nearbyintl.h
+++ b/libc/src/math/nearbyintl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEARBYINTL_H
 #define LLVM_LIBC_SRC_MATH_NEARBYINTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nearbyintl(long double x);
diff --git a/libc/src/math/nextafter.h b/libc/src/math/nextafter.h
index 2fb44c2448384..636dbd527cd83 100644
--- a/libc/src/math/nextafter.h
+++ b/libc/src/math/nextafter.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTER_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nextafter(double x, double y);
diff --git a/libc/src/math/nextafterf.h b/libc/src/math/nextafterf.h
index 82874e1345e1b..70ab76e80277c 100644
--- a/libc/src/math/nextafterf.h
+++ b/libc/src/math/nextafterf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERF_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nextafterf(float x, float y);
diff --git a/libc/src/math/nextafterf128.h b/libc/src/math/nextafterf128.h
index 691262ba1a3e4..99b15d6cf43b9 100644
--- a/libc/src/math/nextafterf128.h
+++ b/libc/src/math/nextafterf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERF128_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextafterf16.h b/libc/src/math/nextafterf16.h
index 7b52ec01a2f4e..ab4e0fd870318 100644
--- a/libc/src/math/nextafterf16.h
+++ b/libc/src/math/nextafterf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERF16_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextafterl.h b/libc/src/math/nextafterl.h
index 5784122a6d4fc..a697f799042d8 100644
--- a/libc/src/math/nextafterl.h
+++ b/libc/src/math/nextafterl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTAFTERL_H
 #define LLVM_LIBC_SRC_MATH_NEXTAFTERL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nextafterl(long double x, long double y);
diff --git a/libc/src/math/nextdown.h b/libc/src/math/nextdown.h
index d69406e19437a..21f33e383bca1 100644
--- a/libc/src/math/nextdown.h
+++ b/libc/src/math/nextdown.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWN_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nextdown(double x);
diff --git a/libc/src/math/nextdownf.h b/libc/src/math/nextdownf.h
index 3f7579d386720..f689287a6f286 100644
--- a/libc/src/math/nextdownf.h
+++ b/libc/src/math/nextdownf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNF_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nextdownf(float x);
diff --git a/libc/src/math/nextdownf128.h b/libc/src/math/nextdownf128.h
index 41e7bdcaecfe4..60ba251f67d55 100644
--- a/libc/src/math/nextdownf128.h
+++ b/libc/src/math/nextdownf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNF128_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextdownf16.h b/libc/src/math/nextdownf16.h
index 55c2e1c6b3b1f..5183db2db2a2c 100644
--- a/libc/src/math/nextdownf16.h
+++ b/libc/src/math/nextdownf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNF16_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextdownl.h b/libc/src/math/nextdownl.h
index b5fbaf83feb87..581557932d4dd 100644
--- a/libc/src/math/nextdownl.h
+++ b/libc/src/math/nextdownl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTDOWNL_H
 #define LLVM_LIBC_SRC_MATH_NEXTDOWNL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nextdownl(long double x);
diff --git a/libc/src/math/nexttoward.h b/libc/src/math/nexttoward.h
index 296fa73047408..cfa6af9246cda 100644
--- a/libc/src/math/nexttoward.h
+++ b/libc/src/math/nexttoward.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARD_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARD_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nexttoward(double x, long double y);
diff --git a/libc/src/math/nexttowardf.h b/libc/src/math/nexttowardf.h
index 7058c27dafdee..ee34548684ded 100644
--- a/libc/src/math/nexttowardf.h
+++ b/libc/src/math/nexttowardf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARDF_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARDF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nexttowardf(float x, long double y);
diff --git a/libc/src/math/nexttowardf16.h b/libc/src/math/nexttowardf16.h
index f6c9fb2727d07..5975926049249 100644
--- a/libc/src/math/nexttowardf16.h
+++ b/libc/src/math/nexttowardf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARDF16_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARDF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nexttowardl.h b/libc/src/math/nexttowardl.h
index 12860fda513d5..180ffb5ea48f2 100644
--- a/libc/src/math/nexttowardl.h
+++ b/libc/src/math/nexttowardl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTTOWARDL_H
 #define LLVM_LIBC_SRC_MATH_NEXTTOWARDL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nexttowardl(long double x, long double y);
diff --git a/libc/src/math/nextup.h b/libc/src/math/nextup.h
index 2a79b020d1ee4..37b81fde2c31c 100644
--- a/libc/src/math/nextup.h
+++ b/libc/src/math/nextup.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUP_H
 #define LLVM_LIBC_SRC_MATH_NEXTUP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double nextup(double x);
diff --git a/libc/src/math/nextupf.h b/libc/src/math/nextupf.h
index ec005cb76c9ce..9963dbd8b2d59 100644
--- a/libc/src/math/nextupf.h
+++ b/libc/src/math/nextupf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPF_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float nextupf(float x);
diff --git a/libc/src/math/nextupf128.h b/libc/src/math/nextupf128.h
index 4b66102879ff7..755c08d891d64 100644
--- a/libc/src/math/nextupf128.h
+++ b/libc/src/math/nextupf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPF128_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextupf16.h b/libc/src/math/nextupf16.h
index 1d5c2e100b708..d80a1057a8ed1 100644
--- a/libc/src/math/nextupf16.h
+++ b/libc/src/math/nextupf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPF16_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nextupl.h b/libc/src/math/nextupl.h
index 7de0290b768b7..d9c5c525a60ba 100644
--- a/libc/src/math/nextupl.h
+++ b/libc/src/math/nextupl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NEXTUPL_H
 #define LLVM_LIBC_SRC_MATH_NEXTUPL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double nextupl(long double x);
diff --git a/libc/src/math/nvptx/acos.cpp b/libc/src/math/nvptx/acos.cpp
index 33347229f896f..7049f9fb31c55 100644
--- a/libc/src/math/nvptx/acos.cpp
+++ b/libc/src/math/nvptx/acos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/acosf.cpp b/libc/src/math/nvptx/acosf.cpp
index 5d7a576603f73..cf70a0f3b923d 100644
--- a/libc/src/math/nvptx/acosf.cpp
+++ b/libc/src/math/nvptx/acosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/acosh.cpp b/libc/src/math/nvptx/acosh.cpp
index 1421931fd1e8a..2628aa997d0b7 100644
--- a/libc/src/math/nvptx/acosh.cpp
+++ b/libc/src/math/nvptx/acosh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/acoshf.cpp b/libc/src/math/nvptx/acoshf.cpp
index fc06b31d37373..b8f57fdc05c29 100644
--- a/libc/src/math/nvptx/acoshf.cpp
+++ b/libc/src/math/nvptx/acoshf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/asin.cpp b/libc/src/math/nvptx/asin.cpp
index f84a836e95a2b..417b67ac7da0a 100644
--- a/libc/src/math/nvptx/asin.cpp
+++ b/libc/src/math/nvptx/asin.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/asinf.cpp b/libc/src/math/nvptx/asinf.cpp
index 436b797a57d6a..ea819bdfd00ed 100644
--- a/libc/src/math/nvptx/asinf.cpp
+++ b/libc/src/math/nvptx/asinf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/asinh.cpp b/libc/src/math/nvptx/asinh.cpp
index 03c9c996182a8..49dcd227bb4bd 100644
--- a/libc/src/math/nvptx/asinh.cpp
+++ b/libc/src/math/nvptx/asinh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/asinhf.cpp b/libc/src/math/nvptx/asinhf.cpp
index cad2131c1371e..af8afe7590edf 100644
--- a/libc/src/math/nvptx/asinhf.cpp
+++ b/libc/src/math/nvptx/asinhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atan.cpp b/libc/src/math/nvptx/atan.cpp
index 3f69e5b78a530..e94ef5787ca45 100644
--- a/libc/src/math/nvptx/atan.cpp
+++ b/libc/src/math/nvptx/atan.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atan2.cpp b/libc/src/math/nvptx/atan2.cpp
index 64c2b55c3306b..d12c4cb205d51 100644
--- a/libc/src/math/nvptx/atan2.cpp
+++ b/libc/src/math/nvptx/atan2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atan2f.cpp b/libc/src/math/nvptx/atan2f.cpp
index 83b3a32401f8a..f39f3227b1d57 100644
--- a/libc/src/math/nvptx/atan2f.cpp
+++ b/libc/src/math/nvptx/atan2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atanf.cpp b/libc/src/math/nvptx/atanf.cpp
index 0ac67cfd86ef9..f66ade7a438f3 100644
--- a/libc/src/math/nvptx/atanf.cpp
+++ b/libc/src/math/nvptx/atanf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atanh.cpp b/libc/src/math/nvptx/atanh.cpp
index 562a616c27cda..a206d517af11f 100644
--- a/libc/src/math/nvptx/atanh.cpp
+++ b/libc/src/math/nvptx/atanh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/atanhf.cpp b/libc/src/math/nvptx/atanhf.cpp
index 65d7e73fd920e..06f68833b3d26 100644
--- a/libc/src/math/nvptx/atanhf.cpp
+++ b/libc/src/math/nvptx/atanhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ceil.cpp b/libc/src/math/nvptx/ceil.cpp
index 53723a69d9f42..8834c7b560a1b 100644
--- a/libc/src/math/nvptx/ceil.cpp
+++ b/libc/src/math/nvptx/ceil.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceil.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ceilf.cpp b/libc/src/math/nvptx/ceilf.cpp
index 71605c3292b14..5d26a30c849cd 100644
--- a/libc/src/math/nvptx/ceilf.cpp
+++ b/libc/src/math/nvptx/ceilf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/ceilf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/copysign.cpp b/libc/src/math/nvptx/copysign.cpp
index e135deb9ea73d..06ef36fb3595f 100644
--- a/libc/src/math/nvptx/copysign.cpp
+++ b/libc/src/math/nvptx/copysign.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/copysign.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/copysignf.cpp b/libc/src/math/nvptx/copysignf.cpp
index f11c20d2ff515..aea94f3577d8f 100644
--- a/libc/src/math/nvptx/copysignf.cpp
+++ b/libc/src/math/nvptx/copysignf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/copysignf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/cos.cpp b/libc/src/math/nvptx/cos.cpp
index 4bd2286c6c598..873fd50041b18 100644
--- a/libc/src/math/nvptx/cos.cpp
+++ b/libc/src/math/nvptx/cos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/cosf.cpp b/libc/src/math/nvptx/cosf.cpp
index 6f7b45daae8e2..82b3bb759ba0b 100644
--- a/libc/src/math/nvptx/cosf.cpp
+++ b/libc/src/math/nvptx/cosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/cosh.cpp b/libc/src/math/nvptx/cosh.cpp
index c3a66a240ace1..434e8c56bbf7d 100644
--- a/libc/src/math/nvptx/cosh.cpp
+++ b/libc/src/math/nvptx/cosh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/coshf.cpp b/libc/src/math/nvptx/coshf.cpp
index 7d81931cedb85..87d6b16ba8a3a 100644
--- a/libc/src/math/nvptx/coshf.cpp
+++ b/libc/src/math/nvptx/coshf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/declarations.h b/libc/src/math/nvptx/declarations.h
index b8d527ba456ef..7bfa934c0142d 100644
--- a/libc/src/math/nvptx/declarations.h
+++ b/libc/src/math/nvptx/declarations.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
 #define LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 extern "C" {
diff --git a/libc/src/math/nvptx/erf.cpp b/libc/src/math/nvptx/erf.cpp
index eae810ce3c31d..c7ca7d42fe8a8 100644
--- a/libc/src/math/nvptx/erf.cpp
+++ b/libc/src/math/nvptx/erf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/erff.cpp b/libc/src/math/nvptx/erff.cpp
index a2bb6552795a4..1c64e07c3370d 100644
--- a/libc/src/math/nvptx/erff.cpp
+++ b/libc/src/math/nvptx/erff.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/exp.cpp b/libc/src/math/nvptx/exp.cpp
index 10f29bcb41e4d..dcbadcf2ae8d4 100644
--- a/libc/src/math/nvptx/exp.cpp
+++ b/libc/src/math/nvptx/exp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/exp10.cpp b/libc/src/math/nvptx/exp10.cpp
index f9b9b80fa3e9b..0972a3c4ae462 100644
--- a/libc/src/math/nvptx/exp10.cpp
+++ b/libc/src/math/nvptx/exp10.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/exp10f.cpp b/libc/src/math/nvptx/exp10f.cpp
index ca194e116a34a..0709771fc99a8 100644
--- a/libc/src/math/nvptx/exp10f.cpp
+++ b/libc/src/math/nvptx/exp10f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/exp2.cpp b/libc/src/math/nvptx/exp2.cpp
index 44633e1b8312b..3465e5b608fa9 100644
--- a/libc/src/math/nvptx/exp2.cpp
+++ b/libc/src/math/nvptx/exp2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/exp2f.cpp b/libc/src/math/nvptx/exp2f.cpp
index 4b9d2f79b39ec..05257648c2e0e 100644
--- a/libc/src/math/nvptx/exp2f.cpp
+++ b/libc/src/math/nvptx/exp2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/expf.cpp b/libc/src/math/nvptx/expf.cpp
index 38f6cf54c9ff3..2b802e5c3555f 100644
--- a/libc/src/math/nvptx/expf.cpp
+++ b/libc/src/math/nvptx/expf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/expm1.cpp b/libc/src/math/nvptx/expm1.cpp
index 11c3b5d072d05..91845cffc5fd5 100644
--- a/libc/src/math/nvptx/expm1.cpp
+++ b/libc/src/math/nvptx/expm1.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/expm1f.cpp b/libc/src/math/nvptx/expm1f.cpp
index 4a8db6a601531..31e67af084fdb 100644
--- a/libc/src/math/nvptx/expm1f.cpp
+++ b/libc/src/math/nvptx/expm1f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fabs.cpp b/libc/src/math/nvptx/fabs.cpp
index 441952e907030..bb37596b9d563 100644
--- a/libc/src/math/nvptx/fabs.cpp
+++ b/libc/src/math/nvptx/fabs.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fabs.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fabsf.cpp b/libc/src/math/nvptx/fabsf.cpp
index 363a9a856d260..2698618f3f1e1 100644
--- a/libc/src/math/nvptx/fabsf.cpp
+++ b/libc/src/math/nvptx/fabsf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fabsf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fdim.cpp b/libc/src/math/nvptx/fdim.cpp
index a669809ce841f..edf4009273234 100644
--- a/libc/src/math/nvptx/fdim.cpp
+++ b/libc/src/math/nvptx/fdim.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fdimf.cpp b/libc/src/math/nvptx/fdimf.cpp
index 06f02a6a432ac..017143aaebc8b 100644
--- a/libc/src/math/nvptx/fdimf.cpp
+++ b/libc/src/math/nvptx/fdimf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/floor.cpp b/libc/src/math/nvptx/floor.cpp
index a8baed4dcc1a2..564efa9a7da38 100644
--- a/libc/src/math/nvptx/floor.cpp
+++ b/libc/src/math/nvptx/floor.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floor.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/floorf.cpp b/libc/src/math/nvptx/floorf.cpp
index 9b4ebe5d3b971..6717c8f60c992 100644
--- a/libc/src/math/nvptx/floorf.cpp
+++ b/libc/src/math/nvptx/floorf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/floorf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fma.cpp b/libc/src/math/nvptx/fma.cpp
index 11dedbbd7ce8d..c4a117e42a3aa 100644
--- a/libc/src/math/nvptx/fma.cpp
+++ b/libc/src/math/nvptx/fma.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fma.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fmaf.cpp b/libc/src/math/nvptx/fmaf.cpp
index 2a1f454fd6c70..c088bd5b30fea 100644
--- a/libc/src/math/nvptx/fmaf.cpp
+++ b/libc/src/math/nvptx/fmaf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmaf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fmax.cpp b/libc/src/math/nvptx/fmax.cpp
index f9a6cf6ff3ce5..a2496fecb01c4 100644
--- a/libc/src/math/nvptx/fmax.cpp
+++ b/libc/src/math/nvptx/fmax.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmax.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fmaxf.cpp b/libc/src/math/nvptx/fmaxf.cpp
index a96f0d96481eb..586fd32fee59b 100644
--- a/libc/src/math/nvptx/fmaxf.cpp
+++ b/libc/src/math/nvptx/fmaxf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/nvptx/fmin.cpp b/libc/src/math/nvptx/fmin.cpp
index 94a0a3e9a720c..694eb664b599b 100644
--- a/libc/src/math/nvptx/fmin.cpp
+++ b/libc/src/math/nvptx/fmin.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fmin.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fminf.cpp b/libc/src/math/nvptx/fminf.cpp
index 8317944f96eed..2060b71b0841f 100644
--- a/libc/src/math/nvptx/fminf.cpp
+++ b/libc/src/math/nvptx/fminf.cpp
@@ -9,6 +9,7 @@
 #include "src/math/fminf.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fmod.cpp b/libc/src/math/nvptx/fmod.cpp
index 7edc9fdc9a62d..49d19c4decb96 100644
--- a/libc/src/math/nvptx/fmod.cpp
+++ b/libc/src/math/nvptx/fmod.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/fmodf.cpp b/libc/src/math/nvptx/fmodf.cpp
index 0eeb34e0c97cc..8fbcb0cc2ad9e 100644
--- a/libc/src/math/nvptx/fmodf.cpp
+++ b/libc/src/math/nvptx/fmodf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/fmodf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/frexp.cpp b/libc/src/math/nvptx/frexp.cpp
index f5b904c0cafbe..edba8d712aedb 100644
--- a/libc/src/math/nvptx/frexp.cpp
+++ b/libc/src/math/nvptx/frexp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/frexpf.cpp b/libc/src/math/nvptx/frexpf.cpp
index 387b288d9a55b..04619412c160f 100644
--- a/libc/src/math/nvptx/frexpf.cpp
+++ b/libc/src/math/nvptx/frexpf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/hypot.cpp b/libc/src/math/nvptx/hypot.cpp
index 7a52edda475e5..a7bacd6b1a85a 100644
--- a/libc/src/math/nvptx/hypot.cpp
+++ b/libc/src/math/nvptx/hypot.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/hypotf.cpp b/libc/src/math/nvptx/hypotf.cpp
index fa4a1863ea248..49e85a11a0c16 100644
--- a/libc/src/math/nvptx/hypotf.cpp
+++ b/libc/src/math/nvptx/hypotf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ilogb.cpp b/libc/src/math/nvptx/ilogb.cpp
index 4ec3e899936ef..3d552c2130af1 100644
--- a/libc/src/math/nvptx/ilogb.cpp
+++ b/libc/src/math/nvptx/ilogb.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ilogbf.cpp b/libc/src/math/nvptx/ilogbf.cpp
index 369320ec3408d..a78926f95d6da 100644
--- a/libc/src/math/nvptx/ilogbf.cpp
+++ b/libc/src/math/nvptx/ilogbf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ldexp.cpp b/libc/src/math/nvptx/ldexp.cpp
index a09b434bcc0e4..0adc7c3f57f00 100644
--- a/libc/src/math/nvptx/ldexp.cpp
+++ b/libc/src/math/nvptx/ldexp.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/ldexpf.cpp b/libc/src/math/nvptx/ldexpf.cpp
index d98c5d0eeacfc..eb7dd42853153 100644
--- a/libc/src/math/nvptx/ldexpf.cpp
+++ b/libc/src/math/nvptx/ldexpf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/llrint.cpp b/libc/src/math/nvptx/llrint.cpp
index dc00ebe3604e2..21129fe80a0c1 100644
--- a/libc/src/math/nvptx/llrint.cpp
+++ b/libc/src/math/nvptx/llrint.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/llrintf.cpp b/libc/src/math/nvptx/llrintf.cpp
index ed5607286c8f3..a6f9f43876010 100644
--- a/libc/src/math/nvptx/llrintf.cpp
+++ b/libc/src/math/nvptx/llrintf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log.cpp b/libc/src/math/nvptx/log.cpp
index e7f5a19b27989..fd556ac1e165a 100644
--- a/libc/src/math/nvptx/log.cpp
+++ b/libc/src/math/nvptx/log.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log10.cpp b/libc/src/math/nvptx/log10.cpp
index def022b206ddb..fbbf214167c1f 100644
--- a/libc/src/math/nvptx/log10.cpp
+++ b/libc/src/math/nvptx/log10.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log10f.cpp b/libc/src/math/nvptx/log10f.cpp
index 6b5fbd08d7ca3..c2f24df043ab5 100644
--- a/libc/src/math/nvptx/log10f.cpp
+++ b/libc/src/math/nvptx/log10f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log1p.cpp b/libc/src/math/nvptx/log1p.cpp
index 762758480ef10..2ffd0fee57170 100644
--- a/libc/src/math/nvptx/log1p.cpp
+++ b/libc/src/math/nvptx/log1p.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log1pf.cpp b/libc/src/math/nvptx/log1pf.cpp
index b1b19b201b992..2de4f27ff20c0 100644
--- a/libc/src/math/nvptx/log1pf.cpp
+++ b/libc/src/math/nvptx/log1pf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log2.cpp b/libc/src/math/nvptx/log2.cpp
index 115bd1f486f01..54e2da0c9efa6 100644
--- a/libc/src/math/nvptx/log2.cpp
+++ b/libc/src/math/nvptx/log2.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/log2f.cpp b/libc/src/math/nvptx/log2f.cpp
index 3f008484260ce..c2a6054c797ff 100644
--- a/libc/src/math/nvptx/log2f.cpp
+++ b/libc/src/math/nvptx/log2f.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/logb.cpp b/libc/src/math/nvptx/logb.cpp
index 06d5abfcb1a92..f6998bd194887 100644
--- a/libc/src/math/nvptx/logb.cpp
+++ b/libc/src/math/nvptx/logb.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/logbf.cpp b/libc/src/math/nvptx/logbf.cpp
index c26d7eed9a1bd..f72c04f988b6a 100644
--- a/libc/src/math/nvptx/logbf.cpp
+++ b/libc/src/math/nvptx/logbf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/logf.cpp b/libc/src/math/nvptx/logf.cpp
index 51d235359ab26..1a5bc1e8fc1b1 100644
--- a/libc/src/math/nvptx/logf.cpp
+++ b/libc/src/math/nvptx/logf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/lrint.cpp b/libc/src/math/nvptx/lrint.cpp
index 245b1566b0c89..715b552575789 100644
--- a/libc/src/math/nvptx/lrint.cpp
+++ b/libc/src/math/nvptx/lrint.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/lrintf.cpp b/libc/src/math/nvptx/lrintf.cpp
index 44dbad0f36b79..3ed05f6ca34cc 100644
--- a/libc/src/math/nvptx/lrintf.cpp
+++ b/libc/src/math/nvptx/lrintf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/nearbyint.cpp b/libc/src/math/nvptx/nearbyint.cpp
index dce283707f615..7d78c7241d023 100644
--- a/libc/src/math/nvptx/nearbyint.cpp
+++ b/libc/src/math/nvptx/nearbyint.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nearbyint.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/nearbyintf.cpp b/libc/src/math/nvptx/nearbyintf.cpp
index b94b63f2ecd3d..4bd20dc58fb89 100644
--- a/libc/src/math/nvptx/nearbyintf.cpp
+++ b/libc/src/math/nvptx/nearbyintf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/nearbyintf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/nextafter.cpp b/libc/src/math/nvptx/nextafter.cpp
index 0550818bfb70e..3dc910042192d 100644
--- a/libc/src/math/nvptx/nextafter.cpp
+++ b/libc/src/math/nvptx/nextafter.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/nextafterf.cpp b/libc/src/math/nvptx/nextafterf.cpp
index e5bb62601d8f6..162b85ef76c1f 100644
--- a/libc/src/math/nvptx/nextafterf.cpp
+++ b/libc/src/math/nvptx/nextafterf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/nvptx.h b/libc/src/math/nvptx/nvptx.h
index 5a480f78ca389..2035b766e6227 100644
--- a/libc/src/math/nvptx/nvptx.h
+++ b/libc/src/math/nvptx/nvptx.h
@@ -12,6 +12,7 @@
 #include "declarations.h"
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/src/math/nvptx/pow.cpp b/libc/src/math/nvptx/pow.cpp
index 55fc6ad0dd47c..c51dd56f55387 100644
--- a/libc/src/math/nvptx/pow.cpp
+++ b/libc/src/math/nvptx/pow.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/powf.cpp b/libc/src/math/nvptx/powf.cpp
index 9110b72955eb5..9c577c78a4a87 100644
--- a/libc/src/math/nvptx/powf.cpp
+++ b/libc/src/math/nvptx/powf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/powi.cpp b/libc/src/math/nvptx/powi.cpp
index 15b03b7f73660..16214bd9cc27a 100644
--- a/libc/src/math/nvptx/powi.cpp
+++ b/libc/src/math/nvptx/powi.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/powi.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "declarations.h"
 
diff --git a/libc/src/math/nvptx/powif.cpp b/libc/src/math/nvptx/powif.cpp
index 410e518e557ff..5d26fdc87daca 100644
--- a/libc/src/math/nvptx/powif.cpp
+++ b/libc/src/math/nvptx/powif.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/powif.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "declarations.h"
 
diff --git a/libc/src/math/nvptx/remainder.cpp b/libc/src/math/nvptx/remainder.cpp
index 8bcbde32caed6..9027204312e00 100644
--- a/libc/src/math/nvptx/remainder.cpp
+++ b/libc/src/math/nvptx/remainder.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/remainder.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/remainderf.cpp b/libc/src/math/nvptx/remainderf.cpp
index 4258f9c9b8b22..50df3b2ce25c1 100644
--- a/libc/src/math/nvptx/remainderf.cpp
+++ b/libc/src/math/nvptx/remainderf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/remainderf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/remquo.cpp b/libc/src/math/nvptx/remquo.cpp
index d1b67e2967bad..aae1831bce61a 100644
--- a/libc/src/math/nvptx/remquo.cpp
+++ b/libc/src/math/nvptx/remquo.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/remquof.cpp b/libc/src/math/nvptx/remquof.cpp
index 0bdc68dbf6787..d7ce3c0f03b52 100644
--- a/libc/src/math/nvptx/remquof.cpp
+++ b/libc/src/math/nvptx/remquof.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/rint.cpp b/libc/src/math/nvptx/rint.cpp
index df2c5630c46c5..ac6837a4abc37 100644
--- a/libc/src/math/nvptx/rint.cpp
+++ b/libc/src/math/nvptx/rint.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/rint.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/rintf.cpp b/libc/src/math/nvptx/rintf.cpp
index 164e9b30fd31e..94093471a8d92 100644
--- a/libc/src/math/nvptx/rintf.cpp
+++ b/libc/src/math/nvptx/rintf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/rintf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/round.cpp b/libc/src/math/nvptx/round.cpp
index ef33298fe6b74..0d2765f2e959f 100644
--- a/libc/src/math/nvptx/round.cpp
+++ b/libc/src/math/nvptx/round.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/round.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/roundf.cpp b/libc/src/math/nvptx/roundf.cpp
index 6cca130af56b9..86e8ba3ac83d6 100644
--- a/libc/src/math/nvptx/roundf.cpp
+++ b/libc/src/math/nvptx/roundf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/roundf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/scalbn.cpp b/libc/src/math/nvptx/scalbn.cpp
index 922d2826da1e3..ecadc345a3534 100644
--- a/libc/src/math/nvptx/scalbn.cpp
+++ b/libc/src/math/nvptx/scalbn.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/scalbnf.cpp b/libc/src/math/nvptx/scalbnf.cpp
index 14a1746f4debd..35ff69964fffa 100644
--- a/libc/src/math/nvptx/scalbnf.cpp
+++ b/libc/src/math/nvptx/scalbnf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sin.cpp b/libc/src/math/nvptx/sin.cpp
index 09d3f509d8706..0e86f9c77e599 100644
--- a/libc/src/math/nvptx/sin.cpp
+++ b/libc/src/math/nvptx/sin.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sincos.cpp b/libc/src/math/nvptx/sincos.cpp
index 04ae61dec5f06..5a77234e2d74e 100644
--- a/libc/src/math/nvptx/sincos.cpp
+++ b/libc/src/math/nvptx/sincos.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sincosf.cpp b/libc/src/math/nvptx/sincosf.cpp
index 29c8ddcbe1f5d..e4039ada837b9 100644
--- a/libc/src/math/nvptx/sincosf.cpp
+++ b/libc/src/math/nvptx/sincosf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sinf.cpp b/libc/src/math/nvptx/sinf.cpp
index ec15a098c3a77..14e722fbad196 100644
--- a/libc/src/math/nvptx/sinf.cpp
+++ b/libc/src/math/nvptx/sinf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sinh.cpp b/libc/src/math/nvptx/sinh.cpp
index 53743e187bd9a..701811d9a9921 100644
--- a/libc/src/math/nvptx/sinh.cpp
+++ b/libc/src/math/nvptx/sinh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sinhf.cpp b/libc/src/math/nvptx/sinhf.cpp
index 7002a2c575a63..2c6ac21fffa17 100644
--- a/libc/src/math/nvptx/sinhf.cpp
+++ b/libc/src/math/nvptx/sinhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sqrt.cpp b/libc/src/math/nvptx/sqrt.cpp
index f49e53a3f6cbf..ed83b6e5c6cae 100644
--- a/libc/src/math/nvptx/sqrt.cpp
+++ b/libc/src/math/nvptx/sqrt.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/sqrt.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/sqrtf.cpp b/libc/src/math/nvptx/sqrtf.cpp
index 9ee8707ea4416..851922c316452 100644
--- a/libc/src/math/nvptx/sqrtf.cpp
+++ b/libc/src/math/nvptx/sqrtf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/sqrtf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tan.cpp b/libc/src/math/nvptx/tan.cpp
index ffd30d6b5d570..2d3f1fe51ea4a 100644
--- a/libc/src/math/nvptx/tan.cpp
+++ b/libc/src/math/nvptx/tan.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tanf.cpp b/libc/src/math/nvptx/tanf.cpp
index 253ce8458b184..bdf51d9a619a1 100644
--- a/libc/src/math/nvptx/tanf.cpp
+++ b/libc/src/math/nvptx/tanf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tanh.cpp b/libc/src/math/nvptx/tanh.cpp
index dee9d5d99d5d2..8255889e7d2b3 100644
--- a/libc/src/math/nvptx/tanh.cpp
+++ b/libc/src/math/nvptx/tanh.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tanhf.cpp b/libc/src/math/nvptx/tanhf.cpp
index a31db445d9d23..a22524a0fa426 100644
--- a/libc/src/math/nvptx/tanhf.cpp
+++ b/libc/src/math/nvptx/tanhf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tgamma.cpp b/libc/src/math/nvptx/tgamma.cpp
index 797b686c5e724..29f0334f72749 100644
--- a/libc/src/math/nvptx/tgamma.cpp
+++ b/libc/src/math/nvptx/tgamma.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/tgammaf.cpp b/libc/src/math/nvptx/tgammaf.cpp
index 38e54dfc35f4c..d7de80b36d294 100644
--- a/libc/src/math/nvptx/tgammaf.cpp
+++ b/libc/src/math/nvptx/tgammaf.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/common.h"
 
 #include "declarations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/trunc.cpp b/libc/src/math/nvptx/trunc.cpp
index 821002e9aade0..f60caa2a71d78 100644
--- a/libc/src/math/nvptx/trunc.cpp
+++ b/libc/src/math/nvptx/trunc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/trunc.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/nvptx/truncf.cpp b/libc/src/math/nvptx/truncf.cpp
index eee4050fd6d5f..a6c9b8f188f02 100644
--- a/libc/src/math/nvptx/truncf.cpp
+++ b/libc/src/math/nvptx/truncf.cpp
@@ -8,6 +8,7 @@
 
 #include "src/math/truncf.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/math/pow.h b/libc/src/math/pow.h
index f44edbbf3d88b..a861920cc36c6 100644
--- a/libc/src/math/pow.h
+++ b/libc/src/math/pow.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_POW_H
 #define LLVM_LIBC_SRC_MATH_POW_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double pow(double x, double y);
diff --git a/libc/src/math/powf.h b/libc/src/math/powf.h
index 3e9b8e5b8ca71..61c474a6b173e 100644
--- a/libc/src/math/powf.h
+++ b/libc/src/math/powf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWF_H
 #define LLVM_LIBC_SRC_MATH_POWF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float powf(float x, float y);
diff --git a/libc/src/math/powi.h b/libc/src/math/powi.h
index 8a4636ebbefcc..a70fab62b85cb 100644
--- a/libc/src/math/powi.h
+++ b/libc/src/math/powi.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWI_H
 #define LLVM_LIBC_SRC_MATH_POWI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double powi(double x, int y);
diff --git a/libc/src/math/powif.h b/libc/src/math/powif.h
index 8cb5422021f27..ee6716f2a1846 100644
--- a/libc/src/math/powif.h
+++ b/libc/src/math/powif.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_POWIF_H
 #define LLVM_LIBC_SRC_MATH_POWIF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float powif(float x, int y);
diff --git a/libc/src/math/remainder.h b/libc/src/math/remainder.h
index 0fdb8c48ef006..5bf2af92543cf 100644
--- a/libc/src/math/remainder.h
+++ b/libc/src/math/remainder.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDER_H
 #define LLVM_LIBC_SRC_MATH_REMAINDER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double remainder(double x, double y);
diff --git a/libc/src/math/remainderf.h b/libc/src/math/remainderf.h
index 83966f19e3e21..4997ebccc9290 100644
--- a/libc/src/math/remainderf.h
+++ b/libc/src/math/remainderf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDERF_H
 #define LLVM_LIBC_SRC_MATH_REMAINDERF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float remainderf(float x, float y);
diff --git a/libc/src/math/remainderf16.h b/libc/src/math/remainderf16.h
index bd8cd6b70d39e..75f39e55f9884 100644
--- a/libc/src/math/remainderf16.h
+++ b/libc/src/math/remainderf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDERF16_H
 #define LLVM_LIBC_SRC_MATH_REMAINDERF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/remainderl.h b/libc/src/math/remainderl.h
index 690330e817d79..e0df705b0ed27 100644
--- a/libc/src/math/remainderl.h
+++ b/libc/src/math/remainderl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMAINDERL_H
 #define LLVM_LIBC_SRC_MATH_REMAINDERL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double remainderl(long double x, long double y);
diff --git a/libc/src/math/remquo.h b/libc/src/math/remquo.h
index e134f876f9021..c16ec957e144f 100644
--- a/libc/src/math/remquo.h
+++ b/libc/src/math/remquo.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUO_H
 #define LLVM_LIBC_SRC_MATH_REMQUO_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double remquo(double x, double y, int *exp);
diff --git a/libc/src/math/remquof.h b/libc/src/math/remquof.h
index cf4690997685d..b63f773b6435f 100644
--- a/libc/src/math/remquof.h
+++ b/libc/src/math/remquof.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOF_H
 #define LLVM_LIBC_SRC_MATH_REMQUOF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float remquof(float x, float y, int *exp);
diff --git a/libc/src/math/remquof128.h b/libc/src/math/remquof128.h
index a193b92b93cdb..49e99a9a8bb2c 100644
--- a/libc/src/math/remquof128.h
+++ b/libc/src/math/remquof128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOF128_H
 #define LLVM_LIBC_SRC_MATH_REMQUOF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/remquof16.h b/libc/src/math/remquof16.h
index 42063490f961e..310c3db712cde 100644
--- a/libc/src/math/remquof16.h
+++ b/libc/src/math/remquof16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOF16_H
 #define LLVM_LIBC_SRC_MATH_REMQUOF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/remquol.h b/libc/src/math/remquol.h
index 68a042150f108..de5adf49827d8 100644
--- a/libc/src/math/remquol.h
+++ b/libc/src/math/remquol.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_REMQUOL_H
 #define LLVM_LIBC_SRC_MATH_REMQUOL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double remquol(long double x, long double y, int *exp);
diff --git a/libc/src/math/rint.h b/libc/src/math/rint.h
index f1f963ed04dbc..1080c4df8e00b 100644
--- a/libc/src/math/rint.h
+++ b/libc/src/math/rint.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINT_H
 #define LLVM_LIBC_SRC_MATH_RINT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double rint(double x);
diff --git a/libc/src/math/rintf.h b/libc/src/math/rintf.h
index d193bdb95546d..b371b8c3468d8 100644
--- a/libc/src/math/rintf.h
+++ b/libc/src/math/rintf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTF_H
 #define LLVM_LIBC_SRC_MATH_RINTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float rintf(float x);
diff --git a/libc/src/math/rintf128.h b/libc/src/math/rintf128.h
index 89d6259596aad..2edafcb73fd85 100644
--- a/libc/src/math/rintf128.h
+++ b/libc/src/math/rintf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTF128_H
 #define LLVM_LIBC_SRC_MATH_RINTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/rintf16.h b/libc/src/math/rintf16.h
index bb00501a5c97e..839f2dd0f3c00 100644
--- a/libc/src/math/rintf16.h
+++ b/libc/src/math/rintf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTF16_H
 #define LLVM_LIBC_SRC_MATH_RINTF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/rintl.h b/libc/src/math/rintl.h
index 9f77e50722310..fed476973b5da 100644
--- a/libc/src/math/rintl.h
+++ b/libc/src/math/rintl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_RINTL_H
 #define LLVM_LIBC_SRC_MATH_RINTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double rintl(long double x);
diff --git a/libc/src/math/round.h b/libc/src/math/round.h
index 70a3209c98737..c2cd3bf921f0c 100644
--- a/libc/src/math/round.h
+++ b/libc/src/math/round.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUND_H
 #define LLVM_LIBC_SRC_MATH_ROUND_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double round(double x);
diff --git a/libc/src/math/roundeven.h b/libc/src/math/roundeven.h
index 44ec8c53e4744..a996a03f73b58 100644
--- a/libc/src/math/roundeven.h
+++ b/libc/src/math/roundeven.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVEN_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVEN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double roundeven(double x);
diff --git a/libc/src/math/roundevenf.h b/libc/src/math/roundevenf.h
index 537773e655524..bdeca6712ea7a 100644
--- a/libc/src/math/roundevenf.h
+++ b/libc/src/math/roundevenf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENF_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float roundevenf(float x);
diff --git a/libc/src/math/roundevenf128.h b/libc/src/math/roundevenf128.h
index 2ef930100ad95..ca2ef3703e8ae 100644
--- a/libc/src/math/roundevenf128.h
+++ b/libc/src/math/roundevenf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENF128_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/roundevenf16.h b/libc/src/math/roundevenf16.h
index 26ac40e39ca80..8f5fe22eeacb0 100644
--- a/libc/src/math/roundevenf16.h
+++ b/libc/src/math/roundevenf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENF16_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/roundevenl.h b/libc/src/math/roundevenl.h
index 11a4d806c2ebf..c53fb0863d72f 100644
--- a/libc/src/math/roundevenl.h
+++ b/libc/src/math/roundevenl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDEVENL_H
 #define LLVM_LIBC_SRC_MATH_ROUNDEVENL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double roundevenl(long double x);
diff --git a/libc/src/math/roundf.h b/libc/src/math/roundf.h
index 5d3e1f9ccdd3e..21dbaa810d2bf 100644
--- a/libc/src/math/roundf.h
+++ b/libc/src/math/roundf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDF_H
 #define LLVM_LIBC_SRC_MATH_ROUNDF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float roundf(float x);
diff --git a/libc/src/math/roundf128.h b/libc/src/math/roundf128.h
index 839be305a279c..ef56d04a1696d 100644
--- a/libc/src/math/roundf128.h
+++ b/libc/src/math/roundf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDF128_H
 #define LLVM_LIBC_SRC_MATH_ROUNDF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/roundf16.h b/libc/src/math/roundf16.h
index 1d74e3ecded49..30772639747a5 100644
--- a/libc/src/math/roundf16.h
+++ b/libc/src/math/roundf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDF16_H
 #define LLVM_LIBC_SRC_MATH_ROUNDF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/roundl.h b/libc/src/math/roundl.h
index 582d0dbf157a5..8a9fed47aaa5c 100644
--- a/libc/src/math/roundl.h
+++ b/libc/src/math/roundl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_ROUNDL_H
 #define LLVM_LIBC_SRC_MATH_ROUNDL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double roundl(long double x);
diff --git a/libc/src/math/scalblnf16.h b/libc/src/math/scalblnf16.h
index 4e29e21360849..d47a78cd1448b 100644
--- a/libc/src/math/scalblnf16.h
+++ b/libc/src/math/scalblnf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBLNF16_H
 #define LLVM_LIBC_SRC_MATH_SCALBLNF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/scalbn.h b/libc/src/math/scalbn.h
index f6d4e21163a8d..d4669d22df43e 100644
--- a/libc/src/math/scalbn.h
+++ b/libc/src/math/scalbn.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBN_H
 #define LLVM_LIBC_SRC_MATH_SCALBN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double scalbn(double x, int n);
diff --git a/libc/src/math/scalbnf.h b/libc/src/math/scalbnf.h
index f3d9f86e973f7..d298eeb562a4e 100644
--- a/libc/src/math/scalbnf.h
+++ b/libc/src/math/scalbnf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNF_H
 #define LLVM_LIBC_SRC_MATH_SCALBNF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float scalbnf(float x, int n);
diff --git a/libc/src/math/scalbnf128.h b/libc/src/math/scalbnf128.h
index aff8283e6136c..b96d954c69e30 100644
--- a/libc/src/math/scalbnf128.h
+++ b/libc/src/math/scalbnf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNF128_H
 #define LLVM_LIBC_SRC_MATH_SCALBNF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/scalbnf16.h b/libc/src/math/scalbnf16.h
index f4dc0ae3740f2..e554a517a2f81 100644
--- a/libc/src/math/scalbnf16.h
+++ b/libc/src/math/scalbnf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNF16_H
 #define LLVM_LIBC_SRC_MATH_SCALBNF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/scalbnl.h b/libc/src/math/scalbnl.h
index d232b7702d1b9..ff023049c2db9 100644
--- a/libc/src/math/scalbnl.h
+++ b/libc/src/math/scalbnl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SCALBNL_H
 #define LLVM_LIBC_SRC_MATH_SCALBNL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double scalbnl(long double x, int n);
diff --git a/libc/src/math/setpayloadf16.h b/libc/src/math/setpayloadf16.h
index 99c4534cab234..6bdf64a1330be 100644
--- a/libc/src/math/setpayloadf16.h
+++ b/libc/src/math/setpayloadf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SETPAYLOADF16_H
 #define LLVM_LIBC_SRC_MATH_SETPAYLOADF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/setpayloadsigf16.h b/libc/src/math/setpayloadsigf16.h
index d2b98413dfc4d..0c5e7737c991b 100644
--- a/libc/src/math/setpayloadsigf16.h
+++ b/libc/src/math/setpayloadsigf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SETPAYLOADSIGF16_H
 #define LLVM_LIBC_SRC_MATH_SETPAYLOADSIGF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/sin.h b/libc/src/math/sin.h
index babd922a67c71..2a4362d1ba287 100644
--- a/libc/src/math/sin.h
+++ b/libc/src/math/sin.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SIN_H
 #define LLVM_LIBC_SRC_MATH_SIN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double sin(double x);
diff --git a/libc/src/math/sincos.h b/libc/src/math/sincos.h
index 4863e9e50d3ae..580bdbb9a6b3e 100644
--- a/libc/src/math/sincos.h
+++ b/libc/src/math/sincos.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINCOS_H
 #define LLVM_LIBC_SRC_MATH_SINCOS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 void sincos(double x, double *sinx, double *cosx);
diff --git a/libc/src/math/sincosf.h b/libc/src/math/sincosf.h
index 68ac5cfde23a7..28dbc652f1367 100644
--- a/libc/src/math/sincosf.h
+++ b/libc/src/math/sincosf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINCOSF_H
 #define LLVM_LIBC_SRC_MATH_SINCOSF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 void sincosf(float x, float *sinx, float *cosx);
diff --git a/libc/src/math/sinf.h b/libc/src/math/sinf.h
index 80d508dbd5ba7..c4f8c889086fe 100644
--- a/libc/src/math/sinf.h
+++ b/libc/src/math/sinf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINF_H
 #define LLVM_LIBC_SRC_MATH_SINF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float sinf(float x);
diff --git a/libc/src/math/sinh.h b/libc/src/math/sinh.h
index 51a22e6331921..b87471c2bfcc2 100644
--- a/libc/src/math/sinh.h
+++ b/libc/src/math/sinh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINH_H
 #define LLVM_LIBC_SRC_MATH_SINH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double sinh(double x);
diff --git a/libc/src/math/sinhf.h b/libc/src/math/sinhf.h
index 49938a33b6819..f69a194c1f6d9 100644
--- a/libc/src/math/sinhf.h
+++ b/libc/src/math/sinhf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINHF_H
 #define LLVM_LIBC_SRC_MATH_SINHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float sinhf(float x);
diff --git a/libc/src/math/sinpif.h b/libc/src/math/sinpif.h
index eacd3e577be61..038fb1935d15f 100644
--- a/libc/src/math/sinpif.h
+++ b/libc/src/math/sinpif.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SINPIF_H
 #define LLVM_LIBC_SRC_MATH_SINPIF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float sinpif(float x);
diff --git a/libc/src/math/sqrt.h b/libc/src/math/sqrt.h
index 91aa1fcbc9ea9..566944a95f40a 100644
--- a/libc/src/math/sqrt.h
+++ b/libc/src/math/sqrt.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRT_H
 #define LLVM_LIBC_SRC_MATH_SQRT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double sqrt(double x);
diff --git a/libc/src/math/sqrtf.h b/libc/src/math/sqrtf.h
index 294b9129327ec..db39ab73ee678 100644
--- a/libc/src/math/sqrtf.h
+++ b/libc/src/math/sqrtf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRTF_H
 #define LLVM_LIBC_SRC_MATH_SQRTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float sqrtf(float x);
diff --git a/libc/src/math/sqrtf128.h b/libc/src/math/sqrtf128.h
index c878fa6aab1e6..81f4c12eff90d 100644
--- a/libc/src/math/sqrtf128.h
+++ b/libc/src/math/sqrtf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRTF128_H
 #define LLVM_LIBC_SRC_MATH_SQRTF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/sqrtl.h b/libc/src/math/sqrtl.h
index 8e80c62569a51..52b208d655d69 100644
--- a/libc/src/math/sqrtl.h
+++ b/libc/src/math/sqrtl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_SQRTL_H
 #define LLVM_LIBC_SRC_MATH_SQRTL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double sqrtl(long double x);
diff --git a/libc/src/math/tan.h b/libc/src/math/tan.h
index cb4e23133ab08..462c60f1f9aed 100644
--- a/libc/src/math/tan.h
+++ b/libc/src/math/tan.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TAN_H
 #define LLVM_LIBC_SRC_MATH_TAN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double tan(double x);
diff --git a/libc/src/math/tanf.h b/libc/src/math/tanf.h
index da23d1fe155a8..0d4b9e79ac32c 100644
--- a/libc/src/math/tanf.h
+++ b/libc/src/math/tanf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANF_H
 #define LLVM_LIBC_SRC_MATH_TANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float tanf(float x);
diff --git a/libc/src/math/tanh.h b/libc/src/math/tanh.h
index fd4b95873cc38..eadde36c394c5 100644
--- a/libc/src/math/tanh.h
+++ b/libc/src/math/tanh.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANH_H
 #define LLVM_LIBC_SRC_MATH_TANH_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double tanh(double x);
diff --git a/libc/src/math/tanhf.h b/libc/src/math/tanhf.h
index aa31c1d302566..a0bd1e926a30a 100644
--- a/libc/src/math/tanhf.h
+++ b/libc/src/math/tanhf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TANHF_H
 #define LLVM_LIBC_SRC_MATH_TANHF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float tanhf(float x);
diff --git a/libc/src/math/tgamma.h b/libc/src/math/tgamma.h
index bb0ddd223f755..9210a4bb8e7f4 100644
--- a/libc/src/math/tgamma.h
+++ b/libc/src/math/tgamma.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TGAMMA_H
 #define LLVM_LIBC_SRC_MATH_TGAMMA_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double tgamma(double x);
diff --git a/libc/src/math/tgammaf.h b/libc/src/math/tgammaf.h
index f3afb089f33df..0524deefcf552 100644
--- a/libc/src/math/tgammaf.h
+++ b/libc/src/math/tgammaf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TGAMMAF_H
 #define LLVM_LIBC_SRC_MATH_TGAMMAF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float tgammaf(float x);
diff --git a/libc/src/math/totalorderf16.h b/libc/src/math/totalorderf16.h
index 41fbb4b52af71..db787c96dc3ea 100644
--- a/libc/src/math/totalorderf16.h
+++ b/libc/src/math/totalorderf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
 #define LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/totalordermagf16.h b/libc/src/math/totalordermagf16.h
index e827be7c279c8..eed8bf3586cac 100644
--- a/libc/src/math/totalordermagf16.h
+++ b/libc/src/math/totalordermagf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
 #define LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/trunc.h b/libc/src/math/trunc.h
index bb08934ff54ef..d4fb8788fca69 100644
--- a/libc/src/math/trunc.h
+++ b/libc/src/math/trunc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNC_H
 #define LLVM_LIBC_SRC_MATH_TRUNC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double trunc(double x);
diff --git a/libc/src/math/truncf.h b/libc/src/math/truncf.h
index f4f1ce2703aac..3cdf2ee8006d1 100644
--- a/libc/src/math/truncf.h
+++ b/libc/src/math/truncf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCF_H
 #define LLVM_LIBC_SRC_MATH_TRUNCF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float truncf(float x);
diff --git a/libc/src/math/truncf128.h b/libc/src/math/truncf128.h
index 63e67cc1aa03f..df3899c35e668 100644
--- a/libc/src/math/truncf128.h
+++ b/libc/src/math/truncf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCF128_H
 #define LLVM_LIBC_SRC_MATH_TRUNCF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/truncf16.h b/libc/src/math/truncf16.h
index 4dcf5c1b479a1..db03c68fd631a 100644
--- a/libc/src/math/truncf16.h
+++ b/libc/src/math/truncf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCF16_H
 #define LLVM_LIBC_SRC_MATH_TRUNCF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/truncl.h b/libc/src/math/truncl.h
index a3574a2dba7e3..6b4d22d92dd88 100644
--- a/libc/src/math/truncl.h
+++ b/libc/src/math/truncl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_TRUNCL_H
 #define LLVM_LIBC_SRC_MATH_TRUNCL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double truncl(long double x);
diff --git a/libc/src/math/ufromfp.h b/libc/src/math/ufromfp.h
index 5491e991aacf3..6b40623fc5e70 100644
--- a/libc/src/math/ufromfp.h
+++ b/libc/src/math/ufromfp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFP_H
 #define LLVM_LIBC_SRC_MATH_UFROMFP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double ufromfp(double x, int rnd, unsigned int width);
diff --git a/libc/src/math/ufromfpf.h b/libc/src/math/ufromfpf.h
index 6cf6d30b7a75b..d272cecc3cae8 100644
--- a/libc/src/math/ufromfpf.h
+++ b/libc/src/math/ufromfpf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPF_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float ufromfpf(float x, int rnd, unsigned int width);
diff --git a/libc/src/math/ufromfpf128.h b/libc/src/math/ufromfpf128.h
index b535ed795b116..b38ef691fa165 100644
--- a/libc/src/math/ufromfpf128.h
+++ b/libc/src/math/ufromfpf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPF128_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ufromfpf16.h b/libc/src/math/ufromfpf16.h
index 7ce570343944c..c863a2d4eb493 100644
--- a/libc/src/math/ufromfpf16.h
+++ b/libc/src/math/ufromfpf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPF16_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ufromfpl.h b/libc/src/math/ufromfpl.h
index 7b61d1839f418..c7b93317fa68e 100644
--- a/libc/src/math/ufromfpl.h
+++ b/libc/src/math/ufromfpl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPL_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double ufromfpl(long double x, int rnd, unsigned int width);
diff --git a/libc/src/math/ufromfpx.h b/libc/src/math/ufromfpx.h
index 53acf15c289fe..00a3c5f5b435d 100644
--- a/libc/src/math/ufromfpx.h
+++ b/libc/src/math/ufromfpx.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPX_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double ufromfpx(double x, int rnd, unsigned int width);
diff --git a/libc/src/math/ufromfpxf.h b/libc/src/math/ufromfpxf.h
index d0b98baba5b6a..1740ac33dec77 100644
--- a/libc/src/math/ufromfpxf.h
+++ b/libc/src/math/ufromfpxf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXF_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float ufromfpxf(float x, int rnd, unsigned int width);
diff --git a/libc/src/math/ufromfpxf128.h b/libc/src/math/ufromfpxf128.h
index 66aab8759da26..5008b7ae9b460 100644
--- a/libc/src/math/ufromfpxf128.h
+++ b/libc/src/math/ufromfpxf128.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXF128_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXF128_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ufromfpxf16.h b/libc/src/math/ufromfpxf16.h
index 59eb2f1490836..9e03353d3e588 100644
--- a/libc/src/math/ufromfpxf16.h
+++ b/libc/src/math/ufromfpxf16.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXF16_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXF16_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/math/ufromfpxl.h b/libc/src/math/ufromfpxl.h
index 90204a0c4b0bc..13ff93607f73a 100644
--- a/libc/src/math/ufromfpxl.h
+++ b/libc/src/math/ufromfpxl.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_MATH_UFROMFPXL_H
 #define LLVM_LIBC_SRC_MATH_UFROMFPXL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double ufromfpxl(long double x, int rnd, unsigned int width);
diff --git a/libc/src/network/htonl.cpp b/libc/src/network/htonl.cpp
index 3644ece2902aa..ec3c02e2894f2 100644
--- a/libc/src/network/htonl.cpp
+++ b/libc/src/network/htonl.cpp
@@ -9,6 +9,7 @@
 #include "src/network/htonl.h"
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/network/htonl.h b/libc/src/network/htonl.h
index 5b2a47325a18e..14217310a2271 100644
--- a/libc/src/network/htonl.h
+++ b/libc/src/network/htonl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_NETWORK_HTONL_H
 #define LLVM_LIBC_SRC_NETWORK_HTONL_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/network/htons.cpp b/libc/src/network/htons.cpp
index 754c3b5598af5..78416b3a7d1f0 100644
--- a/libc/src/network/htons.cpp
+++ b/libc/src/network/htons.cpp
@@ -9,6 +9,7 @@
 #include "src/network/htons.h"
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/network/htons.h b/libc/src/network/htons.h
index 50bccb6585117..8f5c68a0a60a8 100644
--- a/libc/src/network/htons.h
+++ b/libc/src/network/htons.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_NETWORK_HTONS_H
 #define LLVM_LIBC_SRC_NETWORK_HTONS_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/network/ntohl.cpp b/libc/src/network/ntohl.cpp
index b60f29db5d184..974b574432ff3 100644
--- a/libc/src/network/ntohl.cpp
+++ b/libc/src/network/ntohl.cpp
@@ -9,6 +9,7 @@
 #include "src/network/ntohl.h"
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/network/ntohl.h b/libc/src/network/ntohl.h
index e017b569be0c7..c325951948062 100644
--- a/libc/src/network/ntohl.h
+++ b/libc/src/network/ntohl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_NETWORK_NTOHL_H
 #define LLVM_LIBC_SRC_NETWORK_NTOHL_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/network/ntohs.cpp b/libc/src/network/ntohs.cpp
index e791a204ce7b4..bb1779f3dcb30 100644
--- a/libc/src/network/ntohs.cpp
+++ b/libc/src/network/ntohs.cpp
@@ -9,6 +9,7 @@
 #include "src/network/ntohs.h"
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/network/ntohs.h b/libc/src/network/ntohs.h
index bd2619360f41a..f55591415f764 100644
--- a/libc/src/network/ntohs.h
+++ b/libc/src/network/ntohs.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_NETWORK_NTOHS_H
 #define LLVM_LIBC_SRC_NETWORK_NTOHS_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_atfork.cpp b/libc/src/pthread/pthread_atfork.cpp
index 063961c86dee9..d3f3c259992ec 100644
--- a/libc/src/pthread/pthread_atfork.cpp
+++ b/libc/src/pthread/pthread_atfork.cpp
@@ -9,6 +9,7 @@
 #include "pthread_atfork.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/fork_callbacks.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_atfork.h b/libc/src/pthread/pthread_atfork.h
index 92849f133bb9c..4292e2ad46be5 100644
--- a/libc/src/pthread/pthread_atfork.h
+++ b/libc/src/pthread/pthread_atfork.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATFORK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATFORK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_destroy.cpp b/libc/src/pthread/pthread_attr_destroy.cpp
index 8412b0ffc3cfe..090cc23d81218 100644
--- a/libc/src/pthread/pthread_attr_destroy.cpp
+++ b/libc/src/pthread/pthread_attr_destroy.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_destroy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_attr_destroy.h b/libc/src/pthread/pthread_attr_destroy.h
index 54f893e6bdda4..a5e7e62fa3bec 100644
--- a/libc/src/pthread/pthread_attr_destroy.h
+++ b/libc/src/pthread/pthread_attr_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_getdetachstate.cpp b/libc/src/pthread/pthread_attr_getdetachstate.cpp
index 21756035f8d8e..ec755138b093e 100644
--- a/libc/src/pthread/pthread_attr_getdetachstate.cpp
+++ b/libc/src/pthread/pthread_attr_getdetachstate.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_getdetachstate.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_attr_getdetachstate.h b/libc/src/pthread/pthread_attr_getdetachstate.h
index d6994177d76d6..e1c89baf315d8 100644
--- a/libc/src/pthread/pthread_attr_getdetachstate.h
+++ b/libc/src/pthread/pthread_attr_getdetachstate.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETDETACHSTATE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETDETACHSTATE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_getguardsize.cpp b/libc/src/pthread/pthread_attr_getguardsize.cpp
index baa3d7c9de23d..b7c50859fa533 100644
--- a/libc/src/pthread/pthread_attr_getguardsize.cpp
+++ b/libc/src/pthread/pthread_attr_getguardsize.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_getguardsize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_attr_getguardsize.h b/libc/src/pthread/pthread_attr_getguardsize.h
index b9aa72fd20294..e5f9cbf752aef 100644
--- a/libc/src/pthread/pthread_attr_getguardsize.h
+++ b/libc/src/pthread/pthread_attr_getguardsize.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETGUARDSIZE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETGUARDSIZE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_getstack.cpp b/libc/src/pthread/pthread_attr_getstack.cpp
index 9f2d9391196ac..6166e442d4723 100644
--- a/libc/src/pthread/pthread_attr_getstack.cpp
+++ b/libc/src/pthread/pthread_attr_getstack.cpp
@@ -10,6 +10,7 @@
 #include "pthread_attr_getstacksize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_attr_getstack.h b/libc/src/pthread/pthread_attr_getstack.h
index c5f08be737b00..f28c734c80791 100644
--- a/libc/src/pthread/pthread_attr_getstack.h
+++ b/libc/src/pthread/pthread_attr_getstack.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_getstacksize.cpp b/libc/src/pthread/pthread_attr_getstacksize.cpp
index baeb5b0fca554..230ca78502707 100644
--- a/libc/src/pthread/pthread_attr_getstacksize.cpp
+++ b/libc/src/pthread/pthread_attr_getstacksize.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_getstacksize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_attr_getstacksize.h b/libc/src/pthread/pthread_attr_getstacksize.h
index aa74f694e84fc..078da78f55e9a 100644
--- a/libc/src/pthread/pthread_attr_getstacksize.h
+++ b/libc/src/pthread/pthread_attr_getstacksize.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACKSIZE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_GETSTACKSIZE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_init.cpp b/libc/src/pthread/pthread_attr_init.cpp
index ad35e61ac4d0d..1fc6430058f68 100644
--- a/libc/src/pthread/pthread_attr_init.cpp
+++ b/libc/src/pthread/pthread_attr_init.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_init.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h" // For thread::DEFAULT_*
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_attr_init.h b/libc/src/pthread/pthread_attr_init.h
index 7d4872a4ba2e3..69969980725b8 100644
--- a/libc/src/pthread/pthread_attr_init.h
+++ b/libc/src/pthread/pthread_attr_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_setdetachstate.cpp b/libc/src/pthread/pthread_attr_setdetachstate.cpp
index c36f9efa87174..3aa72d217f28b 100644
--- a/libc/src/pthread/pthread_attr_setdetachstate.cpp
+++ b/libc/src/pthread/pthread_attr_setdetachstate.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_setdetachstate.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_attr_setdetachstate.h b/libc/src/pthread/pthread_attr_setdetachstate.h
index afe50d1113e8e..06e1aa6503d45 100644
--- a/libc/src/pthread/pthread_attr_setdetachstate.h
+++ b/libc/src/pthread/pthread_attr_setdetachstate.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETDETACHSTATE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETDETACHSTATE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_setguardsize.cpp b/libc/src/pthread/pthread_attr_setguardsize.cpp
index d1bd3996ff6a8..389ee773fc5db 100644
--- a/libc/src/pthread/pthread_attr_setguardsize.cpp
+++ b/libc/src/pthread/pthread_attr_setguardsize.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_setguardsize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <linux/param.h> // For EXEC_PAGESIZE.
diff --git a/libc/src/pthread/pthread_attr_setguardsize.h b/libc/src/pthread/pthread_attr_setguardsize.h
index fef2bbadcf9e8..f418355d7c58a 100644
--- a/libc/src/pthread/pthread_attr_setguardsize.h
+++ b/libc/src/pthread/pthread_attr_setguardsize.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETGUARDSIZE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETGUARDSIZE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_setstack.cpp b/libc/src/pthread/pthread_attr_setstack.cpp
index 1ef941def9d63..f4f2d1450633e 100644
--- a/libc/src/pthread/pthread_attr_setstack.cpp
+++ b/libc/src/pthread/pthread_attr_setstack.cpp
@@ -10,6 +10,7 @@
 #include "pthread_attr_setstacksize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h" // For STACK_ALIGNMENT
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_attr_setstack.h b/libc/src/pthread/pthread_attr_setstack.h
index a28b36d05deb3..9ae2cfaf6b965 100644
--- a/libc/src/pthread/pthread_attr_setstack.h
+++ b/libc/src/pthread/pthread_attr_setstack.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_attr_setstacksize.cpp b/libc/src/pthread/pthread_attr_setstacksize.cpp
index 781afc5d318eb..f327d3365b5d8 100644
--- a/libc/src/pthread/pthread_attr_setstacksize.cpp
+++ b/libc/src/pthread/pthread_attr_setstacksize.cpp
@@ -9,6 +9,7 @@
 #include "pthread_attr_setstacksize.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_attr_setstacksize.h b/libc/src/pthread/pthread_attr_setstacksize.h
index b206c70a38349..06418564179b0 100644
--- a/libc/src/pthread/pthread_attr_setstacksize.h
+++ b/libc/src/pthread/pthread_attr_setstacksize.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACKSIZE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ATTR_SETSTACKSIZE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_condattr_destroy.cpp b/libc/src/pthread/pthread_condattr_destroy.cpp
index 0be9fdb92362a..f0b9fd1c167cb 100644
--- a/libc/src/pthread/pthread_condattr_destroy.cpp
+++ b/libc/src/pthread/pthread_condattr_destroy.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_destroy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_condattr_destroy.h b/libc/src/pthread/pthread_condattr_destroy.h
index d3ee046afb998..15794979b5ba0 100644
--- a/libc/src/pthread/pthread_condattr_destroy.h
+++ b/libc/src/pthread/pthread_condattr_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_condattr_getclock.cpp b/libc/src/pthread/pthread_condattr_getclock.cpp
index ae371d230ce84..75fd9308c7b8d 100644
--- a/libc/src/pthread/pthread_condattr_getclock.cpp
+++ b/libc/src/pthread/pthread_condattr_getclock.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_getclock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>   // pthread_condattr_t
 #include <sys/types.h> // clockid_t
diff --git a/libc/src/pthread/pthread_condattr_getclock.h b/libc/src/pthread/pthread_condattr_getclock.h
index 0a0263333f4e3..52025b3040c1a 100644
--- a/libc/src/pthread/pthread_condattr_getclock.h
+++ b/libc/src/pthread/pthread_condattr_getclock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_GETCLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_GETCLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>   // pthread_condattr_t
 #include <sys/types.h> // clockid_t
 
diff --git a/libc/src/pthread/pthread_condattr_getpshared.cpp b/libc/src/pthread/pthread_condattr_getpshared.cpp
index 7fe8da689f461..8692149718238 100644
--- a/libc/src/pthread/pthread_condattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_condattr_getpshared.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_getpshared.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_condattr_getpshared.h b/libc/src/pthread/pthread_condattr_getpshared.h
index 5ff2e53214af7..2b1eb10af2101 100644
--- a/libc/src/pthread/pthread_condattr_getpshared.h
+++ b/libc/src/pthread/pthread_condattr_getpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_PSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_PSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_condattr_init.cpp b/libc/src/pthread/pthread_condattr_init.cpp
index 038abf9b0c9d8..12005b8a9d30f 100644
--- a/libc/src/pthread/pthread_condattr_init.cpp
+++ b/libc/src/pthread/pthread_condattr_init.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_init.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h> // pthread_condattr_t, PTHREAD_PROCESS_PRIVATE
 #include <time.h>    // CLOCK_REALTIME
diff --git a/libc/src/pthread/pthread_condattr_init.h b/libc/src/pthread/pthread_condattr_init.h
index 17ca007eaae92..8f681544f6203 100644
--- a/libc/src/pthread/pthread_condattr_init.h
+++ b/libc/src/pthread/pthread_condattr_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_condattr_setclock.cpp b/libc/src/pthread/pthread_condattr_setclock.cpp
index cad252ab186b6..5c0144523f93e 100644
--- a/libc/src/pthread/pthread_condattr_setclock.cpp
+++ b/libc/src/pthread/pthread_condattr_setclock.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_setclock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>     // EINVAL
 #include <pthread.h>   // pthread_condattr_t
diff --git a/libc/src/pthread/pthread_condattr_setclock.h b/libc/src/pthread/pthread_condattr_setclock.h
index 2f8240aedca99..e9fd77a2d5d5a 100644
--- a/libc/src/pthread/pthread_condattr_setclock.h
+++ b/libc/src/pthread/pthread_condattr_setclock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETCLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETCLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 #include <sys/types.h> // clockid_t
 
diff --git a/libc/src/pthread/pthread_condattr_setpshared.cpp b/libc/src/pthread/pthread_condattr_setpshared.cpp
index 7b076b90d3fee..536aeadac5d44 100644
--- a/libc/src/pthread/pthread_condattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_condattr_setpshared.cpp
@@ -9,6 +9,7 @@
 #include "pthread_condattr_setpshared.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h> // EINVAL
 #include <pthread.h> // pthread_condattr_t, PTHREAD_PROCESS_SHARED, PTHREAD_PROCESS_PRIVATE
diff --git a/libc/src/pthread/pthread_condattr_setpshared.h b/libc/src/pthread/pthread_condattr_setpshared.h
index c9d9883ee7411..7a55466660563 100644
--- a/libc/src/pthread/pthread_condattr_setpshared.h
+++ b/libc/src/pthread/pthread_condattr_setpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETPSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CONDATTR_SETPSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_create.cpp b/libc/src/pthread/pthread_create.cpp
index 735912a33e57f..1fb4b50109401 100644
--- a/libc/src/pthread/pthread_create.cpp
+++ b/libc/src/pthread/pthread_create.cpp
@@ -16,6 +16,7 @@
 #include "pthread_attr_getstack.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/threads/thread.h"
 
diff --git a/libc/src/pthread/pthread_create.h b/libc/src/pthread/pthread_create.h
index f073daf28e1b0..d6c3c9c2b211c 100644
--- a/libc/src/pthread/pthread_create.h
+++ b/libc/src/pthread/pthread_create.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_CREATE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_CREATE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_detach.cpp b/libc/src/pthread/pthread_detach.cpp
index 64bea6078ec44..b3c96678de536 100644
--- a/libc/src/pthread/pthread_detach.cpp
+++ b/libc/src/pthread/pthread_detach.cpp
@@ -9,6 +9,7 @@
 #include "pthread_detach.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h> // For pthread_* type definitions.
diff --git a/libc/src/pthread/pthread_detach.h b/libc/src/pthread/pthread_detach.h
index 5b4a708bd3c7e..471a3581a22ca 100644
--- a/libc/src/pthread/pthread_detach.h
+++ b/libc/src/pthread/pthread_detach.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_DETACH_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_DETACH_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_equal.cpp b/libc/src/pthread/pthread_equal.cpp
index e2d61b5c0d3bf..7d2873897f8d9 100644
--- a/libc/src/pthread/pthread_equal.cpp
+++ b/libc/src/pthread/pthread_equal.cpp
@@ -9,6 +9,7 @@
 #include "pthread_equal.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h> // For pthread_* type definitions.
diff --git a/libc/src/pthread/pthread_equal.h b/libc/src/pthread/pthread_equal.h
index cb3816f0befa8..a64990a4bb7ce 100644
--- a/libc/src/pthread/pthread_equal.h
+++ b/libc/src/pthread/pthread_equal.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_EQUAL_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_EQUAL_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_exit.cpp b/libc/src/pthread/pthread_exit.cpp
index df0142515f283..7e3bbee8b20e6 100644
--- a/libc/src/pthread/pthread_exit.cpp
+++ b/libc/src/pthread/pthread_exit.cpp
@@ -9,6 +9,7 @@
 #include "pthread_exit.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h> // For pthread_* type definitions.
diff --git a/libc/src/pthread/pthread_exit.h b/libc/src/pthread/pthread_exit.h
index 9a1b6bfb95229..9aa9e0a0b16e5 100644
--- a/libc/src/pthread/pthread_exit.h
+++ b/libc/src/pthread/pthread_exit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_EXIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_EXIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_getname_np.cpp b/libc/src/pthread/pthread_getname_np.cpp
index e3ac2f7a68f0c..8df3ae2458621 100644
--- a/libc/src/pthread/pthread_getname_np.cpp
+++ b/libc/src/pthread/pthread_getname_np.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/stringstream.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_getname_np.h b/libc/src/pthread/pthread_getname_np.h
index 360cf0aa6c022..417bc2263c383 100644
--- a/libc/src/pthread/pthread_getname_np.h
+++ b/libc/src/pthread/pthread_getname_np.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETNAME_NP_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETNAME_NP_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 #include <stddef.h>
 
diff --git a/libc/src/pthread/pthread_getspecific.cpp b/libc/src/pthread/pthread_getspecific.cpp
index b851588453ac2..eddc026db62e1 100644
--- a/libc/src/pthread/pthread_getspecific.cpp
+++ b/libc/src/pthread/pthread_getspecific.cpp
@@ -9,6 +9,7 @@
 #include "pthread_getspecific.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_getspecific.h b/libc/src/pthread/pthread_getspecific.h
index 6e5923911b61f..f4914886f1432 100644
--- a/libc/src/pthread/pthread_getspecific.h
+++ b/libc/src/pthread/pthread_getspecific.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETSPECIFIC_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_GETSPECIFIC_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 #include <stddef.h>
 
diff --git a/libc/src/pthread/pthread_join.cpp b/libc/src/pthread/pthread_join.cpp
index 74e7fa9319ced..78f99655e501e 100644
--- a/libc/src/pthread/pthread_join.cpp
+++ b/libc/src/pthread/pthread_join.cpp
@@ -9,6 +9,7 @@
 #include "pthread_join.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h> // For pthread_* type definitions.
diff --git a/libc/src/pthread/pthread_join.h b/libc/src/pthread/pthread_join.h
index 4d446bdbd73f7..e430ec3c4db0b 100644
--- a/libc/src/pthread/pthread_join.h
+++ b/libc/src/pthread/pthread_join.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_JOIN_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_JOIN_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_key_create.cpp b/libc/src/pthread/pthread_key_create.cpp
index b11f0f8ba90ad..0583baca22f4d 100644
--- a/libc/src/pthread/pthread_key_create.cpp
+++ b/libc/src/pthread/pthread_key_create.cpp
@@ -9,6 +9,7 @@
 #include "pthread_key_create.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_key_create.h b/libc/src/pthread/pthread_key_create.h
index 66ef81c789e14..23a861cd878e7 100644
--- a/libc/src/pthread/pthread_key_create.h
+++ b/libc/src/pthread/pthread_key_create.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_CREATE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_CREATE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_key_delete.cpp b/libc/src/pthread/pthread_key_delete.cpp
index 5bc007dd91ad4..20484fa9bdf82 100644
--- a/libc/src/pthread/pthread_key_delete.cpp
+++ b/libc/src/pthread/pthread_key_delete.cpp
@@ -9,6 +9,7 @@
 #include "pthread_key_delete.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_key_delete.h b/libc/src/pthread/pthread_key_delete.h
index d4138f91ce5c7..62572eeda3860 100644
--- a/libc/src/pthread/pthread_key_delete.h
+++ b/libc/src/pthread/pthread_key_delete.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_DELETE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_KEY_DELETE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutex_destroy.cpp b/libc/src/pthread/pthread_mutex_destroy.cpp
index 4071bb7f8dba7..4603ebed394ad 100644
--- a/libc/src/pthread/pthread_mutex_destroy.cpp
+++ b/libc/src/pthread/pthread_mutex_destroy.cpp
@@ -9,6 +9,7 @@
 #include "pthread_mutex_destroy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutex_destroy.h b/libc/src/pthread/pthread_mutex_destroy.h
index 9ba37885efb22..ebbed187d5c16 100644
--- a/libc/src/pthread/pthread_mutex_destroy.h
+++ b/libc/src/pthread/pthread_mutex_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutex_init.cpp b/libc/src/pthread/pthread_mutex_init.cpp
index 33f4ffc911514..0281f732473d9 100644
--- a/libc/src/pthread/pthread_mutex_init.cpp
+++ b/libc/src/pthread/pthread_mutex_init.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_mutex_init.h b/libc/src/pthread/pthread_mutex_init.h
index d9302b5a28a0d..8e3ba60303ec6 100644
--- a/libc/src/pthread/pthread_mutex_init.h
+++ b/libc/src/pthread/pthread_mutex_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutex_lock.cpp b/libc/src/pthread/pthread_mutex_lock.cpp
index 708fb413fc78b..1537454873c12 100644
--- a/libc/src/pthread/pthread_mutex_lock.cpp
+++ b/libc/src/pthread/pthread_mutex_lock.cpp
@@ -9,6 +9,7 @@
 #include "pthread_mutex_lock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutex_lock.h b/libc/src/pthread/pthread_mutex_lock.h
index 8441dbe58401c..a83ae2cb334b4 100644
--- a/libc/src/pthread/pthread_mutex_lock.h
+++ b/libc/src/pthread/pthread_mutex_lock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_LOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_LOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutex_unlock.cpp b/libc/src/pthread/pthread_mutex_unlock.cpp
index 37fdedc42a292..de4d2cbe9efb5 100644
--- a/libc/src/pthread/pthread_mutex_unlock.cpp
+++ b/libc/src/pthread/pthread_mutex_unlock.cpp
@@ -9,6 +9,7 @@
 #include "pthread_mutex_unlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutex_unlock.h b/libc/src/pthread/pthread_mutex_unlock.h
index 3fa3fa8f32eec..a3d661a06c4be 100644
--- a/libc/src/pthread/pthread_mutex_unlock.h
+++ b/libc/src/pthread/pthread_mutex_unlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_UNLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEX_UNLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr.h b/libc/src/pthread/pthread_mutexattr.h
index 57a0e01eecdf0..be719b9d14997 100644
--- a/libc/src/pthread/pthread_mutexattr.h
+++ b/libc/src/pthread/pthread_mutexattr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h>
 
diff --git a/libc/src/pthread/pthread_mutexattr_destroy.cpp b/libc/src/pthread/pthread_mutexattr_destroy.cpp
index ece8d6f22266e..3b2551afd11b5 100644
--- a/libc/src/pthread/pthread_mutexattr_destroy.cpp
+++ b/libc/src/pthread/pthread_mutexattr_destroy.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 
diff --git a/libc/src/pthread/pthread_mutexattr_destroy.h b/libc/src/pthread/pthread_mutexattr_destroy.h
index b02b49fe25466..815145a0199e8 100644
--- a/libc/src/pthread/pthread_mutexattr_destroy.h
+++ b/libc/src/pthread/pthread_mutexattr_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_getpshared.cpp b/libc/src/pthread/pthread_mutexattr_getpshared.cpp
index cd775ec5e82d7..2d83a5229e9ec 100644
--- a/libc/src/pthread/pthread_mutexattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_mutexattr_getpshared.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 
diff --git a/libc/src/pthread/pthread_mutexattr_getpshared.h b/libc/src/pthread/pthread_mutexattr_getpshared.h
index 564c5669fb8d7..31b204acf036f 100644
--- a/libc/src/pthread/pthread_mutexattr_getpshared.h
+++ b/libc/src/pthread/pthread_mutexattr_getpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETPSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETPSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_getrobust.cpp b/libc/src/pthread/pthread_mutexattr_getrobust.cpp
index 547dfbf4d5cd2..508b502a58008 100644
--- a/libc/src/pthread/pthread_mutexattr_getrobust.cpp
+++ b/libc/src/pthread/pthread_mutexattr_getrobust.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 
diff --git a/libc/src/pthread/pthread_mutexattr_getrobust.h b/libc/src/pthread/pthread_mutexattr_getrobust.h
index a10eaf2685a81..c968f540e2060 100644
--- a/libc/src/pthread/pthread_mutexattr_getrobust.h
+++ b/libc/src/pthread/pthread_mutexattr_getrobust.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETROBUST_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETROBUST_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_gettype.cpp b/libc/src/pthread/pthread_mutexattr_gettype.cpp
index 7662224e2fc47..3747bf5ce73e9 100644
--- a/libc/src/pthread/pthread_mutexattr_gettype.cpp
+++ b/libc/src/pthread/pthread_mutexattr_gettype.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 
diff --git a/libc/src/pthread/pthread_mutexattr_gettype.h b/libc/src/pthread/pthread_mutexattr_gettype.h
index 0e2d8c3a203a8..67562b371c377 100644
--- a/libc/src/pthread/pthread_mutexattr_gettype.h
+++ b/libc/src/pthread/pthread_mutexattr_gettype.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETTYPE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_GETTYPE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_init.cpp b/libc/src/pthread/pthread_mutexattr_init.cpp
index 1cadc62d6ed82..7f0ce0b60f535 100644
--- a/libc/src/pthread/pthread_mutexattr_init.cpp
+++ b/libc/src/pthread/pthread_mutexattr_init.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/pthread/pthread_mutexattr_init.h b/libc/src/pthread/pthread_mutexattr_init.h
index 5549dd6a9d38c..fdcd3471e6f28 100644
--- a/libc/src/pthread/pthread_mutexattr_init.h
+++ b/libc/src/pthread/pthread_mutexattr_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_setpshared.cpp b/libc/src/pthread/pthread_mutexattr_setpshared.cpp
index 29120fa4e108b..b290de764c91b 100644
--- a/libc/src/pthread/pthread_mutexattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_mutexattr_setpshared.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutexattr_setpshared.h b/libc/src/pthread/pthread_mutexattr_setpshared.h
index 295b4e7a87ac4..6a04cd9ae433a 100644
--- a/libc/src/pthread/pthread_mutexattr_setpshared.h
+++ b/libc/src/pthread/pthread_mutexattr_setpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETPSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETPSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_setrobust.cpp b/libc/src/pthread/pthread_mutexattr_setrobust.cpp
index 2ac32dfa4954a..e572827486c07 100644
--- a/libc/src/pthread/pthread_mutexattr_setrobust.cpp
+++ b/libc/src/pthread/pthread_mutexattr_setrobust.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutexattr_setrobust.h b/libc/src/pthread/pthread_mutexattr_setrobust.h
index 4ac789097f7b6..62f0d052cb389 100644
--- a/libc/src/pthread/pthread_mutexattr_setrobust.h
+++ b/libc/src/pthread/pthread_mutexattr_setrobust.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETROBUST_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETROBUST_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_mutexattr_settype.cpp b/libc/src/pthread/pthread_mutexattr_settype.cpp
index 0ed48ca19825a..27e8ff859ba34 100644
--- a/libc/src/pthread/pthread_mutexattr_settype.cpp
+++ b/libc/src/pthread/pthread_mutexattr_settype.cpp
@@ -10,6 +10,7 @@
 #include "pthread_mutexattr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_mutexattr_settype.h b/libc/src/pthread/pthread_mutexattr_settype.h
index 4cf29c7606bde..1507919c164d6 100644
--- a/libc/src/pthread/pthread_mutexattr_settype.h
+++ b/libc/src/pthread/pthread_mutexattr_settype.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETTYPE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_MUTEXATTR_SETTYPE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_once.cpp b/libc/src/pthread/pthread_once.cpp
index a9ab275a2b3db..d78644a8dab26 100644
--- a/libc/src/pthread/pthread_once.cpp
+++ b/libc/src/pthread/pthread_once.cpp
@@ -8,6 +8,7 @@
 
 #include "pthread_once.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/callonce.h"
 
 #include <pthread.h> // For pthread_once_t and __pthread_once_func_t definitions.
diff --git a/libc/src/pthread/pthread_once.h b/libc/src/pthread/pthread_once.h
index 2d08792a304c7..0e9af00a37d20 100644
--- a/libc/src/pthread/pthread_once.h
+++ b/libc/src/pthread/pthread_once.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_ONCE_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_ONCE_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_destroy.cpp b/libc/src/pthread/pthread_rwlock_destroy.cpp
index b3abd8d5885c7..345076aae4348 100644
--- a/libc/src/pthread/pthread_rwlock_destroy.cpp
+++ b/libc/src/pthread/pthread_rwlock_destroy.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_destroy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_destroy.h b/libc/src/pthread/pthread_rwlock_destroy.h
index c89da3fd6e571..892a049689343 100644
--- a/libc/src/pthread/pthread_rwlock_destroy.h
+++ b/libc/src/pthread/pthread_rwlock_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_init.cpp b/libc/src/pthread/pthread_rwlock_init.cpp
index 0680cc55d93f2..d1a31625d0dab 100644
--- a/libc/src/pthread/pthread_rwlock_init.cpp
+++ b/libc/src/pthread/pthread_rwlock_init.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/new.h"
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_init.h b/libc/src/pthread/pthread_rwlock_init.h
index 6790b5f4fdcc1..dbd64436fb500 100644
--- a/libc/src/pthread/pthread_rwlock_init.h
+++ b/libc/src/pthread/pthread_rwlock_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_rdlock.cpp b/libc/src/pthread/pthread_rwlock_rdlock.cpp
index a65edc066dad3..16d82301c54a9 100644
--- a/libc/src/pthread/pthread_rwlock_rdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_rdlock.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_rdlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_rdlock.h b/libc/src/pthread/pthread_rwlock_rdlock.h
index ab0eac374a9a0..f5c0c26c6ff89 100644
--- a/libc/src/pthread/pthread_rwlock_rdlock.h
+++ b/libc/src/pthread/pthread_rwlock_rdlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_RDLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_RDLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_timedrdlock.cpp b/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
index 3dbdd0958ec01..905541014a4a4 100644
--- a/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_timedrdlock.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/threads/linux/rwlock.h"
 #include "src/__support/time/linux/abs_timeout.h"
diff --git a/libc/src/pthread/pthread_rwlock_timedrdlock.h b/libc/src/pthread/pthread_rwlock_timedrdlock.h
index 98b2c080e6842..d6c67dcfd6370 100644
--- a/libc/src/pthread/pthread_rwlock_timedrdlock.h
+++ b/libc/src/pthread/pthread_rwlock_timedrdlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDRDLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDRDLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_timedwrlock.cpp b/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
index 9bde99414d4a9..f77ac40f22b89 100644
--- a/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_timedwrlock.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/threads/linux/rwlock.h"
 #include "src/__support/time/linux/abs_timeout.h"
diff --git a/libc/src/pthread/pthread_rwlock_timedwrlock.h b/libc/src/pthread/pthread_rwlock_timedwrlock.h
index 15fa7d103521b..995d80c2f5734 100644
--- a/libc/src/pthread/pthread_rwlock_timedwrlock.h
+++ b/libc/src/pthread/pthread_rwlock_timedwrlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDWRLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TIMEDWRLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_tryrdlock.cpp b/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
index 76ea5b080e7b8..da59a576b8274 100644
--- a/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_tryrdlock.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_tryrdlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_tryrdlock.h b/libc/src/pthread/pthread_rwlock_tryrdlock.h
index 5a582e809c326..10ef7afbc160e 100644
--- a/libc/src/pthread/pthread_rwlock_tryrdlock.h
+++ b/libc/src/pthread/pthread_rwlock_tryrdlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYRDLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYRDLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_trywrlock.cpp b/libc/src/pthread/pthread_rwlock_trywrlock.cpp
index 602ca8239f610..ccd1bd49c402c 100644
--- a/libc/src/pthread/pthread_rwlock_trywrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_trywrlock.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_trywrlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_trywrlock.h b/libc/src/pthread/pthread_rwlock_trywrlock.h
index 760f44821b21d..df185b087ce6f 100644
--- a/libc/src/pthread/pthread_rwlock_trywrlock.h
+++ b/libc/src/pthread/pthread_rwlock_trywrlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYWRLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_TRYWRLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_unlock.cpp b/libc/src/pthread/pthread_rwlock_unlock.cpp
index 0b64af70e6ed1..77c50a8e65fdf 100644
--- a/libc/src/pthread/pthread_rwlock_unlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_unlock.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_unlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_unlock.h b/libc/src/pthread/pthread_rwlock_unlock.h
index b9543e81f83f0..d416f8d32f9f0 100644
--- a/libc/src/pthread/pthread_rwlock_unlock.h
+++ b/libc/src/pthread/pthread_rwlock_unlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_UNLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_UNLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlock_wrlock.cpp b/libc/src/pthread/pthread_rwlock_wrlock.cpp
index ee7f779c0e1ac..c2561c81f4bd0 100644
--- a/libc/src/pthread/pthread_rwlock_wrlock.cpp
+++ b/libc/src/pthread/pthread_rwlock_wrlock.cpp
@@ -9,6 +9,7 @@
 #include "src/pthread/pthread_rwlock_wrlock.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/rwlock.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_rwlock_wrlock.h b/libc/src/pthread/pthread_rwlock_wrlock.h
index 4d95b444a6aa9..662c3478baf07 100644
--- a/libc/src/pthread/pthread_rwlock_wrlock.h
+++ b/libc/src/pthread/pthread_rwlock_wrlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_WRLOCK_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCK_WRLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_destroy.cpp b/libc/src/pthread/pthread_rwlockattr_destroy.cpp
index 223db17b3a6fe..b86cd1188fe29 100644
--- a/libc/src/pthread/pthread_rwlockattr_destroy.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_destroy.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_destroy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h> // pthread_rwlockattr_t
 
diff --git a/libc/src/pthread/pthread_rwlockattr_destroy.h b/libc/src/pthread/pthread_rwlockattr_destroy.h
index 43bda2b26eca7..1de3d9ef58867 100644
--- a/libc/src/pthread/pthread_rwlockattr_destroy.h
+++ b/libc/src/pthread/pthread_rwlockattr_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_DESTROY_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp b/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
index abe63af33c3de..9c034cf50b3bf 100644
--- a/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_getkind_np.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h> // pthread_rwlockattr_t
 
diff --git a/libc/src/pthread/pthread_rwlockattr_getkind_np.h b/libc/src/pthread/pthread_rwlockattr_getkind_np.h
index 34f2909391b78..5feeeb265f96f 100644
--- a/libc/src/pthread/pthread_rwlockattr_getkind_np.h
+++ b/libc/src/pthread/pthread_rwlockattr_getkind_np.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETKIND_NP_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETKIND_NP_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_getpshared.cpp b/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
index 14157c435e314..0943e3374ed00 100644
--- a/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_getpshared.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_getpshared.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h> // pthread_rwlockattr_t
 
diff --git a/libc/src/pthread/pthread_rwlockattr_getpshared.h b/libc/src/pthread/pthread_rwlockattr_getpshared.h
index 077e4e3033164..77fd767594b81 100644
--- a/libc/src/pthread/pthread_rwlockattr_getpshared.h
+++ b/libc/src/pthread/pthread_rwlockattr_getpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETPSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_GETPSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_init.cpp b/libc/src/pthread/pthread_rwlockattr_init.cpp
index 48f669c51e765..3ff1041d11c87 100644
--- a/libc/src/pthread/pthread_rwlockattr_init.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_init.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_init.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <pthread.h> // pthread_rwlockattr_t, PTHREAD_PROCESS_PRIVATE
 
diff --git a/libc/src/pthread/pthread_rwlockattr_init.h b/libc/src/pthread/pthread_rwlockattr_init.h
index 1dd2419854dbf..c2e525fcf0388 100644
--- a/libc/src/pthread/pthread_rwlockattr_init.h
+++ b/libc/src/pthread/pthread_rwlockattr_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_INIT_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp b/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
index 9fb9563a53a27..45dbb05c7ab89 100644
--- a/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_setkind_np.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <pthread.h> // pthread_rwlockattr_t
diff --git a/libc/src/pthread/pthread_rwlockattr_setkind_np.h b/libc/src/pthread/pthread_rwlockattr_setkind_np.h
index 6222b4193439f..cea5566f9f865 100644
--- a/libc/src/pthread/pthread_rwlockattr_setkind_np.h
+++ b/libc/src/pthread/pthread_rwlockattr_setkind_np.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETKIND_NP_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETKIND_NP_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_rwlockattr_setpshared.cpp b/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
index de400f1f304df..8088b68fdf33f 100644
--- a/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
+++ b/libc/src/pthread/pthread_rwlockattr_setpshared.cpp
@@ -9,6 +9,7 @@
 #include "pthread_rwlockattr_setpshared.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h> // EINVAL
 #include <pthread.h> // pthread_rwlockattr_t, PTHREAD_PROCESS_SHARED, PTHREAD_PROCESS_PRIVATE
diff --git a/libc/src/pthread/pthread_rwlockattr_setpshared.h b/libc/src/pthread/pthread_rwlockattr_setpshared.h
index 0d4bd2788ad93..69058655453c4 100644
--- a/libc/src/pthread/pthread_rwlockattr_setpshared.h
+++ b/libc/src/pthread/pthread_rwlockattr_setpshared.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETPSHARED_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_RWLOCKATTR_SETPSHARED_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_self.cpp b/libc/src/pthread/pthread_self.cpp
index 23e7c2b5eeaf3..c3169ec1ca5c4 100644
--- a/libc/src/pthread/pthread_self.cpp
+++ b/libc/src/pthread/pthread_self.cpp
@@ -9,6 +9,7 @@
 #include "pthread_self.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h> // For pthread_* type definitions.
diff --git a/libc/src/pthread/pthread_self.h b/libc/src/pthread/pthread_self.h
index fc4e472f9c60c..4edb5661b79e2 100644
--- a/libc/src/pthread/pthread_self.h
+++ b/libc/src/pthread/pthread_self.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_SELF_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_SELF_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_setname_np.cpp b/libc/src/pthread/pthread_setname_np.cpp
index a9ab560664fb3..785a96a09df02 100644
--- a/libc/src/pthread/pthread_setname_np.cpp
+++ b/libc/src/pthread/pthread_setname_np.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <pthread.h>
diff --git a/libc/src/pthread/pthread_setname_np.h b/libc/src/pthread/pthread_setname_np.h
index 1ae7717ef4a04..6dc6bfb9d30a3 100644
--- a/libc/src/pthread/pthread_setname_np.h
+++ b/libc/src/pthread/pthread_setname_np.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETNAME_NP_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETNAME_NP_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/pthread/pthread_setspecific.cpp b/libc/src/pthread/pthread_setspecific.cpp
index 15a1f4f65c113..5587a2d937abb 100644
--- a/libc/src/pthread/pthread_setspecific.cpp
+++ b/libc/src/pthread/pthread_setspecific.cpp
@@ -9,6 +9,7 @@
 #include "pthread_setspecific.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <errno.h>
diff --git a/libc/src/pthread/pthread_setspecific.h b/libc/src/pthread/pthread_setspecific.h
index 7813aab6e99e7..2a85968ba7b5b 100644
--- a/libc/src/pthread/pthread_setspecific.h
+++ b/libc/src/pthread/pthread_setspecific.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETSPECIFIC_H
 #define LLVM_LIBC_SRC_PTHREAD_PTHREAD_SETSPECIFIC_H
 
+#include "src/__support/macros/config.h"
 #include <pthread.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/linux/sched_get_priority_max.cpp b/libc/src/sched/linux/sched_get_priority_max.cpp
index e24ec33150e69..77a82c77405f3 100644
--- a/libc/src/sched/linux/sched_get_priority_max.cpp
+++ b/libc/src/sched/linux/sched_get_priority_max.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_get_priority_min.cpp b/libc/src/sched/linux/sched_get_priority_min.cpp
index def02a2834485..fca66a15edb55 100644
--- a/libc/src/sched/linux/sched_get_priority_min.cpp
+++ b/libc/src/sched/linux/sched_get_priority_min.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_getaffinity.cpp b/libc/src/sched/linux/sched_getaffinity.cpp
index 3161a69102096..7b1fd8c5aa2af 100644
--- a/libc/src/sched/linux/sched_getaffinity.cpp
+++ b/libc/src/sched/linux/sched_getaffinity.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sched.h>
diff --git a/libc/src/sched/linux/sched_getcpucount.cpp b/libc/src/sched/linux/sched_getcpucount.cpp
index a5005346b072d..dbda4b2c789ad 100644
--- a/libc/src/sched/linux/sched_getcpucount.cpp
+++ b/libc/src/sched/linux/sched_getcpucount.cpp
@@ -9,6 +9,7 @@
 #include "src/sched/sched_getcpucount.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sched.h>
 #include <stddef.h>
diff --git a/libc/src/sched/linux/sched_getparam.cpp b/libc/src/sched/linux/sched_getparam.cpp
index bb574905d4291..75756a65f0ede 100644
--- a/libc/src/sched/linux/sched_getparam.cpp
+++ b/libc/src/sched/linux/sched_getparam.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_getscheduler.cpp b/libc/src/sched/linux/sched_getscheduler.cpp
index c269ba3d98d4a..545cda8e7484b 100644
--- a/libc/src/sched/linux/sched_getscheduler.cpp
+++ b/libc/src/sched/linux/sched_getscheduler.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_rr_get_interval.cpp b/libc/src/sched/linux/sched_rr_get_interval.cpp
index 1fae756c0579e..1f0ef69dfc893 100644
--- a/libc/src/sched/linux/sched_rr_get_interval.cpp
+++ b/libc/src/sched/linux/sched_rr_get_interval.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_setaffinity.cpp b/libc/src/sched/linux/sched_setaffinity.cpp
index 095f8fae2acd0..cad48c26bf938 100644
--- a/libc/src/sched/linux/sched_setaffinity.cpp
+++ b/libc/src/sched/linux/sched_setaffinity.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sched.h>
diff --git a/libc/src/sched/linux/sched_setparam.cpp b/libc/src/sched/linux/sched_setparam.cpp
index b60e69e7ac777..e78e78a707e05 100644
--- a/libc/src/sched/linux/sched_setparam.cpp
+++ b/libc/src/sched/linux/sched_setparam.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_setscheduler.cpp b/libc/src/sched/linux/sched_setscheduler.cpp
index dfbcea01a334f..b6b6f667b3f9e 100644
--- a/libc/src/sched/linux/sched_setscheduler.cpp
+++ b/libc/src/sched/linux/sched_setscheduler.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/linux/sched_yield.cpp b/libc/src/sched/linux/sched_yield.cpp
index d3aab41655062..3de9d0ba35717 100644
--- a/libc/src/sched/linux/sched_yield.cpp
+++ b/libc/src/sched/linux/sched_yield.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sched/sched_get_priority_max.h b/libc/src/sched/sched_get_priority_max.h
index 16ac944f777f4..e37bec723b847 100644
--- a/libc/src/sched/sched_get_priority_max.h
+++ b/libc/src/sched/sched_get_priority_max.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MAX_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MAX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int sched_get_priority_max(int policy);
diff --git a/libc/src/sched/sched_get_priority_min.h b/libc/src/sched/sched_get_priority_min.h
index 867fea07ccbb9..691d8482e1c7a 100644
--- a/libc/src/sched/sched_get_priority_min.h
+++ b/libc/src/sched/sched_get_priority_min.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MIN_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GET_PRIORITY_MIN_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int sched_get_priority_min(int policy);
diff --git a/libc/src/sched/sched_getaffinity.h b/libc/src/sched/sched_getaffinity.h
index bb0bb356fec97..52ec5bca6b22a 100644
--- a/libc/src/sched/sched_getaffinity.h
+++ b/libc/src/sched/sched_getaffinity.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GETAFFINITY_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getcpucount.h b/libc/src/sched/sched_getcpucount.h
index d1a342f585137..8f35301ca6c0d 100644
--- a/libc/src/sched/sched_getcpucount.h
+++ b/libc/src/sched/sched_getcpucount.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GETCPUCOUNT_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 #include <stddef.h>
 
diff --git a/libc/src/sched/sched_getparam.h b/libc/src/sched/sched_getparam.h
index dffa454c2d919..e1b23656d5859 100644
--- a/libc/src/sched/sched_getparam.h
+++ b/libc/src/sched/sched_getparam.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GETPARAM_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_getscheduler.h b/libc/src/sched/sched_getscheduler.h
index 81f64d7381410..d29e902180ea8 100644
--- a/libc/src/sched/sched_getscheduler.h
+++ b/libc/src/sched/sched_getscheduler.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_GETSCHEDULER_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_rr_get_interval.h b/libc/src/sched/sched_rr_get_interval.h
index a80e3c6ae263a..ff093298a3bb3 100644
--- a/libc/src/sched/sched_rr_get_interval.h
+++ b/libc/src/sched/sched_rr_get_interval.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_RR_GET_INTERVAL_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setaffinity.h b/libc/src/sched/sched_setaffinity.h
index 165dd4fed60a5..cb2303dd813e2 100644
--- a/libc/src/sched/sched_setaffinity.h
+++ b/libc/src/sched/sched_setaffinity.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_SETAFFINITY_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setparam.h b/libc/src/sched/sched_setparam.h
index 04e96171834d9..e4691a7912000 100644
--- a/libc/src/sched/sched_setparam.h
+++ b/libc/src/sched/sched_setparam.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_SETPARAM_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_setscheduler.h b/libc/src/sched/sched_setscheduler.h
index c6c1724a53065..e745002c0d961 100644
--- a/libc/src/sched/sched_setscheduler.h
+++ b/libc/src/sched/sched_setscheduler.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_SETSCHEDULER_H
 
+#include "src/__support/macros/config.h"
 #include <sched.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sched/sched_yield.h b/libc/src/sched/sched_yield.h
index 43115bd6e7203..c48fdd765e06d 100644
--- a/libc/src/sched/sched_yield.h
+++ b/libc/src/sched/sched_yield.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SCHED_SCHED_YIELD_H
 #define LLVM_LIBC_SRC_SCHED_SCHED_YIELD_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int sched_yield(void);
diff --git a/libc/src/search/hcreate.cpp b/libc/src/search/hcreate.cpp
index d0d770731c500..ac816a902e221 100644
--- a/libc/src/search/hcreate.cpp
+++ b/libc/src/search/hcreate.cpp
@@ -9,6 +9,7 @@
 #include "src/search/hcreate.h"
 #include "src/__support/HashTable/randomness.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/search/hsearch/global.h"
 
diff --git a/libc/src/search/hcreate.h b/libc/src/search/hcreate.h
index 838dc07f65cbb..2f5a9c71b1a54 100644
--- a/libc/src/search/hcreate.h
+++ b/libc/src/search/hcreate.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HCREATE_H
 #define LLVM_LIBC_SRC_SEARCH_HCREATE_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hcreate_r.cpp b/libc/src/search/hcreate_r.cpp
index 5d07e8ec09516..17acd808c19a6 100644
--- a/libc/src/search/hcreate_r.cpp
+++ b/libc/src/search/hcreate_r.cpp
@@ -9,6 +9,7 @@
 #include "src/search/hcreate_r.h"
 #include "src/__support/HashTable/randomness.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hcreate_r.h b/libc/src/search/hcreate_r.h
index 4d181f32c76fe..9606077b3e830 100644
--- a/libc/src/search/hcreate_r.h
+++ b/libc/src/search/hcreate_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HCREATE_R_H
 #define LLVM_LIBC_SRC_SEARCH_HCREATE_R_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hdestroy.cpp b/libc/src/search/hdestroy.cpp
index f5984ac728e9c..c794b2a1ccb9c 100644
--- a/libc/src/search/hdestroy.cpp
+++ b/libc/src/search/hdestroy.cpp
@@ -8,6 +8,7 @@
 
 #include "src/search/hdestroy.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/search/hsearch/global.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hdestroy.h b/libc/src/search/hdestroy.h
index 49a3b439e0762..c2b9a876c38f3 100644
--- a/libc/src/search/hdestroy.h
+++ b/libc/src/search/hdestroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HDESTROY_H
 #define LLVM_LIBC_SRC_SEARCH_HDESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hdestroy_r.cpp b/libc/src/search/hdestroy_r.cpp
index 1ee0556188274..7eff5bb6fff9d 100644
--- a/libc/src/search/hdestroy_r.cpp
+++ b/libc/src/search/hdestroy_r.cpp
@@ -8,6 +8,7 @@
 
 #include "src/search/hdestroy_r.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hdestroy_r.h b/libc/src/search/hdestroy_r.h
index 8c5a9eb13848d..c9a4ddf018f38 100644
--- a/libc/src/search/hdestroy_r.h
+++ b/libc/src/search/hdestroy_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HDESTROY_R_H
 #define LLVM_LIBC_SRC_SEARCH_HDESTROY_R_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hsearch.cpp b/libc/src/search/hsearch.cpp
index 704f79a28e3ae..c18b5d3d7f547 100644
--- a/libc/src/search/hsearch.cpp
+++ b/libc/src/search/hsearch.cpp
@@ -9,6 +9,7 @@
 #include "src/search/hsearch.h"
 #include "src/__support/HashTable/randomness.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/search/hsearch/global.h"
 
diff --git a/libc/src/search/hsearch.h b/libc/src/search/hsearch.h
index 19aa7e70185ad..4d039850f25d0 100644
--- a/libc/src/search/hsearch.h
+++ b/libc/src/search/hsearch.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_H
 #define LLVM_LIBC_SRC_SEARCH_HSEARCH_H
 
+#include "src/__support/macros/config.h"
 #include <search.h> // ENTRY, ACTION
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hsearch/global.cpp b/libc/src/search/hsearch/global.cpp
index 1dc84cbd67bd5..8dc64a05a1490 100644
--- a/libc/src/search/hsearch/global.cpp
+++ b/libc/src/search/hsearch/global.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 struct HashTable *global_hash_table = nullptr;
diff --git a/libc/src/search/hsearch/global.h b/libc/src/search/hsearch/global.h
index 440db108f3a46..2ca532c167007 100644
--- a/libc/src/search/hsearch/global.h
+++ b/libc/src/search/hsearch/global.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_GLOBAL_H
 #define LLVM_LIBC_SRC_SEARCH_HSEARCH_GLOBAL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
 extern struct HashTable *global_hash_table;
diff --git a/libc/src/search/hsearch_r.cpp b/libc/src/search/hsearch_r.cpp
index 1249e3ec0100f..f93e608a190b1 100644
--- a/libc/src/search/hsearch_r.cpp
+++ b/libc/src/search/hsearch_r.cpp
@@ -8,6 +8,7 @@
 
 #include "src/search/hsearch_r.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/hsearch_r.h b/libc/src/search/hsearch_r.h
index 85214c5a738d8..6e9511035f6f2 100644
--- a/libc/src/search/hsearch_r.h
+++ b/libc/src/search/hsearch_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H
 #define LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H
 
+#include "src/__support/macros/config.h"
 #include <search.h> // ENTRY, ACTION
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/insque.cpp b/libc/src/search/insque.cpp
index 9dd04e03e9d7c..61a4171b5ce11 100644
--- a/libc/src/search/insque.cpp
+++ b/libc/src/search/insque.cpp
@@ -9,6 +9,7 @@
 #include "src/search/insque.h"
 #include "src/__support/common.h"
 #include "src/__support/intrusive_list.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/search/insque.h b/libc/src/search/insque.h
index 7802b358437f7..8c6c6b0e37801 100644
--- a/libc/src/search/insque.h
+++ b/libc/src/search/insque.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_INSQUE_H
 #define LLVM_LIBC_SRC_SEARCH_INSQUE_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/search/remque.cpp b/libc/src/search/remque.cpp
index c8b3cc782e0ba..97425dfbb57d9 100644
--- a/libc/src/search/remque.cpp
+++ b/libc/src/search/remque.cpp
@@ -9,6 +9,7 @@
 #include "src/search/remque.h"
 #include "src/__support/common.h"
 #include "src/__support/intrusive_list.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/search/remque.h b/libc/src/search/remque.h
index fbe45f98cf213..d06957978a874 100644
--- a/libc/src/search/remque.h
+++ b/libc/src/search/remque.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SEARCH_REMQUE_H
 #define LLVM_LIBC_SRC_SEARCH_REMQUE_H
 
+#include "src/__support/macros/config.h"
 #include <search.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/setjmp/arm/longjmp.cpp b/libc/src/setjmp/arm/longjmp.cpp
index 60fdb2fc41c38..f36c79df66064 100644
--- a/libc/src/setjmp/arm/longjmp.cpp
+++ b/libc/src/setjmp/arm/longjmp.cpp
@@ -9,6 +9,7 @@
 
 #include "src/setjmp/longjmp.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/setjmp/arm/setjmp.cpp b/libc/src/setjmp/arm/setjmp.cpp
index 341edd7445e36..dc4252a350509 100644
--- a/libc/src/setjmp/arm/setjmp.cpp
+++ b/libc/src/setjmp/arm/setjmp.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/setjmp/setjmp_impl.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/setjmp/longjmp.h b/libc/src/setjmp/longjmp.h
index 165b52658cd2d..29c5c9e1fbc92 100644
--- a/libc/src/setjmp/longjmp.h
+++ b/libc/src/setjmp/longjmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SETJMP_LONGJMP_H
 #define LLVM_LIBC_SRC_SETJMP_LONGJMP_H
 
+#include "src/__support/macros/config.h"
 #include <setjmp.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/setjmp/riscv/longjmp.cpp b/libc/src/setjmp/riscv/longjmp.cpp
index 6c5e633ec0f36..0f9537ccc4151 100644
--- a/libc/src/setjmp/riscv/longjmp.cpp
+++ b/libc/src/setjmp/riscv/longjmp.cpp
@@ -8,6 +8,7 @@
 
 #include "src/setjmp/longjmp.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #include <setjmp.h>
diff --git a/libc/src/setjmp/riscv/setjmp.cpp b/libc/src/setjmp/riscv/setjmp.cpp
index 990c539d59309..12def578b56f3 100644
--- a/libc/src/setjmp/riscv/setjmp.cpp
+++ b/libc/src/setjmp/riscv/setjmp.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/setjmp/setjmp_impl.h"
 
 #include <setjmp.h>
diff --git a/libc/src/setjmp/setjmp_impl.h b/libc/src/setjmp/setjmp_impl.h
index fa24cff60fd1d..50d7a6b44503b 100644
--- a/libc/src/setjmp/setjmp_impl.h
+++ b/libc/src/setjmp/setjmp_impl.h
@@ -11,6 +11,7 @@
 
 // This header has the _impl prefix in its name to avoid conflict with the
 // public header setjmp.h which is also included. here.
+#include "src/__support/macros/config.h"
 #include <setjmp.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/setjmp/x86_64/longjmp.cpp b/libc/src/setjmp/x86_64/longjmp.cpp
index 2a3574ef3f4d3..f479c7bc96c97 100644
--- a/libc/src/setjmp/x86_64/longjmp.cpp
+++ b/libc/src/setjmp/x86_64/longjmp.cpp
@@ -8,6 +8,7 @@
 
 #include "src/setjmp/longjmp.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86_64)
 #error "Invalid file include"
diff --git a/libc/src/setjmp/x86_64/setjmp.cpp b/libc/src/setjmp/x86_64/setjmp.cpp
index ba280c73dae4c..6a1cc7a83936a 100644
--- a/libc/src/setjmp/x86_64/setjmp.cpp
+++ b/libc/src/setjmp/x86_64/setjmp.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/setjmp/setjmp_impl.h"
 
 #if !defined(LIBC_TARGET_ARCH_IS_X86_64)
diff --git a/libc/src/signal/kill.h b/libc/src/signal/kill.h
index 3a7fde3c7a642..46048f2dbe044 100644
--- a/libc/src/signal/kill.h
+++ b/libc/src/signal/kill.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SIGNAL_KILL_H
 #define LLVM_LIBC_SRC_SIGNAL_KILL_H
 
+#include "src/__support/macros/config.h"
 #include <signal.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/linux/__restore.cpp b/libc/src/signal/linux/__restore.cpp
index 6da2f4e5b00b2..d3b4240f3e6ac 100644
--- a/libc/src/signal/linux/__restore.cpp
+++ b/libc/src/signal/linux/__restore.cpp
@@ -11,6 +11,7 @@
 // make any stack allocations so we must ensure this.
 
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h>
 
diff --git a/libc/src/signal/linux/kill.cpp b/libc/src/signal/linux/kill.cpp
index 5af11fa78657d..ed117858f51ef 100644
--- a/libc/src/signal/linux/kill.cpp
+++ b/libc/src/signal/linux/kill.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/raise.cpp b/libc/src/signal/linux/raise.cpp
index a5dd678398f0e..4a8913941db11 100644
--- a/libc/src/signal/linux/raise.cpp
+++ b/libc/src/signal/linux/raise.cpp
@@ -10,6 +10,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/signal/linux/signal_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/linux/sigaction.cpp b/libc/src/signal/linux/sigaction.cpp
index a3013750b6972..65ec36741683c 100644
--- a/libc/src/signal/linux/sigaction.cpp
+++ b/libc/src/signal/linux/sigaction.cpp
@@ -10,6 +10,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/sigaddset.cpp b/libc/src/signal/linux/sigaddset.cpp
index 6d68250d5b04b..628883e13b887 100644
--- a/libc/src/signal/linux/sigaddset.cpp
+++ b/libc/src/signal/linux/sigaddset.cpp
@@ -10,6 +10,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/sigaltstack.cpp b/libc/src/signal/linux/sigaltstack.cpp
index f09835971ecc8..2e142a473fea7 100644
--- a/libc/src/signal/linux/sigaltstack.cpp
+++ b/libc/src/signal/linux/sigaltstack.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/signal/sigaltstack.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/sigdelset.cpp b/libc/src/signal/linux/sigdelset.cpp
index 82a7dd15758c1..2e964051ebde7 100644
--- a/libc/src/signal/linux/sigdelset.cpp
+++ b/libc/src/signal/linux/sigdelset.cpp
@@ -10,6 +10,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/sigemptyset.cpp b/libc/src/signal/linux/sigemptyset.cpp
index 6cdcf9a944e4f..d347477695e6c 100644
--- a/libc/src/signal/linux/sigemptyset.cpp
+++ b/libc/src/signal/linux/sigemptyset.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/signal/sigemptyset.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/sigfillset.cpp b/libc/src/signal/linux/sigfillset.cpp
index 7b9fcdd7dd51a..3e9897a03bb73 100644
--- a/libc/src/signal/linux/sigfillset.cpp
+++ b/libc/src/signal/linux/sigfillset.cpp
@@ -10,6 +10,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/linux/signal.cpp b/libc/src/signal/linux/signal.cpp
index 8bcdd3ccd25d4..241258faf2e81 100644
--- a/libc/src/signal/linux/signal.cpp
+++ b/libc/src/signal/linux/signal.cpp
@@ -9,6 +9,7 @@
 #include "src/signal/signal.h"
 #include "hdr/signal_macros.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/signal/sigaction.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/linux/signal_utils.h b/libc/src/signal/linux/signal_utils.h
index e9c7ef68abe3d..81021276d784c 100644
--- a/libc/src/signal/linux/signal_utils.h
+++ b/libc/src/signal/linux/signal_utils.h
@@ -12,6 +12,7 @@
 #include "hdr/types/sigset_t.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <signal.h> // sigaction
 #include <stddef.h>
diff --git a/libc/src/signal/linux/sigprocmask.cpp b/libc/src/signal/linux/sigprocmask.cpp
index 5c7dcad434449..8838379ae5d30 100644
--- a/libc/src/signal/linux/sigprocmask.cpp
+++ b/libc/src/signal/linux/sigprocmask.cpp
@@ -11,6 +11,7 @@
 #include "hdr/types/sigset_t.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/signal/linux/signal_utils.h"
 
diff --git a/libc/src/signal/raise.h b/libc/src/signal/raise.h
index 0b4e72535cfc3..8e6894c1a9053 100644
--- a/libc/src/signal/raise.h
+++ b/libc/src/signal/raise.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SIGNAL_RAISE_H
 #define LLVM_LIBC_SRC_SIGNAL_RAISE_H
 
+#include "src/__support/macros/config.h"
 #include <signal.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/sigaction.h b/libc/src/signal/sigaction.h
index 253b624a4e780..363be84a1cc2b 100644
--- a/libc/src/signal/sigaction.h
+++ b/libc/src/signal/sigaction.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGACTION_H
 
 #include "hdr/types/struct_sigaction.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/signal/sigaddset.h b/libc/src/signal/sigaddset.h
index 89aeaa22b0d7c..057afaaf08d82 100644
--- a/libc/src/signal/sigaddset.h
+++ b/libc/src/signal/sigaddset.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGADDSET_H
 
 #include "hdr/types/sigset_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/signal/sigaltstack.h b/libc/src/signal/sigaltstack.h
index 90cea76755d4a..fc6ec356e5ef8 100644
--- a/libc/src/signal/sigaltstack.h
+++ b/libc/src/signal/sigaltstack.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SIGNAL_SIGALTSTACK_H
 #define LLVM_LIBC_SRC_SIGNAL_SIGALTSTACK_H
 
+#include "src/__support/macros/config.h"
 #include <signal.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/sigdelset.h b/libc/src/signal/sigdelset.h
index 78436f756eb3e..27f831a8deab0 100644
--- a/libc/src/signal/sigdelset.h
+++ b/libc/src/signal/sigdelset.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGDELSET_H
 
 #include "hdr/types/sigset_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/signal/sigemptyset.h b/libc/src/signal/sigemptyset.h
index 2b6d9b5aa8a18..886537644fe9a 100644
--- a/libc/src/signal/sigemptyset.h
+++ b/libc/src/signal/sigemptyset.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGEMPTYSET_H
 
 #include "hdr/types/sigset_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/signal/sigfillset.h b/libc/src/signal/sigfillset.h
index 790d74880b519..fdd1580979ecb 100644
--- a/libc/src/signal/sigfillset.h
+++ b/libc/src/signal/sigfillset.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGFILLSET_H
 
 #include "hdr/types/sigset_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/signal/signal.h b/libc/src/signal/signal.h
index 4be53082078c8..2037305f8c11e 100644
--- a/libc/src/signal/signal.h
+++ b/libc/src/signal/signal.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SIGNAL_SIGNAL_H
 #define LLVM_LIBC_SRC_SIGNAL_SIGNAL_H
 
+#include "src/__support/macros/config.h"
 #include <signal.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/signal/sigprocmask.h b/libc/src/signal/sigprocmask.h
index ea5ee9220cd96..9b12846268eac 100644
--- a/libc/src/signal/sigprocmask.h
+++ b/libc/src/signal/sigprocmask.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SIGNAL_SIGPROCMASK_H
 
 #include "hdr/types/sigset_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/spawn/file_actions.h b/libc/src/spawn/file_actions.h
index 943eddfb71010..80b92959c6a43 100644
--- a/libc/src/spawn/file_actions.h
+++ b/libc/src/spawn/file_actions.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_FILE_ACTIONS_H
 #define LLVM_LIBC_SRC_SPAWN_FILE_ACTIONS_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h> // For mode_t
 #include <stdint.h>
 
diff --git a/libc/src/spawn/linux/posix_spawn.cpp b/libc/src/spawn/linux/posix_spawn.cpp
index 9951a122a9e70..4c0469b3ce384 100644
--- a/libc/src/spawn/linux/posix_spawn.cpp
+++ b/libc/src/spawn/linux/posix_spawn.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/spawn/file_actions.h"
 
 #include <fcntl.h>
diff --git a/libc/src/spawn/posix_spawn.h b/libc/src/spawn/posix_spawn.h
index 64f579324024f..d521c2a53fc85 100644
--- a/libc/src/spawn/posix_spawn.h
+++ b/libc/src/spawn/posix_spawn.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/spawn/posix_spawn_file_actions_addclose.cpp b/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
index a84c2befe9c05..e43af8f665f95 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_addclose.cpp
@@ -11,6 +11,7 @@
 #include "file_actions.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <spawn.h>
diff --git a/libc/src/spawn/posix_spawn_file_actions_addclose.h b/libc/src/spawn/posix_spawn_file_actions_addclose.h
index 04d783b5b6598..8d4c4eda39846 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addclose.h
+++ b/libc/src/spawn/posix_spawn_file_actions_addclose.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp b/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
index dfd2d7d61463f..9f28ffa48bee0 100644
--- a/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
@@ -11,6 +11,7 @@
 #include "file_actions.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <spawn.h>
diff --git a/libc/src/spawn/posix_spawn_file_actions_adddup2.h b/libc/src/spawn/posix_spawn_file_actions_adddup2.h
index 339e38c380a46..1cbf3dc595794 100644
--- a/libc/src/spawn/posix_spawn_file_actions_adddup2.h
+++ b/libc/src/spawn/posix_spawn_file_actions_adddup2.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/spawn/posix_spawn_file_actions_addopen.cpp b/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
index 4abeeda085074..7f9286099573e 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_addopen.cpp
@@ -11,6 +11,7 @@
 #include "file_actions.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <spawn.h>
diff --git a/libc/src/spawn/posix_spawn_file_actions_addopen.h b/libc/src/spawn/posix_spawn_file_actions_addopen.h
index ea7d91b8b60a4..d51434ced4350 100644
--- a/libc/src/spawn/posix_spawn_file_actions_addopen.h
+++ b/libc/src/spawn/posix_spawn_file_actions_addopen.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/spawn/posix_spawn_file_actions_destroy.cpp b/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
index b7b2c7411a695..155e4c6a3b2be 100644
--- a/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_destroy.cpp
@@ -11,6 +11,7 @@
 #include "file_actions.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <errno.h>
 #include <spawn.h>
diff --git a/libc/src/spawn/posix_spawn_file_actions_destroy.h b/libc/src/spawn/posix_spawn_file_actions_destroy.h
index 3487893253700..7bbcfc3a51ea7 100644
--- a/libc/src/spawn/posix_spawn_file_actions_destroy.h
+++ b/libc/src/spawn/posix_spawn_file_actions_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_DESTROY_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/spawn/posix_spawn_file_actions_init.cpp b/libc/src/spawn/posix_spawn_file_actions_init.cpp
index f9367afab2ae6..14242fcf11779 100644
--- a/libc/src/spawn/posix_spawn_file_actions_init.cpp
+++ b/libc/src/spawn/posix_spawn_file_actions_init.cpp
@@ -9,6 +9,7 @@
 #include "posix_spawn_file_actions_init.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <spawn.h>
 
diff --git a/libc/src/spawn/posix_spawn_file_actions_init.h b/libc/src/spawn/posix_spawn_file_actions_init.h
index a19d9966aeb8a..79451400ed001 100644
--- a/libc/src/spawn/posix_spawn_file_actions_init.h
+++ b/libc/src/spawn/posix_spawn_file_actions_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_INIT_H
 #define LLVM_LIBC_SRC_SPAWN_POSIX_SPAWN_FILE_ACTIONS_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <spawn.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_bit_ceil_uc.cpp b/libc/src/stdbit/stdc_bit_ceil_uc.cpp
index 11a49c62310c1..8febabf0415df 100644
--- a/libc/src/stdbit/stdc_bit_ceil_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_ceil_uc.h b/libc/src/stdbit/stdc_bit_ceil_uc.h
index 65e1aeef4cde0..211073c246bb1 100644
--- a/libc/src/stdbit/stdc_bit_ceil_uc.h
+++ b/libc/src/stdbit/stdc_bit_ceil_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned char stdc_bit_ceil_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_bit_ceil_ui.cpp b/libc/src/stdbit/stdc_bit_ceil_ui.cpp
index 1ab1bf60d89aa..257adcdb94a4c 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_ceil_ui.h b/libc/src/stdbit/stdc_bit_ceil_ui.h
index 84befd6c95919..d2da377accfce 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ui.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_ceil_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_bit_ceil_ul.cpp b/libc/src/stdbit/stdc_bit_ceil_ul.cpp
index 837e8eb854360..7b2455958cb88 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_ceil_ul.h b/libc/src/stdbit/stdc_bit_ceil_ul.h
index 484b0e4a58f69..fe22d79fbe65f 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ul.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long stdc_bit_ceil_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_bit_ceil_ull.cpp b/libc/src/stdbit/stdc_bit_ceil_ull.cpp
index 811e38f57feef..dd94da4855248 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_ceil_ull.h b/libc/src/stdbit/stdc_bit_ceil_ull.h
index 420d29ffd0347..80a6d3c474b51 100644
--- a/libc/src/stdbit/stdc_bit_ceil_ull.h
+++ b/libc/src/stdbit/stdc_bit_ceil_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long stdc_bit_ceil_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_bit_ceil_us.cpp b/libc/src/stdbit/stdc_bit_ceil_us.cpp
index b266de1013939..4d35e18bb5d4a 100644
--- a/libc/src/stdbit/stdc_bit_ceil_us.cpp
+++ b/libc/src/stdbit/stdc_bit_ceil_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_ceil_us.h b/libc/src/stdbit/stdc_bit_ceil_us.h
index eaf1859099a0d..6001e7afdcd1f 100644
--- a/libc/src/stdbit/stdc_bit_ceil_us.h
+++ b/libc/src/stdbit/stdc_bit_ceil_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_CEIL_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned short stdc_bit_ceil_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_bit_floor_uc.cpp b/libc/src/stdbit/stdc_bit_floor_uc.cpp
index ed0458e03cbfd..54959ecd3cf4f 100644
--- a/libc/src/stdbit/stdc_bit_floor_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_floor_uc.h b/libc/src/stdbit/stdc_bit_floor_uc.h
index 859267823181a..baa4af8904be8 100644
--- a/libc/src/stdbit/stdc_bit_floor_uc.h
+++ b/libc/src/stdbit/stdc_bit_floor_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned char stdc_bit_floor_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_bit_floor_ui.cpp b/libc/src/stdbit/stdc_bit_floor_ui.cpp
index 47d9d54163942..a3458bc4061e8 100644
--- a/libc/src/stdbit/stdc_bit_floor_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_floor_ui.h b/libc/src/stdbit/stdc_bit_floor_ui.h
index 53619f0e7e05b..aaf9c7383fa27 100644
--- a/libc/src/stdbit/stdc_bit_floor_ui.h
+++ b/libc/src/stdbit/stdc_bit_floor_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_floor_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_bit_floor_ul.cpp b/libc/src/stdbit/stdc_bit_floor_ul.cpp
index 83dfe6a85eba3..3f28bee5b638f 100644
--- a/libc/src/stdbit/stdc_bit_floor_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_floor_ul.h b/libc/src/stdbit/stdc_bit_floor_ul.h
index 5c44767d738fc..20ab34e0ed83d 100644
--- a/libc/src/stdbit/stdc_bit_floor_ul.h
+++ b/libc/src/stdbit/stdc_bit_floor_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long stdc_bit_floor_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_bit_floor_ull.cpp b/libc/src/stdbit/stdc_bit_floor_ull.cpp
index 1e5a7f34d6428..5470045d261d4 100644
--- a/libc/src/stdbit/stdc_bit_floor_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_floor_ull.h b/libc/src/stdbit/stdc_bit_floor_ull.h
index 170ecec0b5176..4c49a07480767 100644
--- a/libc/src/stdbit/stdc_bit_floor_ull.h
+++ b/libc/src/stdbit/stdc_bit_floor_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long stdc_bit_floor_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_bit_floor_us.cpp b/libc/src/stdbit/stdc_bit_floor_us.cpp
index 09a0ece28613f..a4f3929344525 100644
--- a/libc/src/stdbit/stdc_bit_floor_us.cpp
+++ b/libc/src/stdbit/stdc_bit_floor_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_floor_us.h b/libc/src/stdbit/stdc_bit_floor_us.h
index 542d2be8e447b..1494013c715e8 100644
--- a/libc/src/stdbit/stdc_bit_floor_us.h
+++ b/libc/src/stdbit/stdc_bit_floor_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_FLOOR_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned short stdc_bit_floor_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_bit_width_uc.cpp b/libc/src/stdbit/stdc_bit_width_uc.cpp
index 370fe101324cb..71894bfd799cd 100644
--- a/libc/src/stdbit/stdc_bit_width_uc.cpp
+++ b/libc/src/stdbit/stdc_bit_width_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_width_uc.h b/libc/src/stdbit/stdc_bit_width_uc.h
index 4c2a92a77bada..869cce2a6458a 100644
--- a/libc/src/stdbit/stdc_bit_width_uc.h
+++ b/libc/src/stdbit/stdc_bit_width_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_bit_width_ui.cpp b/libc/src/stdbit/stdc_bit_width_ui.cpp
index 461b12e214b2d..c073e752fd2f9 100644
--- a/libc/src/stdbit/stdc_bit_width_ui.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_width_ui.h b/libc/src/stdbit/stdc_bit_width_ui.h
index bf2c93eddf0d7..71cfb36c5db0c 100644
--- a/libc/src/stdbit/stdc_bit_width_ui.h
+++ b/libc/src/stdbit/stdc_bit_width_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_bit_width_ul.cpp b/libc/src/stdbit/stdc_bit_width_ul.cpp
index 8342baef34763..69630d95cc620 100644
--- a/libc/src/stdbit/stdc_bit_width_ul.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_width_ul.h b/libc/src/stdbit/stdc_bit_width_ul.h
index 938cb206a47c3..e13e3be79ed26 100644
--- a/libc/src/stdbit/stdc_bit_width_ul.h
+++ b/libc/src/stdbit/stdc_bit_width_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_bit_width_ull.cpp b/libc/src/stdbit/stdc_bit_width_ull.cpp
index 34fbcdf647d08..b720b45d1620a 100644
--- a/libc/src/stdbit/stdc_bit_width_ull.cpp
+++ b/libc/src/stdbit/stdc_bit_width_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_width_ull.h b/libc/src/stdbit/stdc_bit_width_ull.h
index 00e6e44fc7d0a..91c935a185ba0 100644
--- a/libc/src/stdbit/stdc_bit_width_ull.h
+++ b/libc/src/stdbit/stdc_bit_width_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_bit_width_us.cpp b/libc/src/stdbit/stdc_bit_width_us.cpp
index bb33034524623..ba004817b84a2 100644
--- a/libc/src/stdbit/stdc_bit_width_us.cpp
+++ b/libc/src/stdbit/stdc_bit_width_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_bit_width_us.h b/libc/src/stdbit/stdc_bit_width_us.h
index debd3baaf0a78..3d9bfe9242bac 100644
--- a/libc/src/stdbit/stdc_bit_width_us.h
+++ b/libc/src/stdbit/stdc_bit_width_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_BIT_WIDTH_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_bit_width_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_count_ones_uc.cpp b/libc/src/stdbit/stdc_count_ones_uc.cpp
index dbffd118fdbda..9df8bcda9ca0a 100644
--- a/libc/src/stdbit/stdc_count_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_count_ones_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_count_ones_uc.h b/libc/src/stdbit/stdc_count_ones_uc.h
index 2b5f63bccba32..c982d0b04ed16 100644
--- a/libc/src/stdbit/stdc_count_ones_uc.h
+++ b/libc/src/stdbit/stdc_count_ones_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_count_ones_ui.cpp b/libc/src/stdbit/stdc_count_ones_ui.cpp
index 0d840d8acaeb7..9b012e281cb7e 100644
--- a/libc/src/stdbit/stdc_count_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_count_ones_ui.h b/libc/src/stdbit/stdc_count_ones_ui.h
index be75466a21d39..f5bc2db004292 100644
--- a/libc/src/stdbit/stdc_count_ones_ui.h
+++ b/libc/src/stdbit/stdc_count_ones_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_count_ones_ul.cpp b/libc/src/stdbit/stdc_count_ones_ul.cpp
index 9d97940a90128..ac30c9ecac74c 100644
--- a/libc/src/stdbit/stdc_count_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_count_ones_ul.h b/libc/src/stdbit/stdc_count_ones_ul.h
index 904f6cdebbf2a..014a15569f6dd 100644
--- a/libc/src/stdbit/stdc_count_ones_ul.h
+++ b/libc/src/stdbit/stdc_count_ones_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_count_ones_ull.cpp b/libc/src/stdbit/stdc_count_ones_ull.cpp
index 4015888b6131e..d27d0d3e11660 100644
--- a/libc/src/stdbit/stdc_count_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_count_ones_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_count_ones_ull.h b/libc/src/stdbit/stdc_count_ones_ull.h
index aa4c01b175a75..652e8d1856562 100644
--- a/libc/src/stdbit/stdc_count_ones_ull.h
+++ b/libc/src/stdbit/stdc_count_ones_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_count_ones_us.cpp b/libc/src/stdbit/stdc_count_ones_us.cpp
index acdbf533eff2b..9b925bad6093d 100644
--- a/libc/src/stdbit/stdc_count_ones_us.cpp
+++ b/libc/src/stdbit/stdc_count_ones_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_count_ones_us.h b/libc/src/stdbit/stdc_count_ones_us.h
index 44fd7e61a974c..24485ddb75cbe 100644
--- a/libc/src/stdbit/stdc_count_ones_us.h
+++ b/libc/src/stdbit/stdc_count_ones_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ONES_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_ones_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_count_zeros_uc.cpp b/libc/src/stdbit/stdc_count_zeros_uc.cpp
index 25b7c912c9d1e..ab5f0f39fed08 100644
--- a/libc/src/stdbit/stdc_count_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_uc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_count_zeros_uc.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_count_zeros_uc.h b/libc/src/stdbit/stdc_count_zeros_uc.h
index 7550fa510c5a1..12f754bed34cd 100644
--- a/libc/src/stdbit/stdc_count_zeros_uc.h
+++ b/libc/src/stdbit/stdc_count_zeros_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_count_zeros_ui.cpp b/libc/src/stdbit/stdc_count_zeros_ui.cpp
index de9b7a843a887..28efc544bb888 100644
--- a/libc/src/stdbit/stdc_count_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ui.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_count_zeros_ui.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_count_zeros_ui.h b/libc/src/stdbit/stdc_count_zeros_ui.h
index 93259e0c8aa92..df3562ff59cec 100644
--- a/libc/src/stdbit/stdc_count_zeros_ui.h
+++ b/libc/src/stdbit/stdc_count_zeros_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_count_zeros_ul.cpp b/libc/src/stdbit/stdc_count_zeros_ul.cpp
index 513e6dc271771..25c9b8d7782ff 100644
--- a/libc/src/stdbit/stdc_count_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ul.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_count_zeros_ul.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_count_zeros_ul.h b/libc/src/stdbit/stdc_count_zeros_ul.h
index e0116efc623f3..962eed53fea5b 100644
--- a/libc/src/stdbit/stdc_count_zeros_ul.h
+++ b/libc/src/stdbit/stdc_count_zeros_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_count_zeros_ull.cpp b/libc/src/stdbit/stdc_count_zeros_ull.cpp
index f7ca736e7dd42..c0d641e94754f 100644
--- a/libc/src/stdbit/stdc_count_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_ull.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_count_zeros_ull.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_count_zeros_ull.h b/libc/src/stdbit/stdc_count_zeros_ull.h
index a48120a5f3674..3db13a16fa68e 100644
--- a/libc/src/stdbit/stdc_count_zeros_ull.h
+++ b/libc/src/stdbit/stdc_count_zeros_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_count_zeros_us.cpp b/libc/src/stdbit/stdc_count_zeros_us.cpp
index d75c5f6f25e9b..fb352b049933c 100644
--- a/libc/src/stdbit/stdc_count_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_count_zeros_us.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_count_zeros_us.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_count_zeros_us.h b/libc/src/stdbit/stdc_count_zeros_us.h
index 99bedbe6fa3c6..9e0f252a52b46 100644
--- a/libc/src/stdbit/stdc_count_zeros_us.h
+++ b/libc/src/stdbit/stdc_count_zeros_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_COUNT_ZEROS_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_count_zeros_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_first_leading_one_uc.cpp b/libc/src/stdbit/stdc_first_leading_one_uc.cpp
index 089816b2e027e..0d73f5c8e8f4d 100644
--- a/libc/src/stdbit/stdc_first_leading_one_uc.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_uc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_one_uc.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_one_uc.h b/libc/src/stdbit/stdc_first_leading_one_uc.h
index bdd93d7553ac4..bc1025b797ccb 100644
--- a/libc/src/stdbit/stdc_first_leading_one_uc.h
+++ b/libc/src/stdbit/stdc_first_leading_one_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_first_leading_one_ui.cpp b/libc/src/stdbit/stdc_first_leading_one_ui.cpp
index 544fddb8f20fe..cd33a1943c7ae 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ui.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ui.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_one_ui.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_one_ui.h b/libc/src/stdbit/stdc_first_leading_one_ui.h
index 653c783e01bf2..f1687aca659a3 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ui.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_first_leading_one_ul.cpp b/libc/src/stdbit/stdc_first_leading_one_ul.cpp
index 37832be21bd18..a7a74535f3f0d 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ul.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ul.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_one_ul.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_one_ul.h b/libc/src/stdbit/stdc_first_leading_one_ul.h
index 3da9a8314bde7..53e02f274daf3 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ul.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_first_leading_one_ull.cpp b/libc/src/stdbit/stdc_first_leading_one_ull.cpp
index d74945358b588..07d73300df8f5 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ull.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_ull.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_one_ull.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_one_ull.h b/libc/src/stdbit/stdc_first_leading_one_ull.h
index 125b93d775ddc..96dc8c42688a4 100644
--- a/libc/src/stdbit/stdc_first_leading_one_ull.h
+++ b/libc/src/stdbit/stdc_first_leading_one_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_first_leading_one_us.cpp b/libc/src/stdbit/stdc_first_leading_one_us.cpp
index 73203ad29b39c..4c88abdac2ffd 100644
--- a/libc/src/stdbit/stdc_first_leading_one_us.cpp
+++ b/libc/src/stdbit/stdc_first_leading_one_us.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_one_us.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_one_us.h b/libc/src/stdbit/stdc_first_leading_one_us.h
index 6cc5c7080a90a..c213c3df3b792 100644
--- a/libc/src/stdbit/stdc_first_leading_one_us.h
+++ b/libc/src/stdbit/stdc_first_leading_one_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ONE_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_one_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_first_leading_zero_uc.cpp b/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
index 013fbf0c78410..03371357ee251 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_uc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_zero_uc.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_zero_uc.h b/libc/src/stdbit/stdc_first_leading_zero_uc.h
index 38c9bed9ba76f..e20cf307c05c0 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_uc.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ui.cpp b/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
index f9dcf6c61de0f..c9e55e67a3738 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ui.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_zero_ui.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ui.h b/libc/src/stdbit/stdc_first_leading_zero_ui.h
index 85674ed2698aa..204901ebf0a9a 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ui.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ul.cpp b/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
index 8f33887c9ba8b..cb5231cbf3439 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ul.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_zero_ul.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ul.h b/libc/src/stdbit/stdc_first_leading_zero_ul.h
index 55cf5fa10692e..f0d2b3285bffc 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ul.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ull.cpp b/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
index f94172d5b74e0..65591433c0309 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_ull.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_zero_ull.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_zero_ull.h b/libc/src/stdbit/stdc_first_leading_zero_ull.h
index fd3626ec4d83b..6cdb1790b5dec 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_ull.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_first_leading_zero_us.cpp b/libc/src/stdbit/stdc_first_leading_zero_us.cpp
index e1136da791890..25c3d892d38cc 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_us.cpp
+++ b/libc/src/stdbit/stdc_first_leading_zero_us.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_leading_zero_us.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_leading_zero_us.h b/libc/src/stdbit/stdc_first_leading_zero_us.h
index 4004ed2ef451a..eacd406c8f645 100644
--- a/libc/src/stdbit/stdc_first_leading_zero_us.h
+++ b/libc/src/stdbit/stdc_first_leading_zero_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_LEADING_ZERO_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_leading_zero_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_first_trailing_one_uc.cpp b/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
index 69314764c8214..cd880241aa6bf 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_uc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_one_uc.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_one_uc.h b/libc/src/stdbit/stdc_first_trailing_one_uc.h
index 0b80de7d02d34..b54ca47bf7f7c 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_uc.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ui.cpp b/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
index 7934dd04f5bfa..03233d5fefcb3 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ui.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_one_ui.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ui.h b/libc/src/stdbit/stdc_first_trailing_one_ui.h
index aab2756a37b24..be3eaf81312cd 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ui.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ul.cpp b/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
index b9b94829fb9cd..0e5080d622b34 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ul.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_one_ul.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ul.h b/libc/src/stdbit/stdc_first_trailing_one_ul.h
index 0ca4baf8b18c7..c0ad0da50fb3b 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ul.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ull.cpp b/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
index ce6dc775a2d3a..3336983cbfcd0 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_ull.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_one_ull.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_one_ull.h b/libc/src/stdbit/stdc_first_trailing_one_ull.h
index 547e5b0c9ffc4..7cf961cc4abef 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_ull.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_first_trailing_one_us.cpp b/libc/src/stdbit/stdc_first_trailing_one_us.cpp
index 5b00530562973..01cf247441dc8 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_us.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_one_us.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_one_us.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_one_us.h b/libc/src/stdbit/stdc_first_trailing_one_us.h
index 4d8de7a995f52..24b1db50717d3 100644
--- a/libc/src/stdbit/stdc_first_trailing_one_us.h
+++ b/libc/src/stdbit/stdc_first_trailing_one_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ONE_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_one_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp b/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
index 1e2a0c0ce663c..617839b18cf95 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_zero_uc.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_uc.h b/libc/src/stdbit/stdc_first_trailing_zero_uc.h
index c7bdb47af570f..39f61df52844b 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_uc.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
index f1a044eb96b65..c852f5133a6ad 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_zero_ui.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ui.h b/libc/src/stdbit/stdc_first_trailing_zero_ui.h
index 1903b323bc5fe..d43399b13f7a5 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ui.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
index a5781181d8f61..42dccdf9b7465 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_zero_ul.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ul.h b/libc/src/stdbit/stdc_first_trailing_zero_ul.h
index 7d1422b280435..f6c9fdffb5841 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ul.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp b/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
index f8cde1137f953..4282eb489fa7e 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_zero_ull.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_ull.h b/libc/src/stdbit/stdc_first_trailing_zero_ull.h
index a112606f2de02..ddd8b2e605aa6 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_ull.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_us.cpp b/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
index 945b561f3d3d6..c49c985dc35bf 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
+++ b/libc/src/stdbit/stdc_first_trailing_zero_us.cpp
@@ -9,6 +9,7 @@
 #include "src/stdbit/stdc_first_trailing_zero_us.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdbit/stdc_first_trailing_zero_us.h b/libc/src/stdbit/stdc_first_trailing_zero_us.h
index adb1f04fb4645..8b958889bef3a 100644
--- a/libc/src/stdbit/stdc_first_trailing_zero_us.h
+++ b/libc/src/stdbit/stdc_first_trailing_zero_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_FIRST_TRAILING_ZERO_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_first_trailing_zero_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_has_single_bit_uc.cpp b/libc/src/stdbit/stdc_has_single_bit_uc.cpp
index ece141057d971..cf3011a87445a 100644
--- a/libc/src/stdbit/stdc_has_single_bit_uc.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_has_single_bit_uc.h b/libc/src/stdbit/stdc_has_single_bit_uc.h
index c4d00e2c8c0f3..89b09b48d0dac 100644
--- a/libc/src/stdbit/stdc_has_single_bit_uc.h
+++ b/libc/src/stdbit/stdc_has_single_bit_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_has_single_bit_ui.cpp b/libc/src/stdbit/stdc_has_single_bit_ui.cpp
index dc6b723acc4b5..06de58380633f 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ui.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_has_single_bit_ui.h b/libc/src/stdbit/stdc_has_single_bit_ui.h
index fb9271f12ce0f..e7dab6a0ed072 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ui.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_has_single_bit_ul.cpp b/libc/src/stdbit/stdc_has_single_bit_ul.cpp
index 596f509b0519b..b2e586fac3445 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ul.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_has_single_bit_ul.h b/libc/src/stdbit/stdc_has_single_bit_ul.h
index 1a485f2ec741e..4614cc053793f 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ul.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_has_single_bit_ull.cpp b/libc/src/stdbit/stdc_has_single_bit_ull.cpp
index d37465f3a650c..45aeda82b9085 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ull.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_has_single_bit_ull.h b/libc/src/stdbit/stdc_has_single_bit_ull.h
index 1e53d749a7b45..84d4702cbc0f8 100644
--- a/libc/src/stdbit/stdc_has_single_bit_ull.h
+++ b/libc/src/stdbit/stdc_has_single_bit_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_has_single_bit_us.cpp b/libc/src/stdbit/stdc_has_single_bit_us.cpp
index d053d1fe64b12..e915293530ca4 100644
--- a/libc/src/stdbit/stdc_has_single_bit_us.cpp
+++ b/libc/src/stdbit/stdc_has_single_bit_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_has_single_bit_us.h b/libc/src/stdbit/stdc_has_single_bit_us.h
index eeee9808c7ef5..d0fc5190ff8c7 100644
--- a/libc/src/stdbit/stdc_has_single_bit_us.h
+++ b/libc/src/stdbit/stdc_has_single_bit_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_HAS_SINGLE_BIT_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 bool stdc_has_single_bit_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_leading_ones_uc.cpp b/libc/src/stdbit/stdc_leading_ones_uc.cpp
index c074ed795eecc..020bd40fcaa73 100644
--- a/libc/src/stdbit/stdc_leading_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_ones_uc.h b/libc/src/stdbit/stdc_leading_ones_uc.h
index c66548d8a25c3..7daaf673a4158 100644
--- a/libc/src/stdbit/stdc_leading_ones_uc.h
+++ b/libc/src/stdbit/stdc_leading_ones_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_leading_ones_ui.cpp b/libc/src/stdbit/stdc_leading_ones_ui.cpp
index 58def446ed235..2c51755ad6e62 100644
--- a/libc/src/stdbit/stdc_leading_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_ones_ui.h b/libc/src/stdbit/stdc_leading_ones_ui.h
index a0b669e5ae73d..93b042cf8f44f 100644
--- a/libc/src/stdbit/stdc_leading_ones_ui.h
+++ b/libc/src/stdbit/stdc_leading_ones_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_leading_ones_ul.cpp b/libc/src/stdbit/stdc_leading_ones_ul.cpp
index d315538814275..50570a5897a24 100644
--- a/libc/src/stdbit/stdc_leading_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_ones_ul.h b/libc/src/stdbit/stdc_leading_ones_ul.h
index 5bda5e938aed7..d4cf91c1f4dc2 100644
--- a/libc/src/stdbit/stdc_leading_ones_ul.h
+++ b/libc/src/stdbit/stdc_leading_ones_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_leading_ones_ull.cpp b/libc/src/stdbit/stdc_leading_ones_ull.cpp
index b92e433b7cdbb..aff91a40d5443 100644
--- a/libc/src/stdbit/stdc_leading_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_ones_ull.h b/libc/src/stdbit/stdc_leading_ones_ull.h
index c2a82322e3765..e459e4ba57fce 100644
--- a/libc/src/stdbit/stdc_leading_ones_ull.h
+++ b/libc/src/stdbit/stdc_leading_ones_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_leading_ones_us.cpp b/libc/src/stdbit/stdc_leading_ones_us.cpp
index 7bf92adf2c66b..34db4ec295ccd 100644
--- a/libc/src/stdbit/stdc_leading_ones_us.cpp
+++ b/libc/src/stdbit/stdc_leading_ones_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_ones_us.h b/libc/src/stdbit/stdc_leading_ones_us.h
index 6b8f618a6cf65..206756b633643 100644
--- a/libc/src/stdbit/stdc_leading_ones_us.h
+++ b/libc/src/stdbit/stdc_leading_ones_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ONES_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_ones_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_leading_zeros_uc.cpp b/libc/src/stdbit/stdc_leading_zeros_uc.cpp
index c60382ef014e8..d9b1628488a3e 100644
--- a/libc/src/stdbit/stdc_leading_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_zeros_uc.h b/libc/src/stdbit/stdc_leading_zeros_uc.h
index 237f165d5343d..6bc1f3006bd76 100644
--- a/libc/src/stdbit/stdc_leading_zeros_uc.h
+++ b/libc/src/stdbit/stdc_leading_zeros_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_leading_zeros_ui.cpp b/libc/src/stdbit/stdc_leading_zeros_ui.cpp
index 1893aceb47b70..05a1a50412c91 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_zeros_ui.h b/libc/src/stdbit/stdc_leading_zeros_ui.h
index 7723e7a6f30d2..ce7f266b97d96 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ui.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_leading_zeros_ul.cpp b/libc/src/stdbit/stdc_leading_zeros_ul.cpp
index 87b91f998fd42..e560889973939 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_zeros_ul.h b/libc/src/stdbit/stdc_leading_zeros_ul.h
index dbcd52402633e..a4c671f753ef2 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ul.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_leading_zeros_ull.cpp b/libc/src/stdbit/stdc_leading_zeros_ull.cpp
index 4b30185dceb10..0bf3f13398675 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_zeros_ull.h b/libc/src/stdbit/stdc_leading_zeros_ull.h
index 3a1a1da2b1c27..a59fe2eff6108 100644
--- a/libc/src/stdbit/stdc_leading_zeros_ull.h
+++ b/libc/src/stdbit/stdc_leading_zeros_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_leading_zeros_us.cpp b/libc/src/stdbit/stdc_leading_zeros_us.cpp
index 2091c3a4df0d3..00ac7c3e1e277 100644
--- a/libc/src/stdbit/stdc_leading_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_leading_zeros_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_leading_zeros_us.h b/libc/src/stdbit/stdc_leading_zeros_us.h
index cbfc5b837ce8a..1ee4732d95017 100644
--- a/libc/src/stdbit/stdc_leading_zeros_us.h
+++ b/libc/src/stdbit/stdc_leading_zeros_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_LEADING_ZEROS_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_leading_zeros_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_trailing_ones_uc.cpp b/libc/src/stdbit/stdc_trailing_ones_uc.cpp
index 261460a509662..302a766db0805 100644
--- a/libc/src/stdbit/stdc_trailing_ones_uc.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_ones_uc.h b/libc/src/stdbit/stdc_trailing_ones_uc.h
index 44fb987428b88..8eced3b12d335 100644
--- a/libc/src/stdbit/stdc_trailing_ones_uc.h
+++ b/libc/src/stdbit/stdc_trailing_ones_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_trailing_ones_ui.cpp b/libc/src/stdbit/stdc_trailing_ones_ui.cpp
index e9d1eaa6ef644..8ad6e78c50bf9 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ui.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_ones_ui.h b/libc/src/stdbit/stdc_trailing_ones_ui.h
index 3f44920919a32..de7c9312291e7 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ui.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_trailing_ones_ul.cpp b/libc/src/stdbit/stdc_trailing_ones_ul.cpp
index 0a6a662db3415..af398a1573812 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ul.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_ones_ul.h b/libc/src/stdbit/stdc_trailing_ones_ul.h
index 6ae482e44b5e1..64da53869b162 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ul.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_trailing_ones_ull.cpp b/libc/src/stdbit/stdc_trailing_ones_ull.cpp
index dfd231d756e12..ef6927e2f1564 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ull.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_ones_ull.h b/libc/src/stdbit/stdc_trailing_ones_ull.h
index f9cb9874af924..f93bd572fedfc 100644
--- a/libc/src/stdbit/stdc_trailing_ones_ull.h
+++ b/libc/src/stdbit/stdc_trailing_ones_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_trailing_ones_us.cpp b/libc/src/stdbit/stdc_trailing_ones_us.cpp
index 837927388ec25..3a54d8ed74672 100644
--- a/libc/src/stdbit/stdc_trailing_ones_us.cpp
+++ b/libc/src/stdbit/stdc_trailing_ones_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_ones_us.h b/libc/src/stdbit/stdc_trailing_ones_us.h
index 9b1e2d4a5eb3f..3dad46046f2d3 100644
--- a/libc/src/stdbit/stdc_trailing_ones_us.h
+++ b/libc/src/stdbit/stdc_trailing_ones_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ONES_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_ones_us(unsigned short value);
diff --git a/libc/src/stdbit/stdc_trailing_zeros_uc.cpp b/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
index b45369d2fda08..fcc05d4bcce00 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_uc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_zeros_uc.h b/libc/src/stdbit/stdc_trailing_zeros_uc.h
index 2d74b83a8b686..114c05cbdac11 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_uc.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_uc.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UC_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_uc(unsigned char value);
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ui.cpp b/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
index 468cf3cdb03f7..94bca3e991593 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ui.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ui.h b/libc/src/stdbit/stdc_trailing_zeros_ui.h
index 36d47213eed4f..0d8f5ee334751 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ui.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ui.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UI_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ui(unsigned value);
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ul.cpp b/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
index 3e4e2ce4569e8..407eb85ddd73e 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ul.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ul.h b/libc/src/stdbit/stdc_trailing_zeros_ul.h
index 2a6c67332caf4..368cd67e2330c 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ul.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_UL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ul(unsigned long value);
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ull.cpp b/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
index 48d6e83a847ed..eba3dff88f4f1 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_ull.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_zeros_ull.h b/libc/src/stdbit/stdc_trailing_zeros_ull.h
index 218c15b1492b6..896c33b3ac104 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_ull.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_ull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_ULL_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_ULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_ull(unsigned long long value);
diff --git a/libc/src/stdbit/stdc_trailing_zeros_us.cpp b/libc/src/stdbit/stdc_trailing_zeros_us.cpp
index e9d63e2afe45f..82eba56c5fc68 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_us.cpp
+++ b/libc/src/stdbit/stdc_trailing_zeros_us.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdbit/stdc_trailing_zeros_us.h b/libc/src/stdbit/stdc_trailing_zeros_us.h
index 0096d7b37f98d..0241192a8a972 100644
--- a/libc/src/stdbit/stdc_trailing_zeros_us.h
+++ b/libc/src/stdbit/stdc_trailing_zeros_us.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_US_H
 #define LLVM_LIBC_SRC_STDBIT_STDC_TRAILING_ZEROS_US_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned stdc_trailing_zeros_us(unsigned short value);
diff --git a/libc/src/stdfix/abshk.cpp b/libc/src/stdfix/abshk.cpp
index 90ee6ae4968e0..384988997c8c7 100644
--- a/libc/src/stdfix/abshk.cpp
+++ b/libc/src/stdfix/abshk.cpp
@@ -9,6 +9,7 @@
 #include "abshk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abshk.h b/libc/src/stdfix/abshk.h
index 4a33ec2f30a0f..060abed151332 100644
--- a/libc/src/stdfix/abshk.h
+++ b/libc/src/stdfix/abshk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSHK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abshr.cpp b/libc/src/stdfix/abshr.cpp
index b539d08748681..d4289800fef0b 100644
--- a/libc/src/stdfix/abshr.cpp
+++ b/libc/src/stdfix/abshr.cpp
@@ -9,6 +9,7 @@
 #include "abshr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abshr.h b/libc/src/stdfix/abshr.h
index b136f11aee006..162c4396c2e63 100644
--- a/libc/src/stdfix/abshr.h
+++ b/libc/src/stdfix/abshr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSHR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/absk.cpp b/libc/src/stdfix/absk.cpp
index a152588cc3d99..8c18175fa97d3 100644
--- a/libc/src/stdfix/absk.cpp
+++ b/libc/src/stdfix/absk.cpp
@@ -9,6 +9,7 @@
 #include "absk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/absk.h b/libc/src/stdfix/absk.h
index 14122687df98c..266a4faeba763 100644
--- a/libc/src/stdfix/absk.h
+++ b/libc/src/stdfix/absk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abslk.cpp b/libc/src/stdfix/abslk.cpp
index a21089780ca5a..c24d21671a110 100644
--- a/libc/src/stdfix/abslk.cpp
+++ b/libc/src/stdfix/abslk.cpp
@@ -9,6 +9,7 @@
 #include "abslk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abslk.h b/libc/src/stdfix/abslk.h
index 5b478a2c69f49..a1ee8ca02fdcd 100644
--- a/libc/src/stdfix/abslk.h
+++ b/libc/src/stdfix/abslk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSLK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abslr.cpp b/libc/src/stdfix/abslr.cpp
index c3dce11698f07..3f84fc725e51c 100644
--- a/libc/src/stdfix/abslr.cpp
+++ b/libc/src/stdfix/abslr.cpp
@@ -9,6 +9,7 @@
 #include "abslr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/abslr.h b/libc/src/stdfix/abslr.h
index b9ee7d99b2326..961409ada5a8a 100644
--- a/libc/src/stdfix/abslr.h
+++ b/libc/src/stdfix/abslr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSLR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/absr.cpp b/libc/src/stdfix/absr.cpp
index 30647b2d65a21..42f639d63f5a7 100644
--- a/libc/src/stdfix/absr.cpp
+++ b/libc/src/stdfix/absr.cpp
@@ -9,6 +9,7 @@
 #include "absr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/absr.h b/libc/src/stdfix/absr.h
index 2feecf109a91b..0b47ab1f2e7fd 100644
--- a/libc/src/stdfix/absr.h
+++ b/libc/src/stdfix/absr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ABSR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/exphk.cpp b/libc/src/stdfix/exphk.cpp
index 3d026cb500133..0b17a4075e8f3 100644
--- a/libc/src/stdfix/exphk.cpp
+++ b/libc/src/stdfix/exphk.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/exphk.h b/libc/src/stdfix/exphk.h
index 0f0ef05a9ea88..d10dda13a3007 100644
--- a/libc/src/stdfix/exphk.h
+++ b/libc/src/stdfix/exphk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_EXPHK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/expk.cpp b/libc/src/stdfix/expk.cpp
index 73e31229f7450..0851c7fef48d9 100644
--- a/libc/src/stdfix/expk.cpp
+++ b/libc/src/stdfix/expk.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/CPP/bit.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/expk.h b/libc/src/stdfix/expk.h
index 43eddf61abcfc..4fd1dd5fffb5d 100644
--- a/libc/src/stdfix/expk.h
+++ b/libc/src/stdfix/expk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_EXPK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundhk.cpp b/libc/src/stdfix/roundhk.cpp
index 666606aa34318..c94aa6de5f960 100644
--- a/libc/src/stdfix/roundhk.cpp
+++ b/libc/src/stdfix/roundhk.cpp
@@ -9,6 +9,7 @@
 #include "roundhk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundhk.h b/libc/src/stdfix/roundhk.h
index 9ae670140d963..0c1e3780a71ad 100644
--- a/libc/src/stdfix/roundhk.h
+++ b/libc/src/stdfix/roundhk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDHK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundhr.cpp b/libc/src/stdfix/roundhr.cpp
index 338c47d2a1a81..539f951662243 100644
--- a/libc/src/stdfix/roundhr.cpp
+++ b/libc/src/stdfix/roundhr.cpp
@@ -9,6 +9,7 @@
 #include "roundhr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundhr.h b/libc/src/stdfix/roundhr.h
index e325dc39ae6a5..a3a4ace902f10 100644
--- a/libc/src/stdfix/roundhr.h
+++ b/libc/src/stdfix/roundhr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDHR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundk.cpp b/libc/src/stdfix/roundk.cpp
index 814df2e7ebd0a..3aedfa322b9a7 100644
--- a/libc/src/stdfix/roundk.cpp
+++ b/libc/src/stdfix/roundk.cpp
@@ -9,6 +9,7 @@
 #include "roundk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundk.h b/libc/src/stdfix/roundk.h
index 990b603e00515..36d34992146cf 100644
--- a/libc/src/stdfix/roundk.h
+++ b/libc/src/stdfix/roundk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundlk.cpp b/libc/src/stdfix/roundlk.cpp
index da20a1d7e8c4e..94dceb40cf819 100644
--- a/libc/src/stdfix/roundlk.cpp
+++ b/libc/src/stdfix/roundlk.cpp
@@ -9,6 +9,7 @@
 #include "roundlk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundlk.h b/libc/src/stdfix/roundlk.h
index 547792bcc09f1..e1661ec7268c3 100644
--- a/libc/src/stdfix/roundlk.h
+++ b/libc/src/stdfix/roundlk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDLK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundlr.cpp b/libc/src/stdfix/roundlr.cpp
index 3129bf47cb088..5a7737d05e6a6 100644
--- a/libc/src/stdfix/roundlr.cpp
+++ b/libc/src/stdfix/roundlr.cpp
@@ -9,6 +9,7 @@
 #include "roundlr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundlr.h b/libc/src/stdfix/roundlr.h
index 1aab28f501234..58d6ffa6977e9 100644
--- a/libc/src/stdfix/roundlr.h
+++ b/libc/src/stdfix/roundlr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDLR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundr.cpp b/libc/src/stdfix/roundr.cpp
index 22aa5d4ee00fd..d4ade17ac3c6d 100644
--- a/libc/src/stdfix/roundr.cpp
+++ b/libc/src/stdfix/roundr.cpp
@@ -9,6 +9,7 @@
 #include "roundr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundr.h b/libc/src/stdfix/roundr.h
index 59ad05ca2d47f..105314da1828d 100644
--- a/libc/src/stdfix/roundr.h
+++ b/libc/src/stdfix/roundr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduhk.cpp b/libc/src/stdfix/rounduhk.cpp
index 0da80b9db0360..3c13a313ed54f 100644
--- a/libc/src/stdfix/rounduhk.cpp
+++ b/libc/src/stdfix/rounduhk.cpp
@@ -9,6 +9,7 @@
 #include "rounduhk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduhk.h b/libc/src/stdfix/rounduhk.h
index cfbeb5e4685fe..e6cbc218be474 100644
--- a/libc/src/stdfix/rounduhk.h
+++ b/libc/src/stdfix/rounduhk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDUHK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduhr.cpp b/libc/src/stdfix/rounduhr.cpp
index ccd1c4c604f3c..8c7abaf6bca48 100644
--- a/libc/src/stdfix/rounduhr.cpp
+++ b/libc/src/stdfix/rounduhr.cpp
@@ -9,6 +9,7 @@
 #include "rounduhr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduhr.h b/libc/src/stdfix/rounduhr.h
index 398eda034cf50..2d8c85a6c15ed 100644
--- a/libc/src/stdfix/rounduhr.h
+++ b/libc/src/stdfix/rounduhr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDUHR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduk.cpp b/libc/src/stdfix/rounduk.cpp
index d27727e7a1297..d543a6853fc3c 100644
--- a/libc/src/stdfix/rounduk.cpp
+++ b/libc/src/stdfix/rounduk.cpp
@@ -9,6 +9,7 @@
 #include "rounduk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/rounduk.h b/libc/src/stdfix/rounduk.h
index 1d771ec1536c7..51f0f9ce32953 100644
--- a/libc/src/stdfix/rounduk.h
+++ b/libc/src/stdfix/rounduk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDUK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundulk.cpp b/libc/src/stdfix/roundulk.cpp
index 8b9583d18bdca..09c1d86f4b93f 100644
--- a/libc/src/stdfix/roundulk.cpp
+++ b/libc/src/stdfix/roundulk.cpp
@@ -9,6 +9,7 @@
 #include "roundulk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundulk.h b/libc/src/stdfix/roundulk.h
index bbe32148b4391..797ce9fb957a7 100644
--- a/libc/src/stdfix/roundulk.h
+++ b/libc/src/stdfix/roundulk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDULK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundulr.cpp b/libc/src/stdfix/roundulr.cpp
index 0c57af856029c..e654b197dc9fe 100644
--- a/libc/src/stdfix/roundulr.cpp
+++ b/libc/src/stdfix/roundulr.cpp
@@ -9,6 +9,7 @@
 #include "roundulr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundulr.h b/libc/src/stdfix/roundulr.h
index 21d264345f101..1f6165b10f368 100644
--- a/libc/src/stdfix/roundulr.h
+++ b/libc/src/stdfix/roundulr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDULR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundur.cpp b/libc/src/stdfix/roundur.cpp
index e7057b12f2f5f..1d3485425984f 100644
--- a/libc/src/stdfix/roundur.cpp
+++ b/libc/src/stdfix/roundur.cpp
@@ -9,6 +9,7 @@
 #include "roundur.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/fx_bits.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/roundur.h b/libc/src/stdfix/roundur.h
index 929635de2a73d..815fd145b66fb 100644
--- a/libc/src/stdfix/roundur.h
+++ b/libc/src/stdfix/roundur.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_ROUNDUR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuhk.cpp b/libc/src/stdfix/sqrtuhk.cpp
index 3946fa1bf6f83..312846af7b737 100644
--- a/libc/src/stdfix/sqrtuhk.cpp
+++ b/libc/src/stdfix/sqrtuhk.cpp
@@ -9,6 +9,7 @@
 #include "sqrtuhk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuhk.h b/libc/src/stdfix/sqrtuhk.h
index 58e0f70a2d729..5b8f9eaebc76e 100644
--- a/libc/src/stdfix/sqrtuhk.h
+++ b/libc/src/stdfix/sqrtuhk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_SQRTUHK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuhr.cpp b/libc/src/stdfix/sqrtuhr.cpp
index a168658156dcc..87e151cc8ac60 100644
--- a/libc/src/stdfix/sqrtuhr.cpp
+++ b/libc/src/stdfix/sqrtuhr.cpp
@@ -9,6 +9,7 @@
 #include "sqrtuhr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuhr.h b/libc/src/stdfix/sqrtuhr.h
index 6abfa616173c6..390c369be1597 100644
--- a/libc/src/stdfix/sqrtuhr.h
+++ b/libc/src/stdfix/sqrtuhr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_SQRTUHR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuk.cpp b/libc/src/stdfix/sqrtuk.cpp
index 9412fc123cdcc..857f75f30cac7 100644
--- a/libc/src/stdfix/sqrtuk.cpp
+++ b/libc/src/stdfix/sqrtuk.cpp
@@ -9,6 +9,7 @@
 #include "sqrtuk.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtuk.h b/libc/src/stdfix/sqrtuk.h
index 5949d186242bf..2b043c153277f 100644
--- a/libc/src/stdfix/sqrtuk.h
+++ b/libc/src/stdfix/sqrtuk.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_SQRTUK_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtulr.cpp b/libc/src/stdfix/sqrtulr.cpp
index 9effbbbd8f031..db9b0639d8136 100644
--- a/libc/src/stdfix/sqrtulr.cpp
+++ b/libc/src/stdfix/sqrtulr.cpp
@@ -9,6 +9,7 @@
 #include "sqrtulr.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtulr.h b/libc/src/stdfix/sqrtulr.h
index c8fc7b3cf11ed..a43cc44b79c3b 100644
--- a/libc/src/stdfix/sqrtulr.h
+++ b/libc/src/stdfix/sqrtulr.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_SQRTULR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtur.cpp b/libc/src/stdfix/sqrtur.cpp
index 71b3a43eb7d9b..4c696b2c5c38d 100644
--- a/libc/src/stdfix/sqrtur.cpp
+++ b/libc/src/stdfix/sqrtur.cpp
@@ -9,6 +9,7 @@
 #include "sqrtur.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/sqrtur.h b/libc/src/stdfix/sqrtur.h
index 349ee44156f84..47a9ab6edbbe6 100644
--- a/libc/src/stdfix/sqrtur.h
+++ b/libc/src/stdfix/sqrtur.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_SQRTUR_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/uhksqrtus.cpp b/libc/src/stdfix/uhksqrtus.cpp
index 3be3fd298b5d7..f41e8794a0418 100644
--- a/libc/src/stdfix/uhksqrtus.cpp
+++ b/libc/src/stdfix/uhksqrtus.cpp
@@ -9,6 +9,7 @@
 #include "uhksqrtus.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/uhksqrtus.h b/libc/src/stdfix/uhksqrtus.h
index 1a29e7f8b5e72..0633f7efe688c 100644
--- a/libc/src/stdfix/uhksqrtus.h
+++ b/libc/src/stdfix/uhksqrtus.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_UHKSQRTUS_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/uksqrtui.cpp b/libc/src/stdfix/uksqrtui.cpp
index 9a3d727e0fa2f..504bd06163cf4 100644
--- a/libc/src/stdfix/uksqrtui.cpp
+++ b/libc/src/stdfix/uksqrtui.cpp
@@ -9,6 +9,7 @@
 #include "uksqrtui.h"
 #include "src/__support/common.h"
 #include "src/__support/fixed_point/sqrt.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdfix/uksqrtui.h b/libc/src/stdfix/uksqrtui.h
index 360c6a9179dec..f9fb0e0480b6a 100644
--- a/libc/src/stdfix/uksqrtui.h
+++ b/libc/src/stdfix/uksqrtui.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDFIX_UKSQRTUI_H
 
 #include "include/llvm-libc-macros/stdfix-macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/baremetal/getchar.cpp b/libc/src/stdio/baremetal/getchar.cpp
index e2724bd840f36..1558368a6230b 100644
--- a/libc/src/stdio/baremetal/getchar.cpp
+++ b/libc/src/stdio/baremetal/getchar.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/getchar.h"
 #include "src/__support/OSUtil/io.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/baremetal/printf.cpp b/libc/src/stdio/baremetal/printf.cpp
index 0a9d75789b22c..f34d28ea7c01f 100644
--- a/libc/src/stdio/baremetal/printf.cpp
+++ b/libc/src/stdio/baremetal/printf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/printf.h"
 #include "src/__support/OSUtil/io.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/baremetal/putchar.cpp b/libc/src/stdio/baremetal/putchar.cpp
index 819f098cbaf38..0ba46a5ade6c9 100644
--- a/libc/src/stdio/baremetal/putchar.cpp
+++ b/libc/src/stdio/baremetal/putchar.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/putchar.h"
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/OSUtil/io.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/baremetal/puts.cpp b/libc/src/stdio/baremetal/puts.cpp
index a9a228864118f..5062efda1c0dc 100644
--- a/libc/src/stdio/baremetal/puts.cpp
+++ b/libc/src/stdio/baremetal/puts.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/puts.h"
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/OSUtil/io.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/baremetal/remove.cpp b/libc/src/stdio/baremetal/remove.cpp
index 52bd4a35c53b8..d383d0cf78887 100644
--- a/libc/src/stdio/baremetal/remove.cpp
+++ b/libc/src/stdio/baremetal/remove.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/remove.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/baremetal/vprintf.cpp b/libc/src/stdio/baremetal/vprintf.cpp
index d36a796db9803..982e194aaf48d 100644
--- a/libc/src/stdio/baremetal/vprintf.cpp
+++ b/libc/src/stdio/baremetal/vprintf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/vprintf.h"
 #include "src/__support/OSUtil/io.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/clearerr.h b/libc/src/stdio/clearerr.h
index 48909f94bae98..4e24eb618a37a 100644
--- a/libc/src/stdio/clearerr.h
+++ b/libc/src/stdio/clearerr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_CLEARERR_H
 #define LLVM_LIBC_SRC_STDIO_CLEARERR_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/clearerr_unlocked.h b/libc/src/stdio/clearerr_unlocked.h
index 69d033d2b84df..eceecd922d7fd 100644
--- a/libc/src/stdio/clearerr_unlocked.h
+++ b/libc/src/stdio/clearerr_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_CLEARERR_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_CLEARERR_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fclose.h b/libc/src/stdio/fclose.h
index 404fc3f9c49db..6d9c3618f6dac 100644
--- a/libc/src/stdio/fclose.h
+++ b/libc/src/stdio/fclose.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FCLOSE_H
 #define LLVM_LIBC_SRC_STDIO_FCLOSE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fdopen.h b/libc/src/stdio/fdopen.h
index 814c9563a9af8..bd52317630086 100644
--- a/libc/src/stdio/fdopen.h
+++ b/libc/src/stdio/fdopen.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FDOPEN_H
 #define LLVM_LIBC_SRC_STDIO_FDOPEN_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/feof.h b/libc/src/stdio/feof.h
index 774803726e8ee..f6e8a6ba60f5d 100644
--- a/libc/src/stdio/feof.h
+++ b/libc/src/stdio/feof.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FEOF_H
 #define LLVM_LIBC_SRC_STDIO_FEOF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/feof_unlocked.h b/libc/src/stdio/feof_unlocked.h
index 611895f308f5c..1f967a5faac53 100644
--- a/libc/src/stdio/feof_unlocked.h
+++ b/libc/src/stdio/feof_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FEOF_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_FEOF_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/ferror.h b/libc/src/stdio/ferror.h
index 220307fe591af..2df3c3a00b66b 100644
--- a/libc/src/stdio/ferror.h
+++ b/libc/src/stdio/ferror.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FERROR_H
 #define LLVM_LIBC_SRC_STDIO_FERROR_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/ferror_unlocked.h b/libc/src/stdio/ferror_unlocked.h
index 5ffa3231ebf4b..03461d0a6bc52 100644
--- a/libc/src/stdio/ferror_unlocked.h
+++ b/libc/src/stdio/ferror_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FERROR_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_FERROR_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fflush.h b/libc/src/stdio/fflush.h
index ee767f369a187..e22513b3e6cb7 100644
--- a/libc/src/stdio/fflush.h
+++ b/libc/src/stdio/fflush.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FFLUSH_H
 #define LLVM_LIBC_SRC_STDIO_FFLUSH_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fgetc.h b/libc/src/stdio/fgetc.h
index afa69a7b2557d..f4b2edc3beed3 100644
--- a/libc/src/stdio/fgetc.h
+++ b/libc/src/stdio/fgetc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FGETC_H
 #define LLVM_LIBC_SRC_STDIO_FGETC_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fgetc_unlocked.h b/libc/src/stdio/fgetc_unlocked.h
index a1c80cfbab883..53e323d8b30eb 100644
--- a/libc/src/stdio/fgetc_unlocked.h
+++ b/libc/src/stdio/fgetc_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FGETC_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_FGETC_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fgets.h b/libc/src/stdio/fgets.h
index 6f73fa7bf03de..f7abd4639dcdb 100644
--- a/libc/src/stdio/fgets.h
+++ b/libc/src/stdio/fgets.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FGETS_H
 #define LLVM_LIBC_SRC_STDIO_FGETS_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fileno.h b/libc/src/stdio/fileno.h
index 1d328448f26e7..d79bf1fbbfe0b 100644
--- a/libc/src/stdio/fileno.h
+++ b/libc/src/stdio/fileno.h
@@ -11,6 +11,7 @@
 #define LLVM_LIBC_SRC_STDIO_FILENO_H
 
 #include "include/llvm-libc-types/FILE.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/flockfile.cpp b/libc/src/stdio/flockfile.cpp
index f40e34b91b385..d5dbcb553fdb8 100644
--- a/libc/src/stdio/flockfile.cpp
+++ b/libc/src/stdio/flockfile.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/flockfile.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/flockfile.h b/libc/src/stdio/flockfile.h
index 4b0436a802663..3d98b7645b62e 100644
--- a/libc/src/stdio/flockfile.h
+++ b/libc/src/stdio/flockfile.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FLOCKFILE_H
 #define LLVM_LIBC_SRC_STDIO_FLOCKFILE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fopen.h b/libc/src/stdio/fopen.h
index f359ffecba6c2..657c3781e9f43 100644
--- a/libc/src/stdio/fopen.h
+++ b/libc/src/stdio/fopen.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FOPEN_H
 #define LLVM_LIBC_SRC_STDIO_FOPEN_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fopencookie.cpp b/libc/src/stdio/fopencookie.cpp
index 49cf700d8bfdf..a38b4c57ca794 100644
--- a/libc/src/stdio/fopencookie.cpp
+++ b/libc/src/stdio/fopencookie.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/CPP/new.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/libc/src/stdio/fopencookie.h b/libc/src/stdio/fopencookie.h
index c977618b948ad..e8b455be995ec 100644
--- a/libc/src/stdio/fopencookie.h
+++ b/libc/src/stdio/fopencookie.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FOPENCOOKIE_H
 #define LLVM_LIBC_SRC_STDIO_FOPENCOOKIE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fprintf.cpp b/libc/src/stdio/fprintf.cpp
index 35ef48a0b9b49..026e0ad37bd70 100644
--- a/libc/src/stdio/fprintf.cpp
+++ b/libc/src/stdio/fprintf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/vfprintf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/fprintf.h b/libc/src/stdio/fprintf.h
index 952b306c39f00..5792d9d4aa852 100644
--- a/libc/src/stdio/fprintf.h
+++ b/libc/src/stdio/fprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_FPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fputc.h b/libc/src/stdio/fputc.h
index 4ccaff896918c..b3dea84b594f0 100644
--- a/libc/src/stdio/fputc.h
+++ b/libc/src/stdio/fputc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FPUTC_H
 #define LLVM_LIBC_SRC_STDIO_FPUTC_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fputs.h b/libc/src/stdio/fputs.h
index de6e97fc72f9c..9783d0f11de94 100644
--- a/libc/src/stdio/fputs.h
+++ b/libc/src/stdio/fputs.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FPUTS_H
 #define LLVM_LIBC_SRC_STDIO_FPUTS_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fread.h b/libc/src/stdio/fread.h
index abf6635cae582..c0382ee95da31 100644
--- a/libc/src/stdio/fread.h
+++ b/libc/src/stdio/fread.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FREAD_H
 #define LLVM_LIBC_SRC_STDIO_FREAD_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fread_unlocked.h b/libc/src/stdio/fread_unlocked.h
index 2661d241fbe00..53c6e4dfd7c88 100644
--- a/libc/src/stdio/fread_unlocked.h
+++ b/libc/src/stdio/fread_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FREAD_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_FREAD_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fscanf.cpp b/libc/src/stdio/fscanf.cpp
index 7f80c962d5d1f..1f465302a9937 100644
--- a/libc/src/stdio/fscanf.cpp
+++ b/libc/src/stdio/fscanf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/vfscanf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/fscanf.h b/libc/src/stdio/fscanf.h
index 3871a8ee5e575..844d14992eb83 100644
--- a/libc/src/stdio/fscanf.h
+++ b/libc/src/stdio/fscanf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FSCANF_H
 #define LLVM_LIBC_SRC_STDIO_FSCANF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fseek.h b/libc/src/stdio/fseek.h
index a3c8683e6602c..1e9464c72dcac 100644
--- a/libc/src/stdio/fseek.h
+++ b/libc/src/stdio/fseek.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FSEEK_H
 #define LLVM_LIBC_SRC_STDIO_FSEEK_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fseeko.h b/libc/src/stdio/fseeko.h
index e541da43f427a..20c2ccb220bea 100644
--- a/libc/src/stdio/fseeko.h
+++ b/libc/src/stdio/fseeko.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FSEEKO_H
 #define LLVM_LIBC_SRC_STDIO_FSEEKO_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/ftell.h b/libc/src/stdio/ftell.h
index a2d80b089e649..c1a7a9b1ea64e 100644
--- a/libc/src/stdio/ftell.h
+++ b/libc/src/stdio/ftell.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FTELL_H
 #define LLVM_LIBC_SRC_STDIO_FTELL_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/ftello.h b/libc/src/stdio/ftello.h
index 102abe7cf4e1c..11dc400ade32a 100644
--- a/libc/src/stdio/ftello.h
+++ b/libc/src/stdio/ftello.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FTELLO_H
 #define LLVM_LIBC_SRC_STDIO_FTELLO_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/funlockfile.cpp b/libc/src/stdio/funlockfile.cpp
index 71e3a8fd1df35..6ee592706354f 100644
--- a/libc/src/stdio/funlockfile.cpp
+++ b/libc/src/stdio/funlockfile.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/funlockfile.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/funlockfile.h b/libc/src/stdio/funlockfile.h
index d7de7d0ebe63e..fa7eb07651bea 100644
--- a/libc/src/stdio/funlockfile.h
+++ b/libc/src/stdio/funlockfile.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FUNLOCKFILE_H
 #define LLVM_LIBC_SRC_STDIO_FUNLOCKFILE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fwrite.h b/libc/src/stdio/fwrite.h
index 92012782c42f0..bcbbf21b4d3e6 100644
--- a/libc/src/stdio/fwrite.h
+++ b/libc/src/stdio/fwrite.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FWRITE_H
 #define LLVM_LIBC_SRC_STDIO_FWRITE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/fwrite_unlocked.h b/libc/src/stdio/fwrite_unlocked.h
index e5c92503d99d0..970414e62d095 100644
--- a/libc/src/stdio/fwrite_unlocked.h
+++ b/libc/src/stdio/fwrite_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_FWRITE_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_FWRITE_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/generic/clearerr.cpp b/libc/src/stdio/generic/clearerr.cpp
index 69aa0f932bcb3..e4928fd3d6384 100644
--- a/libc/src/stdio/generic/clearerr.cpp
+++ b/libc/src/stdio/generic/clearerr.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/clearerr.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/clearerr_unlocked.cpp b/libc/src/stdio/generic/clearerr_unlocked.cpp
index bb3d8fe18aeca..a8e7b45552ecb 100644
--- a/libc/src/stdio/generic/clearerr_unlocked.cpp
+++ b/libc/src/stdio/generic/clearerr_unlocked.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/clearerr_unlocked.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fclose.cpp b/libc/src/stdio/generic/fclose.cpp
index ac0403df84025..8dd2ce807a201 100644
--- a/libc/src/stdio/generic/fclose.cpp
+++ b/libc/src/stdio/generic/fclose.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fclose.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/feof.cpp b/libc/src/stdio/generic/feof.cpp
index aabad6009252b..6a76b28198d55 100644
--- a/libc/src/stdio/generic/feof.cpp
+++ b/libc/src/stdio/generic/feof.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/feof.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/feof_unlocked.cpp b/libc/src/stdio/generic/feof_unlocked.cpp
index 4208bd749df74..1d152bcb97f59 100644
--- a/libc/src/stdio/generic/feof_unlocked.cpp
+++ b/libc/src/stdio/generic/feof_unlocked.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/feof_unlocked.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/ferror.cpp b/libc/src/stdio/generic/ferror.cpp
index f8c7dddb709e8..d0e29ad90d504 100644
--- a/libc/src/stdio/generic/ferror.cpp
+++ b/libc/src/stdio/generic/ferror.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ferror.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/ferror_unlocked.cpp b/libc/src/stdio/generic/ferror_unlocked.cpp
index d502fb26c358b..db27fcc41c196 100644
--- a/libc/src/stdio/generic/ferror_unlocked.cpp
+++ b/libc/src/stdio/generic/ferror_unlocked.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ferror_unlocked.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fflush.cpp b/libc/src/stdio/generic/fflush.cpp
index dba8c6abfd1ef..81e19bdcc8e20 100644
--- a/libc/src/stdio/generic/fflush.cpp
+++ b/libc/src/stdio/generic/fflush.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fflush.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fgetc.cpp b/libc/src/stdio/generic/fgetc.cpp
index 61d1191c56e06..c88fdb72988e8 100644
--- a/libc/src/stdio/generic/fgetc.cpp
+++ b/libc/src/stdio/generic/fgetc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fgetc.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fgetc_unlocked.cpp b/libc/src/stdio/generic/fgetc_unlocked.cpp
index a3fd140cb3529..2ee416866c161 100644
--- a/libc/src/stdio/generic/fgetc_unlocked.cpp
+++ b/libc/src/stdio/generic/fgetc_unlocked.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fgetc_unlocked.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fgets.cpp b/libc/src/stdio/generic/fgets.cpp
index 17229460adfea..e010705df52a2 100644
--- a/libc/src/stdio/generic/fgets.cpp
+++ b/libc/src/stdio/generic/fgets.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fgets.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stddef.h>
 #include <stdio.h>
diff --git a/libc/src/stdio/generic/fileno.cpp b/libc/src/stdio/generic/fileno.cpp
index 71bb1eebe9500..06f9135dbea24 100644
--- a/libc/src/stdio/generic/fileno.cpp
+++ b/libc/src/stdio/generic/fileno.cpp
@@ -11,6 +11,7 @@
 
 #include "include/llvm-libc-types/FILE.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdio/generic/fopen.cpp b/libc/src/stdio/generic/fopen.cpp
index fc4a55532f236..66b96df18486e 100644
--- a/libc/src/stdio/generic/fopen.cpp
+++ b/libc/src/stdio/generic/fopen.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fopen.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fputc.cpp b/libc/src/stdio/generic/fputc.cpp
index 7c928855c58ef..86064a07bfb23 100644
--- a/libc/src/stdio/generic/fputc.cpp
+++ b/libc/src/stdio/generic/fputc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fputc.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fputs.cpp b/libc/src/stdio/generic/fputs.cpp
index 3374f571f1e90..f4b57bced23cf 100644
--- a/libc/src/stdio/generic/fputs.cpp
+++ b/libc/src/stdio/generic/fputs.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fread.cpp b/libc/src/stdio/generic/fread.cpp
index aa87664eaf30b..ddc00a1f8c959 100644
--- a/libc/src/stdio/generic/fread.cpp
+++ b/libc/src/stdio/generic/fread.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fread.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fread_unlocked.cpp b/libc/src/stdio/generic/fread_unlocked.cpp
index 5c8096925b3b1..acc0cfb7565bc 100644
--- a/libc/src/stdio/generic/fread_unlocked.cpp
+++ b/libc/src/stdio/generic/fread_unlocked.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fread_unlocked.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fseek.cpp b/libc/src/stdio/generic/fseek.cpp
index 6d3feb08583af..21820da18542a 100644
--- a/libc/src/stdio/generic/fseek.cpp
+++ b/libc/src/stdio/generic/fseek.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fseek.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/generic/fseeko.cpp b/libc/src/stdio/generic/fseeko.cpp
index d0ccfc4a9903c..7456b4a219079 100644
--- a/libc/src/stdio/generic/fseeko.cpp
+++ b/libc/src/stdio/generic/fseeko.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fseeko.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/generic/ftell.cpp b/libc/src/stdio/generic/ftell.cpp
index 51bc1723b382e..ec15ca4e96caf 100644
--- a/libc/src/stdio/generic/ftell.cpp
+++ b/libc/src/stdio/generic/ftell.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/ftell.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/generic/ftello.cpp b/libc/src/stdio/generic/ftello.cpp
index f3a5d4784a087..e3d0726ec4843 100644
--- a/libc/src/stdio/generic/ftello.cpp
+++ b/libc/src/stdio/generic/ftello.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/ftello.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/generic/fwrite.cpp b/libc/src/stdio/generic/fwrite.cpp
index e5f2df74346f1..c97d33aac84f2 100644
--- a/libc/src/stdio/generic/fwrite.cpp
+++ b/libc/src/stdio/generic/fwrite.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fwrite.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/fwrite_unlocked.cpp b/libc/src/stdio/generic/fwrite_unlocked.cpp
index efda26f8bc413..8ab3a2b4b5fcc 100644
--- a/libc/src/stdio/generic/fwrite_unlocked.cpp
+++ b/libc/src/stdio/generic/fwrite_unlocked.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fwrite_unlocked.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/getc.cpp b/libc/src/stdio/generic/getc.cpp
index aaa5b8cbef80d..7dfefbb0eea07 100644
--- a/libc/src/stdio/generic/getc.cpp
+++ b/libc/src/stdio/generic/getc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/getc.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/getc_unlocked.cpp b/libc/src/stdio/generic/getc_unlocked.cpp
index 8a5a6056e2738..f9e14b38033ff 100644
--- a/libc/src/stdio/generic/getc_unlocked.cpp
+++ b/libc/src/stdio/generic/getc_unlocked.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/getc_unlocked.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/getchar.cpp b/libc/src/stdio/generic/getchar.cpp
index d41711df796e0..e4776ecd9e146 100644
--- a/libc/src/stdio/generic/getchar.cpp
+++ b/libc/src/stdio/generic/getchar.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/getchar.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/getchar_unlocked.cpp b/libc/src/stdio/generic/getchar_unlocked.cpp
index 6c10e7112608e..e5f0a41ef9b79 100644
--- a/libc/src/stdio/generic/getchar_unlocked.cpp
+++ b/libc/src/stdio/generic/getchar_unlocked.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/getchar_unlocked.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/printf.cpp b/libc/src/stdio/generic/printf.cpp
index 3c98084cb96a7..1daafde939834 100644
--- a/libc/src/stdio/generic/printf.cpp
+++ b/libc/src/stdio/generic/printf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/vfprintf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/generic/putc.cpp b/libc/src/stdio/generic/putc.cpp
index 2f08c8ee7a713..6713416506759 100644
--- a/libc/src/stdio/generic/putc.cpp
+++ b/libc/src/stdio/generic/putc.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/putc.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/putchar.cpp b/libc/src/stdio/generic/putchar.cpp
index 21c621698e4ff..f2dfc822ce553 100644
--- a/libc/src/stdio/generic/putchar.cpp
+++ b/libc/src/stdio/generic/putchar.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/putchar.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/puts.cpp b/libc/src/stdio/generic/puts.cpp
index 63bf4e7b8ad64..8a18d8cc97a4f 100644
--- a/libc/src/stdio/generic/puts.cpp
+++ b/libc/src/stdio/generic/puts.cpp
@@ -10,6 +10,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/ungetc.cpp b/libc/src/stdio/generic/ungetc.cpp
index 4c122e0026f26..c1c2f8a85f65a 100644
--- a/libc/src/stdio/generic/ungetc.cpp
+++ b/libc/src/stdio/generic/ungetc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ungetc.h"
 #include "src/__support/File/file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/generic/vprintf.cpp b/libc/src/stdio/generic/vprintf.cpp
index 11ff81ec2e25f..0a7ab7f99de66 100644
--- a/libc/src/stdio/generic/vprintf.cpp
+++ b/libc/src/stdio/generic/vprintf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/vfprintf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/getc.h b/libc/src/stdio/getc.h
index 60b856bef2f38..18367f544630a 100644
--- a/libc/src/stdio/getc.h
+++ b/libc/src/stdio/getc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETC_H
 #define LLVM_LIBC_SRC_STDIO_GETC_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/getc_unlocked.h b/libc/src/stdio/getc_unlocked.h
index 5e22c22f5face..9484d5518ef5c 100644
--- a/libc/src/stdio/getc_unlocked.h
+++ b/libc/src/stdio/getc_unlocked.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETC_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_GETC_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/getchar.h b/libc/src/stdio/getchar.h
index 45be96ddb4517..c9497fea0f55c 100644
--- a/libc/src/stdio/getchar.h
+++ b/libc/src/stdio/getchar.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETCHAR_H
 #define LLVM_LIBC_SRC_STDIO_GETCHAR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int getchar();
diff --git a/libc/src/stdio/getchar_unlocked.h b/libc/src/stdio/getchar_unlocked.h
index 390da56b601e2..96fae852daecc 100644
--- a/libc/src/stdio/getchar_unlocked.h
+++ b/libc/src/stdio/getchar_unlocked.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_GETCHAR_UNLOCKED_H
 #define LLVM_LIBC_SRC_STDIO_GETCHAR_UNLOCKED_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int getchar_unlocked();
diff --git a/libc/src/stdio/gpu/clearerr.cpp b/libc/src/stdio/gpu/clearerr.cpp
index 25fab6ad3f085..16e5bf1ab5122 100644
--- a/libc/src/stdio/gpu/clearerr.cpp
+++ b/libc/src/stdio/gpu/clearerr.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/clearerr.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fclose.cpp b/libc/src/stdio/gpu/fclose.cpp
index e2c578a4e4a64..8eb15212703cc 100644
--- a/libc/src/stdio/gpu/fclose.cpp
+++ b/libc/src/stdio/gpu/fclose.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdio/fclose.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/gpu/file.h"
 
 #include <stdio.h>
diff --git a/libc/src/stdio/gpu/feof.cpp b/libc/src/stdio/gpu/feof.cpp
index 4bc03cd5b1700..7a15567b70ec9 100644
--- a/libc/src/stdio/gpu/feof.cpp
+++ b/libc/src/stdio/gpu/feof.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/feof.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/ferror.cpp b/libc/src/stdio/gpu/ferror.cpp
index b456d22c87f3f..fc1332eb22223 100644
--- a/libc/src/stdio/gpu/ferror.cpp
+++ b/libc/src/stdio/gpu/ferror.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ferror.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fflush.cpp b/libc/src/stdio/gpu/fflush.cpp
index ef23795d55ccf..1bbc02abf3024 100644
--- a/libc/src/stdio/gpu/fflush.cpp
+++ b/libc/src/stdio/gpu/fflush.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fflush.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fgetc.cpp b/libc/src/stdio/gpu/fgetc.cpp
index 31246812cdd44..c9e8def994303 100644
--- a/libc/src/stdio/gpu/fgetc.cpp
+++ b/libc/src/stdio/gpu/fgetc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fgetc.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fgets.cpp b/libc/src/stdio/gpu/fgets.cpp
index 865723012a0c7..ac35861d7b3a9 100644
--- a/libc/src/stdio/gpu/fgets.cpp
+++ b/libc/src/stdio/gpu/fgets.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fgets.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/feof.h"
 #include "src/stdio/ferror.h"
 
diff --git a/libc/src/stdio/gpu/file.h b/libc/src/stdio/gpu/file.h
index 8a0ab4351ab07..ba2611524fb0c 100644
--- a/libc/src/stdio/gpu/file.h
+++ b/libc/src/stdio/gpu/file.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include <stdio.h>
diff --git a/libc/src/stdio/gpu/fopen.cpp b/libc/src/stdio/gpu/fopen.cpp
index 17a99be82c5c8..1dd3edc79796a 100644
--- a/libc/src/stdio/gpu/fopen.cpp
+++ b/libc/src/stdio/gpu/fopen.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fopen.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/gpu/file.h"
 
 #include <stdio.h>
diff --git a/libc/src/stdio/gpu/fputc.cpp b/libc/src/stdio/gpu/fputc.cpp
index ef15654fcf53d..18e68ad90997b 100644
--- a/libc/src/stdio/gpu/fputc.cpp
+++ b/libc/src/stdio/gpu/fputc.cpp
@@ -6,8 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "file.h"
 #include "src/stdio/fputc.h"
+#include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fputs.cpp b/libc/src/stdio/gpu/fputs.cpp
index fc666e4532e7a..aa6c7dba91405 100644
--- a/libc/src/stdio/gpu/fputs.cpp
+++ b/libc/src/stdio/gpu/fputs.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fputs.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/stdio/gpu/file.h"
 
diff --git a/libc/src/stdio/gpu/fread.cpp b/libc/src/stdio/gpu/fread.cpp
index 48d1ec29a1e45..224b1333f2c71 100644
--- a/libc/src/stdio/gpu/fread.cpp
+++ b/libc/src/stdio/gpu/fread.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdio/fread.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/gpu/file.h"
 
 #include <stdio.h>
diff --git a/libc/src/stdio/gpu/fseek.cpp b/libc/src/stdio/gpu/fseek.cpp
index 2ebde22420fbb..08ff5c3d5e889 100644
--- a/libc/src/stdio/gpu/fseek.cpp
+++ b/libc/src/stdio/gpu/fseek.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fseek.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/ftell.cpp b/libc/src/stdio/gpu/ftell.cpp
index 5e75a616045eb..d05de07a41285 100644
--- a/libc/src/stdio/gpu/ftell.cpp
+++ b/libc/src/stdio/gpu/ftell.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ftell.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/fwrite.cpp b/libc/src/stdio/gpu/fwrite.cpp
index fc71aea0f0c56..79ac517f2a891 100644
--- a/libc/src/stdio/gpu/fwrite.cpp
+++ b/libc/src/stdio/gpu/fwrite.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/fwrite.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/getc.cpp b/libc/src/stdio/gpu/getc.cpp
index 844797b1f9349..0ec8ce87482ae 100644
--- a/libc/src/stdio/gpu/getc.cpp
+++ b/libc/src/stdio/gpu/getc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/getc.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/getchar.cpp b/libc/src/stdio/gpu/getchar.cpp
index fd7fdd421cf8b..3b12bb6df7c49 100644
--- a/libc/src/stdio/gpu/getchar.cpp
+++ b/libc/src/stdio/gpu/getchar.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/getchar.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/putc.cpp b/libc/src/stdio/gpu/putc.cpp
index c231b0c6bcb2c..464f9954182ba 100644
--- a/libc/src/stdio/gpu/putc.cpp
+++ b/libc/src/stdio/gpu/putc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/putc.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/putchar.cpp b/libc/src/stdio/gpu/putchar.cpp
index 2efffe9b13103..82c29f683598c 100644
--- a/libc/src/stdio/gpu/putchar.cpp
+++ b/libc/src/stdio/gpu/putchar.cpp
@@ -6,8 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "file.h"
 #include "src/stdio/putchar.h"
+#include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/puts.cpp b/libc/src/stdio/gpu/puts.cpp
index 081d53f7995f6..ad62982fd41fc 100644
--- a/libc/src/stdio/gpu/puts.cpp
+++ b/libc/src/stdio/gpu/puts.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/puts.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/stdio/gpu/file.h"
 
diff --git a/libc/src/stdio/gpu/remove.cpp b/libc/src/stdio/gpu/remove.cpp
index bea8d61fc1426..849e95e91779a 100644
--- a/libc/src/stdio/gpu/remove.cpp
+++ b/libc/src/stdio/gpu/remove.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/remove.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/gpu/stderr.cpp b/libc/src/stdio/gpu/stderr.cpp
index d0682f92c3b17..2dbf60b7abda1 100644
--- a/libc/src/stdio/gpu/stderr.cpp
+++ b/libc/src/stdio/gpu/stderr.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/gpu/stdin.cpp b/libc/src/stdio/gpu/stdin.cpp
index 2e00b185b2306..e9120a5cf3577 100644
--- a/libc/src/stdio/gpu/stdin.cpp
+++ b/libc/src/stdio/gpu/stdin.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/gpu/stdout.cpp b/libc/src/stdio/gpu/stdout.cpp
index 0db8971ffc601..e6d62b929976f 100644
--- a/libc/src/stdio/gpu/stdout.cpp
+++ b/libc/src/stdio/gpu/stdout.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/gpu/ungetc.cpp b/libc/src/stdio/gpu/ungetc.cpp
index 84844bd64ead1..00a68148a669b 100644
--- a/libc/src/stdio/gpu/ungetc.cpp
+++ b/libc/src/stdio/gpu/ungetc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/ungetc.h"
 #include "file.h"
+#include "src/__support/macros/config.h"
 
 #include <stdio.h>
 
diff --git a/libc/src/stdio/linux/fdopen.cpp b/libc/src/stdio/linux/fdopen.cpp
index 6efe1571db789..7d72fdc88e9fb 100644
--- a/libc/src/stdio/linux/fdopen.cpp
+++ b/libc/src/stdio/linux/fdopen.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/fdopen.h"
 
 #include "src/__support/File/linux/file.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/linux/remove.cpp b/libc/src/stdio/linux/remove.cpp
index 86690a48f59a9..9e299aaf43e45 100644
--- a/libc/src/stdio/linux/remove.cpp
+++ b/libc/src/stdio/linux/remove.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>       // For AT_* macros.
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/stdio/linux/rename.cpp b/libc/src/stdio/linux/rename.cpp
index bd69935e39926..69fd22720ed19 100644
--- a/libc/src/stdio/linux/rename.cpp
+++ b/libc/src/stdio/linux/rename.cpp
@@ -10,6 +10,7 @@
 #include "include/llvm-libc-macros/linux/fcntl-macros.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/stdio/printf.h b/libc/src/stdio/printf.h
index 9ccc27da5b7cd..67d26cc9ef6cf 100644
--- a/libc/src/stdio/printf.h
+++ b/libc/src/stdio/printf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PRINTF_H
 #define LLVM_LIBC_SRC_STDIO_PRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/printf_core/char_converter.h b/libc/src/stdio/printf_core/char_converter.h
index 8a1dbe172ba7a..2596cba813c2e 100644
--- a/libc/src/stdio/printf_core/char_converter.h
+++ b/libc/src/stdio/printf_core/char_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CHAR_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CHAR_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/converter.cpp b/libc/src/stdio/printf_core/converter.cpp
index bdfb857ed34df..37af5dc1ea026 100644
--- a/libc/src/stdio/printf_core/converter.cpp
+++ b/libc/src/stdio/printf_core/converter.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/printf_core/converter.h"
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/printf_config.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/converter.h b/libc/src/stdio/printf_core/converter.h
index f98986cfbd693..2b3f06d0aa7a3 100644
--- a/libc/src/stdio/printf_core/converter.h
+++ b/libc/src/stdio/printf_core/converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/printf_core/converter_utils.h b/libc/src/stdio/printf_core/converter_utils.h
index 163107cfa915f..3f25ebfd40ed9 100644
--- a/libc/src/stdio/printf_core/converter_utils.h
+++ b/libc/src/stdio/printf_core/converter_utils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_CONVERTER_UTILS_H
 
 #include "src/__support/CPP/limits.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 
 #include <inttypes.h>
diff --git a/libc/src/stdio/printf_core/fixed_converter.h b/libc/src/stdio/printf_core/fixed_converter.h
index 5c590fbe8caa2..c8812d77b62e3 100644
--- a/libc/src/stdio/printf_core/fixed_converter.h
+++ b/libc/src/stdio/printf_core/fixed_converter.h
@@ -15,6 +15,7 @@
 #include "src/__support/fixed_point/fx_rep.h"
 #include "src/__support/integer_to_string.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/float_dec_converter.h b/libc/src/stdio/printf_core/float_dec_converter.h
index 060ec7447af2d..e39ba6ecea8d4 100644
--- a/libc/src/stdio/printf_core/float_dec_converter.h
+++ b/libc/src/stdio/printf_core/float_dec_converter.h
@@ -16,6 +16,7 @@
 #include "src/__support/float_to_string.h"
 #include "src/__support/integer_to_string.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/float_inf_nan_converter.h"
diff --git a/libc/src/stdio/printf_core/float_hex_converter.h b/libc/src/stdio/printf_core/float_hex_converter.h
index 92dcd0a87c965..0b3ff3dd1cbfd 100644
--- a/libc/src/stdio/printf_core/float_hex_converter.h
+++ b/libc/src/stdio/printf_core/float_hex_converter.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/rounding_mode.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/float_inf_nan_converter.h"
diff --git a/libc/src/stdio/printf_core/float_inf_nan_converter.h b/libc/src/stdio/printf_core/float_inf_nan_converter.h
index 327914454a32b..a7da682b835be 100644
--- a/libc/src/stdio/printf_core/float_inf_nan_converter.h
+++ b/libc/src/stdio/printf_core/float_inf_nan_converter.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_FLOAT_INF_NAN_CONVERTER_H
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/int_converter.h b/libc/src/stdio/printf_core/int_converter.h
index 4879a50ef2ec3..f345e86b97a69 100644
--- a/libc/src/stdio/printf_core/int_converter.h
+++ b/libc/src/stdio/printf_core/int_converter.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/span.h"
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/integer_to_string.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/parser.h b/libc/src/stdio/printf_core/parser.h
index 165c7f1592e77..207affd83f65b 100644
--- a/libc/src/stdio/printf_core/parser.h
+++ b/libc/src/stdio/printf_core/parser.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/algorithm.h" // max
 #include "src/__support/CPP/optional.h"
 #include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/printf_config.h"
diff --git a/libc/src/stdio/printf_core/printf_main.cpp b/libc/src/stdio/printf_core/printf_main.cpp
index b1fa257551141..bd4a5a168bd23 100644
--- a/libc/src/stdio/printf_core/printf_main.cpp
+++ b/libc/src/stdio/printf_core/printf_main.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/printf_core/printf_main.h"
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/parser.h"
diff --git a/libc/src/stdio/printf_core/printf_main.h b/libc/src/stdio/printf_core/printf_main.h
index 548f8dab2589f..3e73bf36e0e30 100644
--- a/libc/src/stdio/printf_core/printf_main.h
+++ b/libc/src/stdio/printf_core/printf_main.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PRINTF_MAIN_H
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/writer.h"
 
 #include <stddef.h>
diff --git a/libc/src/stdio/printf_core/ptr_converter.h b/libc/src/stdio/printf_core/ptr_converter.h
index 796080c5a3dfb..bf84718dfe6a8 100644
--- a/libc/src/stdio/printf_core/ptr_converter.h
+++ b/libc/src/stdio/printf_core/ptr_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PTR_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_PTR_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/int_converter.h"
 #include "src/stdio/printf_core/string_converter.h"
diff --git a/libc/src/stdio/printf_core/string_converter.h b/libc/src/stdio/printf_core/string_converter.h
index de844964a4f38..1f36d51124107 100644
--- a/libc/src/stdio/printf_core/string_converter.h
+++ b/libc/src/stdio/printf_core/string_converter.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_STRING_CONVERTER_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/converter_utils.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/vfprintf_internal.h b/libc/src/stdio/printf_core/vfprintf_internal.h
index 4546f3ba7b1db..0148a30d52189 100644
--- a/libc/src/stdio/printf_core/vfprintf_internal.h
+++ b/libc/src/stdio/printf_core/vfprintf_internal.h
@@ -12,6 +12,7 @@
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
diff --git a/libc/src/stdio/printf_core/write_int_converter.h b/libc/src/stdio/printf_core/write_int_converter.h
index 87679af50dff1..a47cb41cb3287 100644
--- a/libc/src/stdio/printf_core/write_int_converter.h
+++ b/libc/src/stdio/printf_core/write_int_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PRINTF_CORE_WRITE_INT_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_WRITE_INT_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/printf_core/writer.cpp b/libc/src/stdio/printf_core/writer.cpp
index dd24cceed961d..d1cf85df1c8f8 100644
--- a/libc/src/stdio/printf_core/writer.cpp
+++ b/libc/src/stdio/printf_core/writer.cpp
@@ -8,6 +8,7 @@
 
 #include "writer.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/string/memory_utils/inline_memset.h"
 #include <stddef.h>
diff --git a/libc/src/stdio/printf_core/writer.h b/libc/src/stdio/printf_core/writer.h
index fc95ead56dc2c..89421561f3b2e 100644
--- a/libc/src/stdio/printf_core/writer.h
+++ b/libc/src/stdio/printf_core/writer.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_PRINTF_CORE_WRITER_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "src/string/memory_utils/inline_memcpy.h"
diff --git a/libc/src/stdio/putc.h b/libc/src/stdio/putc.h
index c36441b9970ef..18aa7476f5e42 100644
--- a/libc/src/stdio/putc.h
+++ b/libc/src/stdio/putc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PUTC_H
 #define LLVM_LIBC_SRC_STDIO_PUTC_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/putchar.h b/libc/src/stdio/putchar.h
index 84ecd7c40d894..84a5ea8d4493d 100644
--- a/libc/src/stdio/putchar.h
+++ b/libc/src/stdio/putchar.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PUTCHAR_H
 #define LLVM_LIBC_SRC_STDIO_PUTCHAR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int putchar(int c);
diff --git a/libc/src/stdio/puts.h b/libc/src/stdio/puts.h
index 72b0eba7de42e..d93495b0fbb46 100644
--- a/libc/src/stdio/puts.h
+++ b/libc/src/stdio/puts.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_PUTS_H
 #define LLVM_LIBC_SRC_STDIO_PUTS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int puts(const char *__restrict str);
diff --git a/libc/src/stdio/remove.h b/libc/src/stdio/remove.h
index 1bdd6e0ee7a66..d15c88c88f7ee 100644
--- a/libc/src/stdio/remove.h
+++ b/libc/src/stdio/remove.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_REMOVE_H
 #define LLVM_LIBC_SRC_STDIO_REMOVE_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/rename.h b/libc/src/stdio/rename.h
index 298577b13a3c0..5c9ab88346c81 100644
--- a/libc/src/stdio/rename.h
+++ b/libc/src/stdio/rename.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_RENAME_H
 #define LLVM_LIBC_SRC_STDIO_RENAME_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int rename(const char *oldpath, const char *newpath);
diff --git a/libc/src/stdio/scanf.cpp b/libc/src/stdio/scanf.cpp
index 5d98498a6af77..69c38c165b388 100644
--- a/libc/src/stdio/scanf.cpp
+++ b/libc/src/stdio/scanf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/vfscanf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/scanf.h b/libc/src/stdio/scanf.h
index bf83a0667e0fb..f3349c75c6351 100644
--- a/libc/src/stdio/scanf.h
+++ b/libc/src/stdio/scanf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int scanf(const char *__restrict format, ...);
diff --git a/libc/src/stdio/scanf_core/converter.cpp b/libc/src/stdio/scanf_core/converter.cpp
index 3f12afda34ec6..b1ee8cd1e74bb 100644
--- a/libc/src/stdio/scanf_core/converter.cpp
+++ b/libc/src/stdio/scanf_core/converter.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/scanf_core/converter.h"
 
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/converter.h b/libc/src/stdio/scanf_core/converter.h
index 9f16a4d3971eb..3f514eeb75bdf 100644
--- a/libc/src/stdio/scanf_core/converter.h
+++ b/libc/src/stdio/scanf_core/converter.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_CONVERTER_H
 
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/converter_utils.h b/libc/src/stdio/scanf_core/converter_utils.h
index 9822b0f63a09d..61954556b838a 100644
--- a/libc/src/stdio/scanf_core/converter_utils.h
+++ b/libc/src/stdio/scanf_core/converter_utils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_CONVERTER_UTILS_H
 
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/stdio/scanf_core/core_structs.h"
 
diff --git a/libc/src/stdio/scanf_core/core_structs.h b/libc/src/stdio/scanf_core/core_structs.h
index 68578a3abb9d4..87b2429ae550e 100644
--- a/libc/src/stdio/scanf_core/core_structs.h
+++ b/libc/src/stdio/scanf_core/core_structs.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/bitset.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 
 #include <inttypes.h>
 #include <stddef.h>
diff --git a/libc/src/stdio/scanf_core/current_pos_converter.h b/libc/src/stdio/scanf_core/current_pos_converter.h
index 9db9ac0bda6dc..8af1cc0ca0c27 100644
--- a/libc/src/stdio/scanf_core/current_pos_converter.h
+++ b/libc/src/stdio/scanf_core/current_pos_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_CORE_CURRENT_POS_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_CURRENT_POS_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/converter_utils.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
diff --git a/libc/src/stdio/scanf_core/float_converter.cpp b/libc/src/stdio/scanf_core/float_converter.cpp
index ebb5a1eec6a97..b2d60a249a5a7 100644
--- a/libc/src/stdio/scanf_core/float_converter.cpp
+++ b/libc/src/stdio/scanf_core/float_converter.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/limits.h"
 #include "src/__support/char_vector.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/converter_utils.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
diff --git a/libc/src/stdio/scanf_core/float_converter.h b/libc/src/stdio/scanf_core/float_converter.h
index fa34e3600c409..bd44847830fd1 100644
--- a/libc/src/stdio/scanf_core/float_converter.h
+++ b/libc/src/stdio/scanf_core/float_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_CORE_FLOAT_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_FLOAT_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/int_converter.cpp b/libc/src/stdio/scanf_core/int_converter.cpp
index bbd6e1c8be5ba..136db2a3773e1 100644
--- a/libc/src/stdio/scanf_core/int_converter.cpp
+++ b/libc/src/stdio/scanf_core/int_converter.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/converter_utils.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
diff --git a/libc/src/stdio/scanf_core/int_converter.h b/libc/src/stdio/scanf_core/int_converter.h
index 97385372c3d9b..5fc27ad0faafc 100644
--- a/libc/src/stdio/scanf_core/int_converter.h
+++ b/libc/src/stdio/scanf_core/int_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_CORE_INT_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_INT_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/parser.h b/libc/src/stdio/scanf_core/parser.h
index 92497520701bc..6cc5b30eb0db2 100644
--- a/libc/src/stdio/scanf_core/parser.h
+++ b/libc/src/stdio/scanf_core/parser.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/arg_list.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/scanf_config.h"
diff --git a/libc/src/stdio/scanf_core/ptr_converter.cpp b/libc/src/stdio/scanf_core/ptr_converter.cpp
index 35e28cd1271dc..1a42a389d74b4 100644
--- a/libc/src/stdio/scanf_core/ptr_converter.cpp
+++ b/libc/src/stdio/scanf_core/ptr_converter.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdio/scanf_core/ptr_converter.h"
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/converter_utils.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/int_converter.h"
diff --git a/libc/src/stdio/scanf_core/ptr_converter.h b/libc/src/stdio/scanf_core/ptr_converter.h
index 7723803b4b561..0732c1c0e3284 100644
--- a/libc/src/stdio/scanf_core/ptr_converter.h
+++ b/libc/src/stdio/scanf_core/ptr_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_CORE_PTR_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_PTR_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/reader.cpp b/libc/src/stdio/scanf_core/reader.cpp
index dc848316cadae..ec1f5c098dc7a 100644
--- a/libc/src/stdio/scanf_core/reader.cpp
+++ b/libc/src/stdio/scanf_core/reader.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdio/scanf_core/reader.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/scanf_core/reader.h b/libc/src/stdio/scanf_core/reader.h
index 9965be6b3527e..e7955d6689254 100644
--- a/libc/src/stdio/scanf_core/reader.h
+++ b/libc/src/stdio/scanf_core/reader.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_READER_H
 
 #include "src/__support/macros/attributes.h" // For LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/scanf_core/scanf_main.cpp b/libc/src/stdio/scanf_core/scanf_main.cpp
index c7915dc779c9e..eb480943aeeda 100644
--- a/libc/src/stdio/scanf_core/scanf_main.cpp
+++ b/libc/src/stdio/scanf_core/scanf_main.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/scanf_core/scanf_main.h"
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/converter.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/parser.h"
diff --git a/libc/src/stdio/scanf_core/scanf_main.h b/libc/src/stdio/scanf_core/scanf_main.h
index 82acd0bd0edd4..27c246933dceb 100644
--- a/libc/src/stdio/scanf_core/scanf_main.h
+++ b/libc/src/stdio/scanf_core/scanf_main.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_SCANF_MAIN_H
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/reader.h"
 
 #include <stddef.h>
diff --git a/libc/src/stdio/scanf_core/string_converter.cpp b/libc/src/stdio/scanf_core/string_converter.cpp
index 4eb2a497db27b..0de2eeed2f5e4 100644
--- a/libc/src/stdio/scanf_core/string_converter.cpp
+++ b/libc/src/stdio/scanf_core/string_converter.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/string_converter.h b/libc/src/stdio/scanf_core/string_converter.h
index ad135c6473bf3..552dc22a502f5 100644
--- a/libc/src/stdio/scanf_core/string_converter.h
+++ b/libc/src/stdio/scanf_core/string_converter.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SCANF_CORE_STRING_CONVERTER_H
 #define LLVM_LIBC_SRC_STDIO_SCANF_CORE_STRING_CONVERTER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "src/stdio/scanf_core/reader.h"
 
diff --git a/libc/src/stdio/scanf_core/vfscanf_internal.h b/libc/src/stdio/scanf_core/vfscanf_internal.h
index f865135fbee7d..0e496d01421bc 100644
--- a/libc/src/stdio/scanf_core/vfscanf_internal.h
+++ b/libc/src/stdio/scanf_core/vfscanf_internal.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/reader.h"
 #include "src/stdio/scanf_core/scanf_main.h"
 
diff --git a/libc/src/stdio/setbuf.cpp b/libc/src/stdio/setbuf.cpp
index a8820b362072b..cd6f0731f92d2 100644
--- a/libc/src/stdio/setbuf.cpp
+++ b/libc/src/stdio/setbuf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/setbuf.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/setbuf.h b/libc/src/stdio/setbuf.h
index fa0ed1262bfad..f5ba6630090ee 100644
--- a/libc/src/stdio/setbuf.h
+++ b/libc/src/stdio/setbuf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SETBUF_H
 #define LLVM_LIBC_SRC_STDIO_SETBUF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/setvbuf.cpp b/libc/src/stdio/setvbuf.cpp
index b41aa96499be4..56f96e51d10b9 100644
--- a/libc/src/stdio/setvbuf.cpp
+++ b/libc/src/stdio/setvbuf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/setvbuf.h"
 #include "src/__support/File/file.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdio.h>
 
diff --git a/libc/src/stdio/setvbuf.h b/libc/src/stdio/setvbuf.h
index f3ecdabb3e354..dcca38556633b 100644
--- a/libc/src/stdio/setvbuf.h
+++ b/libc/src/stdio/setvbuf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SETVBUF_H
 #define LLVM_LIBC_SRC_STDIO_SETVBUF_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/snprintf.cpp b/libc/src/stdio/snprintf.cpp
index 68fcebc1b19af..12ad3cd1f762b 100644
--- a/libc/src/stdio/snprintf.cpp
+++ b/libc/src/stdio/snprintf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/snprintf.h"
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/snprintf.h b/libc/src/stdio/snprintf.h
index 458a5d9c13698..92a6529704076 100644
--- a/libc/src/stdio/snprintf.h
+++ b/libc/src/stdio/snprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SNPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_SNPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/sprintf.cpp b/libc/src/stdio/sprintf.cpp
index 9595f0dbc6a89..1f59e6bae4723 100644
--- a/libc/src/stdio/sprintf.cpp
+++ b/libc/src/stdio/sprintf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/sprintf.h b/libc/src/stdio/sprintf.h
index 4e4893910e0e9..ef65de399dc6d 100644
--- a/libc/src/stdio/sprintf.h
+++ b/libc/src/stdio/sprintf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_SPRINTF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int sprintf(char *__restrict buffer, const char *__restrict format, ...);
diff --git a/libc/src/stdio/sscanf.cpp b/libc/src/stdio/sscanf.cpp
index 156594bbb4c00..4ff8288476eff 100644
--- a/libc/src/stdio/sscanf.cpp
+++ b/libc/src/stdio/sscanf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/reader.h"
 #include "src/stdio/scanf_core/scanf_main.h"
 
diff --git a/libc/src/stdio/sscanf.h b/libc/src/stdio/sscanf.h
index 9b28c7abab7cd..690b2603425fc 100644
--- a/libc/src/stdio/sscanf.h
+++ b/libc/src/stdio/sscanf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDIO_SSCANF_H
 #define LLVM_LIBC_SRC_STDIO_SSCANF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int sscanf(const char *__restrict buffer, const char *__restrict format, ...);
diff --git a/libc/src/stdio/ungetc.h b/libc/src/stdio/ungetc.h
index 77002796a337d..77200fb407c88 100644
--- a/libc/src/stdio/ungetc.h
+++ b/libc/src/stdio/ungetc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_UNGETC_H
 #define LLVM_LIBC_SRC_STDIO_UNGETC_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdio/vfprintf.cpp b/libc/src/stdio/vfprintf.cpp
index 2252ed2f93da3..aacfb3e5430e0 100644
--- a/libc/src/stdio/vfprintf.cpp
+++ b/libc/src/stdio/vfprintf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/File/file.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/vfprintf_internal.h"
 
 #include <stdarg.h>
diff --git a/libc/src/stdio/vfprintf.h b/libc/src/stdio/vfprintf.h
index c5425a041c183..db5d67998db2b 100644
--- a/libc/src/stdio/vfprintf.h
+++ b/libc/src/stdio/vfprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_VFPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_VFPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdarg.h>
 #include <stdio.h>
 
diff --git a/libc/src/stdio/vprintf.h b/libc/src/stdio/vprintf.h
index d198b21db6217..2ac159a21d382 100644
--- a/libc/src/stdio/vprintf.h
+++ b/libc/src/stdio/vprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_VPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_VPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdarg.h>
 #include <stdio.h>
 
diff --git a/libc/src/stdio/vsnprintf.cpp b/libc/src/stdio/vsnprintf.cpp
index 599ab637c35e1..a584c76833a2d 100644
--- a/libc/src/stdio/vsnprintf.cpp
+++ b/libc/src/stdio/vsnprintf.cpp
@@ -9,6 +9,7 @@
 #include "src/stdio/vsnprintf.h"
 
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/vsnprintf.h b/libc/src/stdio/vsnprintf.h
index 85026622cfad7..27ae763f7746a 100644
--- a/libc/src/stdio/vsnprintf.h
+++ b/libc/src/stdio/vsnprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_VSNPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_VSNPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdarg.h>
 #include <stddef.h>
 
diff --git a/libc/src/stdio/vsprintf.cpp b/libc/src/stdio/vsprintf.cpp
index ab116c0aa0c83..b3978a09c671a 100644
--- a/libc/src/stdio/vsprintf.cpp
+++ b/libc/src/stdio/vsprintf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/arg_list.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/printf_main.h"
 #include "src/stdio/printf_core/writer.h"
 
diff --git a/libc/src/stdio/vsprintf.h b/libc/src/stdio/vsprintf.h
index 95328ec2972cc..abb89ba76eae5 100644
--- a/libc/src/stdio/vsprintf.h
+++ b/libc/src/stdio/vsprintf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDIO_VSPRINTF_H
 #define LLVM_LIBC_SRC_STDIO_VSPRINTF_H
 
+#include "src/__support/macros/config.h"
 #include <stdarg.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/_Exit.cpp b/libc/src/stdlib/_Exit.cpp
index c7b89c0cfcb78..859598c0a3929 100644
--- a/libc/src/stdlib/_Exit.cpp
+++ b/libc/src/stdlib/_Exit.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "src/stdlib/_Exit.h"
 
diff --git a/libc/src/stdlib/_Exit.h b/libc/src/stdlib/_Exit.h
index ed2ca7a23a104..398ab5352c670 100644
--- a/libc/src/stdlib/_Exit.h
+++ b/libc/src/stdlib/_Exit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB__EXIT_H
 #define LLVM_LIBC_SRC_STDLIB__EXIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void _Exit(int status);
diff --git a/libc/src/stdlib/abort.h b/libc/src/stdlib/abort.h
index 626dd2641348e..2bb292bfa0a90 100644
--- a/libc/src/stdlib/abort.h
+++ b/libc/src/stdlib/abort.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ABORT_H
 #define LLVM_LIBC_SRC_STDLIB_ABORT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void abort();
diff --git a/libc/src/stdlib/abs.cpp b/libc/src/stdlib/abs.cpp
index 1287257ac879a..688c504ac6d7c 100644
--- a/libc/src/stdlib/abs.cpp
+++ b/libc/src/stdlib/abs.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/abs.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/abs.h b/libc/src/stdlib/abs.h
index f2902105db77c..56ab04beae157 100644
--- a/libc/src/stdlib/abs.h
+++ b/libc/src/stdlib/abs.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ABS_H
 #define LLVM_LIBC_SRC_STDLIB_ABS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int abs(int n);
diff --git a/libc/src/stdlib/aligned_alloc.h b/libc/src/stdlib/aligned_alloc.h
index 32e86afc8275e..0205c0246b730 100644
--- a/libc/src/stdlib/aligned_alloc.h
+++ b/libc/src/stdlib/aligned_alloc.h
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 #ifndef LLVM_LIBC_SRC_STDLIB_ALIGNED_ALLOC_H
diff --git a/libc/src/stdlib/at_quick_exit.cpp b/libc/src/stdlib/at_quick_exit.cpp
index 94a3159359215..7acae8c52def3 100644
--- a/libc/src/stdlib/at_quick_exit.cpp
+++ b/libc/src/stdlib/at_quick_exit.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/at_quick_exit.h"
 #include "hdr/types/atexithandler_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/exit_handler.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/at_quick_exit.h b/libc/src/stdlib/at_quick_exit.h
index 96381795ef4b8..0bfd4ff86b7f6 100644
--- a/libc/src/stdlib/at_quick_exit.h
+++ b/libc/src/stdlib/at_quick_exit.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDLIB_AT_QUICK_EXIT_H
 
 #include "hdr/types/atexithandler_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/atexit.cpp b/libc/src/stdlib/atexit.cpp
index c3a2a3c2b9aa6..6844fb7aacaf6 100644
--- a/libc/src/stdlib/atexit.cpp
+++ b/libc/src/stdlib/atexit.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/atexit.h"
 #include "hdr/types/atexithandler_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/exit_handler.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/atexit.h b/libc/src/stdlib/atexit.h
index 0ee048388d644..39ce2dc52624a 100644
--- a/libc/src/stdlib/atexit.h
+++ b/libc/src/stdlib/atexit.h
@@ -10,6 +10,8 @@
 #define LLVM_LIBC_SRC_STDLIB_ATEXIT_H
 
 #include "hdr/types/atexithandler_t.h"
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int atexit(__atexithandler_t);
diff --git a/libc/src/stdlib/atof.cpp b/libc/src/stdlib/atof.cpp
index 38db8c4ab2d17..18a65c67705d3 100644
--- a/libc/src/stdlib/atof.cpp
+++ b/libc/src/stdlib/atof.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/atof.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/atof.h b/libc/src/stdlib/atof.h
index a3a34e1679eba..dfa97c3c3a377 100644
--- a/libc/src/stdlib/atof.h
+++ b/libc/src/stdlib/atof.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOF_H
 #define LLVM_LIBC_SRC_STDLIB_ATOF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double atof(const char *str);
diff --git a/libc/src/stdlib/atoi.cpp b/libc/src/stdlib/atoi.cpp
index 93dc2782f93d5..9e46b53b1aa0b 100644
--- a/libc/src/stdlib/atoi.cpp
+++ b/libc/src/stdlib/atoi.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/atoi.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/atoi.h b/libc/src/stdlib/atoi.h
index fd09657592db7..218c0517ba5f6 100644
--- a/libc/src/stdlib/atoi.h
+++ b/libc/src/stdlib/atoi.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOI_H
 #define LLVM_LIBC_SRC_STDLIB_ATOI_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int atoi(const char *str);
diff --git a/libc/src/stdlib/atol.cpp b/libc/src/stdlib/atol.cpp
index 761c6f7f3c4f9..7f3414a4afdd2 100644
--- a/libc/src/stdlib/atol.cpp
+++ b/libc/src/stdlib/atol.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/atol.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/atol.h b/libc/src/stdlib/atol.h
index 09546b0d5f2da..3787dc12b527c 100644
--- a/libc/src/stdlib/atol.h
+++ b/libc/src/stdlib/atol.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOL_H
 #define LLVM_LIBC_SRC_STDLIB_ATOL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long atol(const char *str);
diff --git a/libc/src/stdlib/atoll.cpp b/libc/src/stdlib/atoll.cpp
index 59293bbf9437b..4f1a02ad8315b 100644
--- a/libc/src/stdlib/atoll.cpp
+++ b/libc/src/stdlib/atoll.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/atoll.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/atoll.h b/libc/src/stdlib/atoll.h
index 5c26d111885ed..b3035fdc3918b 100644
--- a/libc/src/stdlib/atoll.h
+++ b/libc/src/stdlib/atoll.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_ATOLL_H
 #define LLVM_LIBC_SRC_STDLIB_ATOLL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long atoll(const char *str);
diff --git a/libc/src/stdlib/baremetal/abort.cpp b/libc/src/stdlib/baremetal/abort.cpp
index e2345dfefd936..98cf71084499a 100644
--- a/libc/src/stdlib/baremetal/abort.cpp
+++ b/libc/src/stdlib/baremetal/abort.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "src/stdlib/abort.h"
 
diff --git a/libc/src/stdlib/bsearch.cpp b/libc/src/stdlib/bsearch.cpp
index 5dea7d5da239b..69b3e749c03fe 100644
--- a/libc/src/stdlib/bsearch.cpp
+++ b/libc/src/stdlib/bsearch.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/bsearch.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/src/stdlib/bsearch.h b/libc/src/stdlib/bsearch.h
index da5838a7d92f6..cef37ea6c449a 100644
--- a/libc/src/stdlib/bsearch.h
+++ b/libc/src/stdlib/bsearch.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_BSEARCH_H
 #define LLVM_LIBC_SRC_STDLIB_BSEARCH_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/calloc.h b/libc/src/stdlib/calloc.h
index f2c71082c69f4..a8cf734da7d3e 100644
--- a/libc/src/stdlib/calloc.h
+++ b/libc/src/stdlib/calloc.h
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 #ifndef LLVM_LIBC_SRC_STDLIB_CALLOC_H
diff --git a/libc/src/stdlib/div.cpp b/libc/src/stdlib/div.cpp
index d87c5f3c31fb8..766e8ae608340 100644
--- a/libc/src/stdlib/div.cpp
+++ b/libc/src/stdlib/div.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/div.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/div.h b/libc/src/stdlib/div.h
index a647ed1131056..e76f79bbeee5f 100644
--- a/libc/src/stdlib/div.h
+++ b/libc/src/stdlib/div.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_DIV_H
 #define LLVM_LIBC_SRC_STDLIB_DIV_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/exit.cpp b/libc/src/stdlib/exit.cpp
index 1573f3d22eed3..28a6f8a63c0c6 100644
--- a/libc/src/stdlib/exit.cpp
+++ b/libc/src/stdlib/exit.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/exit.h"
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/exit.h b/libc/src/stdlib/exit.h
index 4c7f63feb27bc..1f0153b98c1f4 100644
--- a/libc/src/stdlib/exit.h
+++ b/libc/src/stdlib/exit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_EXIT_H
 #define LLVM_LIBC_SRC_STDLIB_EXIT_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/exit_handler.cpp b/libc/src/stdlib/exit_handler.cpp
index 8d15ebb756e34..ed0751a4c889e 100644
--- a/libc/src/stdlib/exit_handler.cpp
+++ b/libc/src/stdlib/exit_handler.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/exit_handler.h"
 #include "src/__support/CPP/mutex.h" // lock_guard
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/exit_handler.h b/libc/src/stdlib/exit_handler.h
index 30f6797e9c4ff..41733b7a0e7e5 100644
--- a/libc/src/stdlib/exit_handler.h
+++ b/libc/src/stdlib/exit_handler.h
@@ -13,6 +13,7 @@
 #include "src/__support/blockstore.h"
 #include "src/__support/common.h"
 #include "src/__support/fixedvector.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/free.h b/libc/src/stdlib/free.h
index 5500b53b81ad5..1b250f3d3a7aa 100644
--- a/libc/src/stdlib/free.h
+++ b/libc/src/stdlib/free.h
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 #ifndef LLVM_LIBC_SRC_STDLIB_FREE_H
diff --git a/libc/src/stdlib/freelist_malloc.cpp b/libc/src/stdlib/freelist_malloc.cpp
index 4f7a905acfa58..cfffa0425ff66 100644
--- a/libc/src/stdlib/freelist_malloc.cpp
+++ b/libc/src/stdlib/freelist_malloc.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/freelist_heap.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/aligned_alloc.h"
 #include "src/stdlib/calloc.h"
 #include "src/stdlib/free.h"
diff --git a/libc/src/stdlib/getenv.cpp b/libc/src/stdlib/getenv.cpp
index b84119aa1a6fd..6b1bb693a6d83 100644
--- a/libc/src/stdlib/getenv.cpp
+++ b/libc/src/stdlib/getenv.cpp
@@ -10,6 +10,7 @@
 #include "config/linux/app.h"
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h> // For size_t.
 
diff --git a/libc/src/stdlib/getenv.h b/libc/src/stdlib/getenv.h
index ee2f089b396a1..a5d41fe19c98c 100644
--- a/libc/src/stdlib/getenv.h
+++ b/libc/src/stdlib/getenv.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_GETENV_H
 #define LLVM_LIBC_SRC_STDLIB_GETENV_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *getenv(const char *name);
diff --git a/libc/src/stdlib/gpu/abort.cpp b/libc/src/stdlib/gpu/abort.cpp
index 9ca81c203833c..fee198607cc02 100644
--- a/libc/src/stdlib/gpu/abort.cpp
+++ b/libc/src/stdlib/gpu/abort.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/RPC/rpc_client.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include "src/stdlib/abort.h"
 
diff --git a/libc/src/stdlib/gpu/free.cpp b/libc/src/stdlib/gpu/free.cpp
index 9135335958115..1f0e9ec735974 100644
--- a/libc/src/stdlib/gpu/free.cpp
+++ b/libc/src/stdlib/gpu/free.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/GPU/allocator.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/gpu/malloc.cpp b/libc/src/stdlib/gpu/malloc.cpp
index e6486eaed0e69..54f2d8843996e 100644
--- a/libc/src/stdlib/gpu/malloc.cpp
+++ b/libc/src/stdlib/gpu/malloc.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/GPU/allocator.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/labs.cpp b/libc/src/stdlib/labs.cpp
index facf8e6cdee34..a8265e4083921 100644
--- a/libc/src/stdlib/labs.cpp
+++ b/libc/src/stdlib/labs.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/labs.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/labs.h b/libc/src/stdlib/labs.h
index 9a7f896dbf4a6..c15af79581e4f 100644
--- a/libc/src/stdlib/labs.h
+++ b/libc/src/stdlib/labs.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LABS_H
 #define LLVM_LIBC_SRC_STDLIB_LABS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long labs(long n);
diff --git a/libc/src/stdlib/ldiv.cpp b/libc/src/stdlib/ldiv.cpp
index ae0988533d7b3..94f385f12b02c 100644
--- a/libc/src/stdlib/ldiv.cpp
+++ b/libc/src/stdlib/ldiv.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/ldiv.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/ldiv.h b/libc/src/stdlib/ldiv.h
index fa30fb5a3b123..56b71fd044b18 100644
--- a/libc/src/stdlib/ldiv.h
+++ b/libc/src/stdlib/ldiv.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LDIV_H
 #define LLVM_LIBC_SRC_STDLIB_LDIV_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/linux/abort.cpp b/libc/src/stdlib/linux/abort.cpp
index 93e0de042a7ca..d78ea675593a4 100644
--- a/libc/src/stdlib/linux/abort.cpp
+++ b/libc/src/stdlib/linux/abort.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/signal/raise.h"
 #include "src/stdlib/_Exit.h"
 
diff --git a/libc/src/stdlib/llabs.cpp b/libc/src/stdlib/llabs.cpp
index 86faa46dfed4d..09636f19ed6eb 100644
--- a/libc/src/stdlib/llabs.cpp
+++ b/libc/src/stdlib/llabs.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/llabs.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/llabs.h b/libc/src/stdlib/llabs.h
index 2a6fca5e79fdd..b0cabddba0fb8 100644
--- a/libc/src/stdlib/llabs.h
+++ b/libc/src/stdlib/llabs.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LLABS_H
 #define LLVM_LIBC_SRC_STDLIB_LLABS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long llabs(long long n);
diff --git a/libc/src/stdlib/lldiv.cpp b/libc/src/stdlib/lldiv.cpp
index dba564fdd27be..f55a4f6b95662 100644
--- a/libc/src/stdlib/lldiv.cpp
+++ b/libc/src/stdlib/lldiv.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/lldiv.h"
 #include "src/__support/common.h"
 #include "src/__support/integer_operations.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/lldiv.h b/libc/src/stdlib/lldiv.h
index 2f056dd4584a4..ad688e00289ef 100644
--- a/libc/src/stdlib/lldiv.h
+++ b/libc/src/stdlib/lldiv.h
@@ -8,6 +8,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_LLDIV_H
 #define LLVM_LIBC_SRC_STDLIB_LLDIV_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/malloc.h b/libc/src/stdlib/malloc.h
index 6eaf2d99dc63c..1974f5d3a7815 100644
--- a/libc/src/stdlib/malloc.h
+++ b/libc/src/stdlib/malloc.h
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 #ifndef LLVM_LIBC_SRC_STDLIB_MALLOC_H
diff --git a/libc/src/stdlib/qsort.cpp b/libc/src/stdlib/qsort.cpp
index 2495641a40502..048e63ab214ed 100644
--- a/libc/src/stdlib/qsort.cpp
+++ b/libc/src/stdlib/qsort.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/qsort.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/qsort_util.h"
 
 #include <stdint.h>
diff --git a/libc/src/stdlib/qsort.h b/libc/src/stdlib/qsort.h
index 483463088a8ae..38988312f9014 100644
--- a/libc/src/stdlib/qsort.h
+++ b/libc/src/stdlib/qsort.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_QSORT_H
 #define LLVM_LIBC_SRC_STDLIB_QSORT_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/qsort_r.cpp b/libc/src/stdlib/qsort_r.cpp
index 04e0600123c63..efbe5ad484b0e 100644
--- a/libc/src/stdlib/qsort_r.cpp
+++ b/libc/src/stdlib/qsort_r.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/qsort_r.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/qsort_util.h"
 
 #include <stdint.h>
diff --git a/libc/src/stdlib/qsort_r.h b/libc/src/stdlib/qsort_r.h
index 749343bac3e63..574968a528711 100644
--- a/libc/src/stdlib/qsort_r.h
+++ b/libc/src/stdlib/qsort_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_QSORT_R_H
 #define LLVM_LIBC_SRC_STDLIB_QSORT_R_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/qsort_util.h b/libc/src/stdlib/qsort_util.h
index 3f69353ea23cb..3a9cc4b8669f8 100644
--- a/libc/src/stdlib/qsort_util.h
+++ b/libc/src/stdlib/qsort_util.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STDLIB_QSORT_UTIL_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 #include <stdlib.h>
 
diff --git a/libc/src/stdlib/quick_exit.cpp b/libc/src/stdlib/quick_exit.cpp
index 899b739114aa7..a5abf3e05d1a1 100644
--- a/libc/src/stdlib/quick_exit.cpp
+++ b/libc/src/stdlib/quick_exit.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/quick_exit.h"
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/exit_handler.h"
 
 // extern "C" void __cxa_finalize(void *);
diff --git a/libc/src/stdlib/quick_exit.h b/libc/src/stdlib/quick_exit.h
index 1b7a35d5f3358..f41bbaa0fa184 100644
--- a/libc/src/stdlib/quick_exit.h
+++ b/libc/src/stdlib/quick_exit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_QUICK_EXIT_H
 #define LLVM_LIBC_SRC_STDLIB_QUICK_EXIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void quick_exit(int status);
diff --git a/libc/src/stdlib/rand.cpp b/libc/src/stdlib/rand.cpp
index 62ad727f3b859..1931727e2d9d1 100644
--- a/libc/src/stdlib/rand.cpp
+++ b/libc/src/stdlib/rand.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/rand.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/sleep.h"
 #include "src/stdlib/rand_util.h"
 
diff --git a/libc/src/stdlib/rand.h b/libc/src/stdlib/rand.h
index 71743c28b0ad3..df217b569aa8a 100644
--- a/libc/src/stdlib/rand.h
+++ b/libc/src/stdlib/rand.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_RAND_H
 #define LLVM_LIBC_SRC_STDLIB_RAND_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/rand_util.cpp b/libc/src/stdlib/rand_util.cpp
index 65e6bfb650f63..c05bdc7fbccb1 100644
--- a/libc/src/stdlib/rand_util.cpp
+++ b/libc/src/stdlib/rand_util.cpp
@@ -9,6 +9,7 @@
 #include "src/stdlib/rand_util.h"
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/rand_util.h b/libc/src/stdlib/rand_util.h
index 7a556da731d70..8bf7e586dd068 100644
--- a/libc/src/stdlib/rand_util.h
+++ b/libc/src/stdlib/rand_util.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/stdlib/realloc.h b/libc/src/stdlib/realloc.h
index a89f96fd147ca..4d675a601d67d 100644
--- a/libc/src/stdlib/realloc.h
+++ b/libc/src/stdlib/realloc.h
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 #ifndef LLVM_LIBC_SRC_STDLIB_REALLOC_H
diff --git a/libc/src/stdlib/srand.cpp b/libc/src/stdlib/srand.cpp
index 5cb177c3ca36b..d11c18eed42c3 100644
--- a/libc/src/stdlib/srand.cpp
+++ b/libc/src/stdlib/srand.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/srand.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/rand_util.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/srand.h b/libc/src/stdlib/srand.h
index 2417c3c4a5133..c9fce46ddd2bc 100644
--- a/libc/src/stdlib/srand.h
+++ b/libc/src/stdlib/srand.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_SRAND_H
 #define LLVM_LIBC_SRC_STDLIB_SRAND_H
 
+#include "src/__support/macros/config.h"
 #include <stdlib.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/str_from_util.h b/libc/src/stdlib/str_from_util.h
index 777244033bad4..7f54bdf71a018 100644
--- a/libc/src/stdlib/str_from_util.h
+++ b/libc/src/stdlib/str_from_util.h
@@ -18,6 +18,7 @@
 #define LLVM_LIBC_SRC_STDLIB_STRFROM_UTIL_H
 
 #include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/stdio/printf_core/converter_atlas.h"
 #include "src/stdio/printf_core/core_structs.h"
diff --git a/libc/src/stdlib/strfromd.cpp b/libc/src/stdlib/strfromd.cpp
index 4d299961da9c3..4c51e4c5c8a01 100644
--- a/libc/src/stdlib/strfromd.cpp
+++ b/libc/src/stdlib/strfromd.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdlib/strfromd.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/str_from_util.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strfromd.h b/libc/src/stdlib/strfromd.h
index 88e5873f90d5e..8a68ff5f68849 100644
--- a/libc/src/stdlib/strfromd.h
+++ b/libc/src/stdlib/strfromd.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRFROMD_H
 #define LLVM_LIBC_SRC_STDLIB_STRFROMD_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strfromf.cpp b/libc/src/stdlib/strfromf.cpp
index 174843df7e6fe..ea98a69ee4d60 100644
--- a/libc/src/stdlib/strfromf.cpp
+++ b/libc/src/stdlib/strfromf.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdlib/strfromf.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/str_from_util.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strfromf.h b/libc/src/stdlib/strfromf.h
index 8b9dc065cf83d..e65e6b3a564c2 100644
--- a/libc/src/stdlib/strfromf.h
+++ b/libc/src/stdlib/strfromf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRFROMF_H
 #define LLVM_LIBC_SRC_STDLIB_STRFROMF_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strfroml.cpp b/libc/src/stdlib/strfroml.cpp
index a2ded7044c6ae..d5bee7609f69c 100644
--- a/libc/src/stdlib/strfroml.cpp
+++ b/libc/src/stdlib/strfroml.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/stdlib/strfroml.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/str_from_util.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strfroml.h b/libc/src/stdlib/strfroml.h
index 1127c0d9c4b5c..1bff12e34f85f 100644
--- a/libc/src/stdlib/strfroml.h
+++ b/libc/src/stdlib/strfroml.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRFROML_H
 #define LLVM_LIBC_SRC_STDLIB_STRFROML_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/stdlib/strtod.cpp b/libc/src/stdlib/strtod.cpp
index 0d80907d8fce2..2c6819163aa46 100644
--- a/libc/src/stdlib/strtod.cpp
+++ b/libc/src/stdlib/strtod.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtod.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtod.h b/libc/src/stdlib/strtod.h
index 48bcb578ac8ea..1a32e38be3f93 100644
--- a/libc/src/stdlib/strtod.h
+++ b/libc/src/stdlib/strtod.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOD_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOD_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 double strtod(const char *__restrict str, char **__restrict str_end);
diff --git a/libc/src/stdlib/strtof.cpp b/libc/src/stdlib/strtof.cpp
index f9a2035fc11bc..351bf64ad4f70 100644
--- a/libc/src/stdlib/strtof.cpp
+++ b/libc/src/stdlib/strtof.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtof.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtof.h b/libc/src/stdlib/strtof.h
index 1077c20c74a0d..2e7645fd3443e 100644
--- a/libc/src/stdlib/strtof.h
+++ b/libc/src/stdlib/strtof.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOF_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 float strtof(const char *__restrict str, char **__restrict str_end);
diff --git a/libc/src/stdlib/strtol.cpp b/libc/src/stdlib/strtol.cpp
index 11b8c716ec12a..77f8712d7c136 100644
--- a/libc/src/stdlib/strtol.cpp
+++ b/libc/src/stdlib/strtol.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtol.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtol.h b/libc/src/stdlib/strtol.h
index 20e351ec5b3c8..54779d4bdb084 100644
--- a/libc/src/stdlib/strtol.h
+++ b/libc/src/stdlib/strtol.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long strtol(const char *__restrict str, char **__restrict str_end, int base);
diff --git a/libc/src/stdlib/strtold.cpp b/libc/src/stdlib/strtold.cpp
index 399c9212df051..88d29c9f36278 100644
--- a/libc/src/stdlib/strtold.cpp
+++ b/libc/src/stdlib/strtold.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtold.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtold.h b/libc/src/stdlib/strtold.h
index d923ab520cf8c..4b663ca00bc34 100644
--- a/libc/src/stdlib/strtold.h
+++ b/libc/src/stdlib/strtold.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOLD_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOLD_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long double strtold(const char *__restrict str, char **__restrict str_end);
diff --git a/libc/src/stdlib/strtoll.cpp b/libc/src/stdlib/strtoll.cpp
index 574cffd36dc6a..8d1b3efdcf87d 100644
--- a/libc/src/stdlib/strtoll.cpp
+++ b/libc/src/stdlib/strtoll.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtoll.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtoll.h b/libc/src/stdlib/strtoll.h
index c4f1c36132083..399c20b76a354 100644
--- a/libc/src/stdlib/strtoll.h
+++ b/libc/src/stdlib/strtoll.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOLL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOLL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long long strtoll(const char *__restrict str, char **__restrict str_end,
diff --git a/libc/src/stdlib/strtoul.cpp b/libc/src/stdlib/strtoul.cpp
index 80c26cd50baf5..1d832318c4489 100644
--- a/libc/src/stdlib/strtoul.cpp
+++ b/libc/src/stdlib/strtoul.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtoul.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtoul.h b/libc/src/stdlib/strtoul.h
index a30a7dedde68a..ca1911addc56e 100644
--- a/libc/src/stdlib/strtoul.h
+++ b/libc/src/stdlib/strtoul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOUL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOUL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long strtoul(const char *__restrict str, char **__restrict str_end,
diff --git a/libc/src/stdlib/strtoull.cpp b/libc/src/stdlib/strtoull.cpp
index 1b2407f6db78d..dba22611cfb09 100644
--- a/libc/src/stdlib/strtoull.cpp
+++ b/libc/src/stdlib/strtoull.cpp
@@ -8,6 +8,7 @@
 
 #include "src/stdlib/strtoull.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/stdlib/strtoull.h b/libc/src/stdlib/strtoull.h
index f7b0b90f2b93b..58801e52789c0 100644
--- a/libc/src/stdlib/strtoull.h
+++ b/libc/src/stdlib/strtoull.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STDLIB_STRTOULL_H
 #define LLVM_LIBC_SRC_STDLIB_STRTOULL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 unsigned long long strtoull(const char *__restrict str,
diff --git a/libc/src/string/bcmp.cpp b/libc/src/string/bcmp.cpp
index 5e6847b5ca9d4..6e9c9ae3b7a3b 100644
--- a/libc/src/string/bcmp.cpp
+++ b/libc/src/string/bcmp.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/bcmp.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_bcmp.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/bcmp.h b/libc/src/string/bcmp.h
index e6abb3669c554..a82b529164d95 100644
--- a/libc/src/string/bcmp.h
+++ b/libc/src/string/bcmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_BCMP_H
 #define LLVM_LIBC_SRC_STRING_BCMP_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/bcopy.cpp b/libc/src/string/bcopy.cpp
index 3b559385b18fd..89aad71e354c7 100644
--- a/libc/src/string/bcopy.cpp
+++ b/libc/src/string/bcopy.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/bcopy.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memmove.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/bcopy.h b/libc/src/string/bcopy.h
index 7bac2106403cf..4cf0263a7d639 100644
--- a/libc/src/string/bcopy.h
+++ b/libc/src/string/bcopy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_BCOPY_H
 #define LLVM_LIBC_SRC_STRING_BCOPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/bzero.cpp b/libc/src/string/bzero.cpp
index 3ea889e51052a..7bcbee3547b9b 100644
--- a/libc/src/string/bzero.cpp
+++ b/libc/src/string/bzero.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/bzero.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_bzero.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/bzero.h b/libc/src/string/bzero.h
index 6054a879fbe71..d9722197e8e8b 100644
--- a/libc/src/string/bzero.h
+++ b/libc/src/string/bzero.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_BZERO_H
 #define LLVM_LIBC_SRC_STRING_BZERO_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/index.cpp b/libc/src/string/index.cpp
index 7d202d782eeb2..46cf54825f6ce 100644
--- a/libc/src/string/index.cpp
+++ b/libc/src/string/index.cpp
@@ -9,6 +9,7 @@
 #include "src/string/index.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/index.h b/libc/src/string/index.h
index f00f7f961049c..9843bcdf9a573 100644
--- a/libc/src/string/index.h
+++ b/libc/src/string/index.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_INDEX_H
 #define LLVM_LIBC_SRC_STRING_INDEX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *index(const char *src, int c);
diff --git a/libc/src/string/memccpy.cpp b/libc/src/string/memccpy.cpp
index 1106902179332..ae90cf9370d49 100644
--- a/libc/src/string/memccpy.cpp
+++ b/libc/src/string/memccpy.cpp
@@ -9,6 +9,7 @@
 #include "src/string/memccpy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h> // For size_t.
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memccpy.h b/libc/src/string/memccpy.h
index c4b285839aba3..d6d2ea4650210 100644
--- a/libc/src/string/memccpy.h
+++ b/libc/src/string/memccpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMCCPY_H
 #define LLVM_LIBC_SRC_STRING_MEMCCPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memchr.cpp b/libc/src/string/memchr.cpp
index 9e4eb54adbb3a..ba52f14afa9d6 100644
--- a/libc/src/string/memchr.cpp
+++ b/libc/src/string/memchr.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/memchr.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/memchr.h b/libc/src/string/memchr.h
index ddd727fcdb099..748fd6402489d 100644
--- a/libc/src/string/memchr.h
+++ b/libc/src/string/memchr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMCHR_H
 #define LLVM_LIBC_SRC_STRING_MEMCHR_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memcmp.cpp b/libc/src/string/memcmp.cpp
index 8512adef909d1..68996fb787236 100644
--- a/libc/src/string/memcmp.cpp
+++ b/libc/src/string/memcmp.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/memcmp.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcmp.h"
 
 #include <stddef.h> // size_t
diff --git a/libc/src/string/memcmp.h b/libc/src/string/memcmp.h
index f8c045366e881..b934ee3a8bb33 100644
--- a/libc/src/string/memcmp.h
+++ b/libc/src/string/memcmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMCMP_H
 #define LLVM_LIBC_SRC_STRING_MEMCMP_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memcpy.cpp b/libc/src/string/memcpy.cpp
index e1c52e3d10473..0eb7f2c170e08 100644
--- a/libc/src/string/memcpy.cpp
+++ b/libc/src/string/memcpy.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/memcpy.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memcpy.h b/libc/src/string/memcpy.h
index 04bfdf7e89eaa..d624878a6b226 100644
--- a/libc/src/string/memcpy.h
+++ b/libc/src/string/memcpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMCPY_H
 #define LLVM_LIBC_SRC_STRING_MEMCPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memmem.cpp b/libc/src/string/memmem.cpp
index ede9f3a1e0014..c38df8ff84f6f 100644
--- a/libc/src/string/memmem.cpp
+++ b/libc/src/string/memmem.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/memmem.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memmem.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memmem.h b/libc/src/string/memmem.h
index 6450e4b2e20b5..ce1bd61b5b21f 100644
--- a/libc/src/string/memmem.h
+++ b/libc/src/string/memmem.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMMEM_H
 #define LLVM_LIBC_SRC_STRING_MEMMEM_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // For size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memmove.cpp b/libc/src/string/memmove.cpp
index 2c864278c6f14..26a8c4187f3d3 100644
--- a/libc/src/string/memmove.cpp
+++ b/libc/src/string/memmove.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/memmove.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/memory_utils/inline_memmove.h"
 #include <stddef.h> // size_t
diff --git a/libc/src/string/memmove.h b/libc/src/string/memmove.h
index 1bf6db33f27cd..56b071a62f10e 100644
--- a/libc/src/string/memmove.h
+++ b/libc/src/string/memmove.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMMOVE_H
 #define LLVM_LIBC_SRC_STRING_MEMMOVE_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memory_utils/aarch64/inline_bcmp.h b/libc/src/string/memory_utils/aarch64/inline_bcmp.h
index 12ea15dfdc638..93196415f2662 100644
--- a/libc/src/string/memory_utils/aarch64/inline_bcmp.h
+++ b/libc/src/string/memory_utils/aarch64/inline_bcmp.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_BCMP_H
 
 #include "src/__support/macros/attributes.h"   // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/string/memory_utils/op_aarch64.h"
 #include "src/string/memory_utils/op_generic.h"
diff --git a/libc/src/string/memory_utils/aarch64/inline_memset.h b/libc/src/string/memory_utils/aarch64/inline_memset.h
index 6ec17e9cf6cec..a2c05534aa330 100644
--- a/libc/src/string/memory_utils/aarch64/inline_memset.h
+++ b/libc/src/string/memory_utils/aarch64/inline_memset.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_AARCH64_INLINE_MEMSET_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/op_aarch64.h"
 #include "src/string/memory_utils/op_generic.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/generic/builtin.h b/libc/src/string/memory_utils/generic/builtin.h
index c0aab33f2a1e3..5670a4e610565 100644
--- a/libc/src/string/memory_utils/generic/builtin.h
+++ b/libc/src/string/memory_utils/generic/builtin.h
@@ -10,7 +10,8 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_GENERIC_BUILTIN_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
-#include "src/string/memory_utils/utils.h"   // Ptr, CPtr
+#include "src/__support/macros/config.h"
+#include "src/string/memory_utils/utils.h" // Ptr, CPtr
 
 #include <stddef.h> // size_t
 
diff --git a/libc/src/string/memory_utils/inline_bcmp.h b/libc/src/string/memory_utils/inline_bcmp.h
index f135fdf502cff..14cf16ebb6b69 100644
--- a/libc/src/string/memory_utils/inline_bcmp.h
+++ b/libc/src/string/memory_utils/inline_bcmp.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_BCMP_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_
 
 #include <stddef.h> // size_t
diff --git a/libc/src/string/memory_utils/inline_bzero.h b/libc/src/string/memory_utils/inline_bzero.h
index 401fdd69832a5..4a92e8b57a68e 100644
--- a/libc/src/string/memory_utils/inline_bzero.h
+++ b/libc/src/string/memory_utils/inline_bzero.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_BZERO_H
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memset.h"
 
 #include <stddef.h> // size_t
diff --git a/libc/src/string/memory_utils/inline_memmem.h b/libc/src/string/memory_utils/inline_memmem.h
index 6f62d4a10e2c7..15e3d633985d6 100644
--- a/libc/src/string/memory_utils/inline_memmem.h
+++ b/libc/src/string/memory_utils/inline_memmem.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMMEM_H
 
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/string/memory_utils/inline_memmove.h b/libc/src/string/memory_utils/inline_memmove.h
index 54f094c7625e9..85d0159701ece 100644
--- a/libc/src/string/memory_utils/inline_memmove.h
+++ b/libc/src/string/memory_utils/inline_memmove.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMMOVE_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_MEMMOVE_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t, ptrdiff_t
 
 #if defined(LIBC_TARGET_ARCH_IS_X86)
diff --git a/libc/src/string/memory_utils/inline_strcmp.h b/libc/src/string/memory_utils/inline_strcmp.h
index 3caf52dd1559b..281d5b14c6cba 100644
--- a/libc/src/string/memory_utils/inline_strcmp.h
+++ b/libc/src/string/memory_utils/inline_strcmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRCMP_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRCMP_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memory_utils/inline_strstr.h b/libc/src/string/memory_utils/inline_strstr.h
index b71e449219110..9c99e920b4b57 100644
--- a/libc/src/string/memory_utils/inline_strstr.h
+++ b/libc/src/string/memory_utils/inline_strstr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRSTR_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_INLINE_STRSTR_H
 
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memmem.h"
 #include "src/string/string_utils.h"
 #include <stddef.h>
diff --git a/libc/src/string/memory_utils/op_aarch64.h b/libc/src/string/memory_utils/op_aarch64.h
index 68c114e313a25..1090ea2617f09 100644
--- a/libc/src/string/memory_utils/op_aarch64.h
+++ b/libc/src/string/memory_utils/op_aarch64.h
@@ -13,6 +13,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_AARCH64_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_AARCH64_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if defined(LIBC_TARGET_ARCH_IS_AARCH64)
diff --git a/libc/src/string/memory_utils/op_builtin.h b/libc/src/string/memory_utils/op_builtin.h
index e317f06b6ac1f..d7c1b1f870115 100644
--- a/libc/src/string/memory_utils/op_builtin.h
+++ b/libc/src/string/memory_utils/op_builtin.h
@@ -16,6 +16,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_BUILTIN_H
 
 #include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memory_utils/op_generic.h b/libc/src/string/memory_utils/op_generic.h
index 54826634f85dd..89bbea8a2bdd2 100644
--- a/libc/src/string/memory_utils/op_generic.h
+++ b/libc/src/string/memory_utils/op_generic.h
@@ -27,6 +27,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/common.h"
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT64
 #include "src/string/memory_utils/op_builtin.h"
diff --git a/libc/src/string/memory_utils/op_riscv.h b/libc/src/string/memory_utils/op_riscv.h
index 6ba574d53e7b4..2d211de0facfc 100644
--- a/libc/src/string/memory_utils/op_riscv.h
+++ b/libc/src/string/memory_utils/op_riscv.h
@@ -12,6 +12,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_RISCV_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_RISCV_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if defined(LIBC_TARGET_ARCH_IS_ANY_RISCV)
diff --git a/libc/src/string/memory_utils/op_x86.h b/libc/src/string/memory_utils/op_x86.h
index ef49564c28c92..cf9667283818d 100644
--- a/libc/src/string/memory_utils/op_x86.h
+++ b/libc/src/string/memory_utils/op_x86.h
@@ -12,6 +12,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_X86_H
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_OP_X86_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #if defined(LIBC_TARGET_ARCH_IS_X86)
diff --git a/libc/src/string/memory_utils/riscv/inline_bcmp.h b/libc/src/string/memory_utils/riscv/inline_bcmp.h
index 1838e8c4229d9..4bdde27cd16be 100644
--- a/libc/src/string/memory_utils/riscv/inline_bcmp.h
+++ b/libc/src/string/memory_utils/riscv/inline_bcmp.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_BCMP_H
 
 #include "src/__support/macros/attributes.h"               // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_RISCV64
 #include "src/string/memory_utils/generic/aligned_access.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/riscv/inline_memcmp.h b/libc/src/string/memory_utils/riscv/inline_memcmp.h
index 9bafb45f6d339..ca834952d331e 100644
--- a/libc/src/string/memory_utils/riscv/inline_memcmp.h
+++ b/libc/src/string/memory_utils/riscv/inline_memcmp.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMCMP_H
 
 #include "src/__support/macros/attributes.h"               // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_RISCV64
 #include "src/string/memory_utils/generic/aligned_access.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/riscv/inline_memcpy.h b/libc/src/string/memory_utils/riscv/inline_memcpy.h
index 4da835acfbfa0..8eb87e0f38ce5 100644
--- a/libc/src/string/memory_utils/riscv/inline_memcpy.h
+++ b/libc/src/string/memory_utils/riscv/inline_memcpy.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMCPY_H
 
 #include "src/__support/macros/attributes.h"               // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_RISCV64
 #include "src/string/memory_utils/generic/aligned_access.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/riscv/inline_memmove.h b/libc/src/string/memory_utils/riscv/inline_memmove.h
index d6e2e4ebd5fd8..28de4c240260d 100644
--- a/libc/src/string/memory_utils/riscv/inline_memmove.h
+++ b/libc/src/string/memory_utils/riscv/inline_memmove.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMMOVE_H
 
 #include "src/__support/macros/attributes.h"               // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_RISCV64
 #include "src/string/memory_utils/generic/byte_per_byte.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/riscv/inline_memset.h b/libc/src/string/memory_utils/riscv/inline_memset.h
index 279c3bfef7a1a..d6ab523f16414 100644
--- a/libc/src/string/memory_utils/riscv/inline_memset.h
+++ b/libc/src/string/memory_utils/riscv/inline_memset.h
@@ -9,6 +9,7 @@
 #define LIBC_SRC_STRING_MEMORY_UTILS_RISCV_INLINE_MEMSET_H
 
 #include "src/__support/macros/attributes.h"               // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // LIBC_TARGET_ARCH_IS_RISCV64
 #include "src/string/memory_utils/generic/aligned_access.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/utils.h b/libc/src/string/memory_utils/utils.h
index 5433912daf6bf..5e5fe593cce77 100644
--- a/libc/src/string/memory_utils/utils.h
+++ b/libc/src/string/memory_utils/utils.h
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/endian.h"
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 #include <stddef.h> // size_t
diff --git a/libc/src/string/memory_utils/x86_64/inline_bcmp.h b/libc/src/string/memory_utils/x86_64/inline_bcmp.h
index 9a8db22068dc6..49fe08fb0501b 100644
--- a/libc/src/string/memory_utils/x86_64/inline_bcmp.h
+++ b/libc/src/string/memory_utils/x86_64/inline_bcmp.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_BCMP_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/op_generic.h"
 #include "src/string/memory_utils/op_x86.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/memory_utils/x86_64/inline_memset.h b/libc/src/string/memory_utils/x86_64/inline_memset.h
index fd8d7f35d97f4..9f8e584d2bbb4 100644
--- a/libc/src/string/memory_utils/x86_64/inline_memset.h
+++ b/libc/src/string/memory_utils/x86_64/inline_memset.h
@@ -9,6 +9,7 @@
 #define LLVM_LIBC_SRC_STRING_MEMORY_UTILS_X86_64_INLINE_MEMSET_H
 
 #include "src/__support/macros/attributes.h" // LIBC_INLINE
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/op_generic.h"
 #include "src/string/memory_utils/op_x86.h"
 #include "src/string/memory_utils/utils.h" // Ptr, CPtr
diff --git a/libc/src/string/mempcpy.cpp b/libc/src/string/mempcpy.cpp
index c8a4dfa7a3aab..09392ceb966d6 100644
--- a/libc/src/string/mempcpy.cpp
+++ b/libc/src/string/mempcpy.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/mempcpy.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/mempcpy.h b/libc/src/string/mempcpy.h
index 97cb1820fc945..a6fd457d8d5a5 100644
--- a/libc/src/string/mempcpy.h
+++ b/libc/src/string/mempcpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMPCPY_H
 #define LLVM_LIBC_SRC_STRING_MEMPCPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memrchr.cpp b/libc/src/string/memrchr.cpp
index d7a8472b1f02d..d665e225bbb7d 100644
--- a/libc/src/string/memrchr.cpp
+++ b/libc/src/string/memrchr.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/memrchr.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memrchr.h b/libc/src/string/memrchr.h
index df6ad4ddb218f..0ab7b3b21b66b 100644
--- a/libc/src/string/memrchr.h
+++ b/libc/src/string/memrchr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMRCHR_H
 #define LLVM_LIBC_SRC_STRING_MEMRCHR_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memset.cpp b/libc/src/string/memset.cpp
index 2b67dd8b9f6b2..c2868afa91031 100644
--- a/libc/src/string/memset.cpp
+++ b/libc/src/string/memset.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/memset.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memset.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memset.h b/libc/src/string/memset.h
index cff2747a0073c..17062ee4c7898 100644
--- a/libc/src/string/memset.h
+++ b/libc/src/string/memset.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMSET_H
 #define LLVM_LIBC_SRC_STRING_MEMSET_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memset_explicit.cpp b/libc/src/string/memset_explicit.cpp
index 3fc2b120212ce..a3e4dad874397 100644
--- a/libc/src/string/memset_explicit.cpp
+++ b/libc/src/string/memset_explicit.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/memset_explicit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memset.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/memset_explicit.h b/libc/src/string/memset_explicit.h
index 782a63ba37202..0c6ccc8849fa9 100644
--- a/libc/src/string/memset_explicit.h
+++ b/libc/src/string/memset_explicit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_MEMSET_EXPLICIT_H
 #define LLVM_LIBC_SRC_STRING_MEMSET_EXPLICIT_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/rindex.cpp b/libc/src/string/rindex.cpp
index 43590107c8e0c..25879ddb07f62 100644
--- a/libc/src/string/rindex.cpp
+++ b/libc/src/string/rindex.cpp
@@ -9,6 +9,7 @@
 #include "src/string/rindex.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/rindex.h b/libc/src/string/rindex.h
index bdc64e06594ca..cfc35daa1f4d5 100644
--- a/libc/src/string/rindex.h
+++ b/libc/src/string/rindex.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_RINDEX_H
 #define LLVM_LIBC_SRC_STRING_RINDEX_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *rindex(const char *src, int c);
diff --git a/libc/src/string/stpcpy.cpp b/libc/src/string/stpcpy.cpp
index 857361977f0af..979edd72c1f1d 100644
--- a/libc/src/string/stpcpy.cpp
+++ b/libc/src/string/stpcpy.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/stpcpy.h"
+#include "src/__support/macros/config.h"
 #include "src/string/mempcpy.h"
 #include "src/string/string_utils.h"
 
diff --git a/libc/src/string/stpcpy.h b/libc/src/string/stpcpy.h
index cd18cc08ee2e0..ea04a915b9e38 100644
--- a/libc/src/string/stpcpy.h
+++ b/libc/src/string/stpcpy.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STPCPY_H
 #define LLVM_LIBC_SRC_STRING_STPCPY_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *stpcpy(char *__restrict dest, const char *__restrict src);
diff --git a/libc/src/string/stpncpy.cpp b/libc/src/string/stpncpy.cpp
index 877bc8e9ff45b..d2a6e04749820 100644
--- a/libc/src/string/stpncpy.cpp
+++ b/libc/src/string/stpncpy.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/stpncpy.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_bzero.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/stpncpy.h b/libc/src/string/stpncpy.h
index cbbe2d31a00d2..343ff61a582c2 100644
--- a/libc/src/string/stpncpy.h
+++ b/libc/src/string/stpncpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STPNCPY_H
 #define LLVM_LIBC_SRC_STRING_STPNCPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcasecmp.cpp b/libc/src/string/strcasecmp.cpp
index fb0e5ee869545..1274c047fc28e 100644
--- a/libc/src/string/strcasecmp.cpp
+++ b/libc/src/string/strcasecmp.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcasecmp.h b/libc/src/string/strcasecmp.h
index 526e2ceaca0ec..2916b8d417075 100644
--- a/libc/src/string/strcasecmp.h
+++ b/libc/src/string/strcasecmp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCASECMP_H
 #define LLVM_LIBC_SRC_STRING_STRCASECMP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int strcasecmp(const char *left, const char *right);
diff --git a/libc/src/string/strcasestr.cpp b/libc/src/string/strcasestr.cpp
index a8feaf3e9e884..1da1e3f025079 100644
--- a/libc/src/string/strcasestr.cpp
+++ b/libc/src/string/strcasestr.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strstr.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcasestr.h b/libc/src/string/strcasestr.h
index 10e3713ca74c3..8bcd94596024e 100644
--- a/libc/src/string/strcasestr.h
+++ b/libc/src/string/strcasestr.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCASESTR_H
 #define LLVM_LIBC_SRC_STRING_STRCASESTR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strcasestr(const char *needle, const char *haystack);
diff --git a/libc/src/string/strcat.cpp b/libc/src/string/strcat.cpp
index df0cd6e2c055c..0eb189ce204f0 100644
--- a/libc/src/string/strcat.cpp
+++ b/libc/src/string/strcat.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strcat.h"
+#include "src/__support/macros/config.h"
 #include "src/string/strcpy.h"
 #include "src/string/string_utils.h"
 
diff --git a/libc/src/string/strcat.h b/libc/src/string/strcat.h
index fac62517ad327..90a7fd2e41337 100644
--- a/libc/src/string/strcat.h
+++ b/libc/src/string/strcat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCAT_H
 #define LLVM_LIBC_SRC_STRING_STRCAT_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strchr.cpp b/libc/src/string/strchr.cpp
index cb0e2918223a0..d5dbaf8cd8e1b 100644
--- a/libc/src/string/strchr.cpp
+++ b/libc/src/string/strchr.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strchr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strchr.h b/libc/src/string/strchr.h
index c3980edfdf225..0e8094d3c6a18 100644
--- a/libc/src/string/strchr.h
+++ b/libc/src/string/strchr.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCHR_H
 #define LLVM_LIBC_SRC_STRING_STRCHR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strchr(const char *src, int c);
diff --git a/libc/src/string/strchrnul.cpp b/libc/src/string/strchrnul.cpp
index 301ef57f8a3f1..6a3db9c105aa3 100644
--- a/libc/src/string/strchrnul.cpp
+++ b/libc/src/string/strchrnul.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strchrnul.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/strchrnul.h b/libc/src/string/strchrnul.h
index 8ab1597fe1344..d724e73a69ea3 100644
--- a/libc/src/string/strchrnul.h
+++ b/libc/src/string/strchrnul.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCHRNUL_H
 #define LLVM_LIBC_SRC_STRING_STRCHRNUL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strchrnul(const char *src, int c);
diff --git a/libc/src/string/strcmp.cpp b/libc/src/string/strcmp.cpp
index 029f23d1338a6..f303ba5c09665 100644
--- a/libc/src/string/strcmp.cpp
+++ b/libc/src/string/strcmp.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strcmp.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcmp.h b/libc/src/string/strcmp.h
index 4eef592169c35..8d8805857de88 100644
--- a/libc/src/string/strcmp.h
+++ b/libc/src/string/strcmp.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCMP_H
 #define LLVM_LIBC_SRC_STRING_STRCMP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int strcmp(const char *left, const char *right);
diff --git a/libc/src/string/strcoll.cpp b/libc/src/string/strcoll.cpp
index d19af7905761c..eeb2c79e38074 100644
--- a/libc/src/string/strcoll.cpp
+++ b/libc/src/string/strcoll.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strcoll.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/string/strcoll.h b/libc/src/string/strcoll.h
index 64c0d9d1bf65a..50358070e1f0f 100644
--- a/libc/src/string/strcoll.h
+++ b/libc/src/string/strcoll.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCOLL_H
 #define LLVM_LIBC_SRC_STRING_STRCOLL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int strcoll(const char *left, const char *right);
diff --git a/libc/src/string/strcpy.cpp b/libc/src/string/strcpy.cpp
index cf38f0005a0da..60b73ab3aa823 100644
--- a/libc/src/string/strcpy.cpp
+++ b/libc/src/string/strcpy.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strcpy.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/string_utils.h"
 
diff --git a/libc/src/string/strcpy.h b/libc/src/string/strcpy.h
index da80b4c83eb1e..d4f3e81fdc733 100644
--- a/libc/src/string/strcpy.h
+++ b/libc/src/string/strcpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCPY_H
 #define LLVM_LIBC_SRC_STRING_STRCPY_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcspn.cpp b/libc/src/string/strcspn.cpp
index b8c06093edc0e..c4a14aa8b7dd0 100644
--- a/libc/src/string/strcspn.cpp
+++ b/libc/src/string/strcspn.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strcspn.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strcspn.h b/libc/src/string/strcspn.h
index 2c430aa3237e7..f50aeab1601af 100644
--- a/libc/src/string/strcspn.h
+++ b/libc/src/string/strcspn.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRCSPN_H
 #define LLVM_LIBC_SRC_STRING_STRCSPN_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strdup.cpp b/libc/src/string/strdup.cpp
index 9f7d7d2878562..4e09c87099425 100644
--- a/libc/src/string/strdup.cpp
+++ b/libc/src/string/strdup.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strdup.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/string/allocating_string_utils.h"
 #include "src/string/memory_utils/inline_memcpy.h"
diff --git a/libc/src/string/strdup.h b/libc/src/string/strdup.h
index 7c712a957d062..45303a3efeb49 100644
--- a/libc/src/string/strdup.h
+++ b/libc/src/string/strdup.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRDUP_H
 #define LLVM_LIBC_SRC_STRING_STRDUP_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strerror.cpp b/libc/src/string/strerror.cpp
index 437157d3e1a6c..9576754172363 100644
--- a/libc/src/string/strerror.cpp
+++ b/libc/src/string/strerror.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strerror.h"
 #include "src/__support/StringUtil/error_to_string.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/string/strerror.h b/libc/src/string/strerror.h
index 4bf5ce7bc95a3..d81979580a55d 100644
--- a/libc/src/string/strerror.h
+++ b/libc/src/string/strerror.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRERROR_H
 #define LLVM_LIBC_SRC_STRING_STRERROR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strerror(int err_num);
diff --git a/libc/src/string/strerror_r.cpp b/libc/src/string/strerror_r.cpp
index 3a932c82c137f..ba23f2752e83a 100644
--- a/libc/src/string/strerror_r.cpp
+++ b/libc/src/string/strerror_r.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strerror_r.h"
 #include "src/__support/StringUtil/error_to_string.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stddef.h>
 
diff --git a/libc/src/string/strerror_r.h b/libc/src/string/strerror_r.h
index 9d909773ac3e8..5a17d29e31bb2 100644
--- a/libc/src/string/strerror_r.h
+++ b/libc/src/string/strerror_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRERROR_R_H
 #define LLVM_LIBC_SRC_STRING_STRERROR_R_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/string_utils.h b/libc/src/string/string_utils.h
index 11743a65e9158..78381e46e480d 100644
--- a/libc/src/string/string_utils.h
+++ b/libc/src/string/string_utils.h
@@ -15,6 +15,7 @@
 #define LLVM_LIBC_SRC_STRING_STRING_UTILS_H
 
 #include "src/__support/CPP/bitset.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
 #include "src/string/memory_utils/inline_bzero.h"
 #include "src/string/memory_utils/inline_memcpy.h"
diff --git a/libc/src/string/strlcat.cpp b/libc/src/string/strlcat.cpp
index dc18b80035f9b..b5c4c634efa91 100644
--- a/libc/src/string/strlcat.cpp
+++ b/libc/src/string/strlcat.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strlcat.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/strlcat.h b/libc/src/string/strlcat.h
index 2177553ecb7ed..ffe97af62a543 100644
--- a/libc/src/string/strlcat.h
+++ b/libc/src/string/strlcat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRLCAT_H
 #define LLVM_LIBC_SRC_STRING_STRLCAT_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strlcpy.cpp b/libc/src/string/strlcpy.cpp
index 57e918752555d..68d5b58f5002a 100644
--- a/libc/src/string/strlcpy.cpp
+++ b/libc/src/string/strlcpy.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strlcpy.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/strlcpy.h b/libc/src/string/strlcpy.h
index 474e2e57e6662..058e7653b1b91 100644
--- a/libc/src/string/strlcpy.h
+++ b/libc/src/string/strlcpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRLCPY_H
 #define LLVM_LIBC_SRC_STRING_STRLCPY_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strlen.cpp b/libc/src/string/strlen.cpp
index 8d0159d5026cc..ff7ab14dd3134 100644
--- a/libc/src/string/strlen.cpp
+++ b/libc/src/string/strlen.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strlen.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/strlen.h b/libc/src/string/strlen.h
index a33c26b68d9ec..f07bf73ace3de 100644
--- a/libc/src/string/strlen.h
+++ b/libc/src/string/strlen.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRLEN_H
 #define LLVM_LIBC_SRC_STRING_STRLEN_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncasecmp.cpp b/libc/src/string/strncasecmp.cpp
index 06fe45effb096..45f82c98069b2 100644
--- a/libc/src/string/strncasecmp.cpp
+++ b/libc/src/string/strncasecmp.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 #include "src/__support/ctype_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncasecmp.h b/libc/src/string/strncasecmp.h
index b36aacc773b71..15f74994ca56d 100644
--- a/libc/src/string/strncasecmp.h
+++ b/libc/src/string/strncasecmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNCASECMP_H
 #define LLVM_LIBC_SRC_STRING_STRNCASECMP_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncat.cpp b/libc/src/string/strncat.cpp
index 65859c817ff68..221881f93c47a 100644
--- a/libc/src/string/strncat.cpp
+++ b/libc/src/string/strncat.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strncat.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 #include "src/string/strncpy.h"
 
diff --git a/libc/src/string/strncat.h b/libc/src/string/strncat.h
index 8ff20604b5439..1a130799f3965 100644
--- a/libc/src/string/strncat.h
+++ b/libc/src/string/strncat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNCAT_H
 #define LLVM_LIBC_SRC_STRING_STRNCAT_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncmp.cpp b/libc/src/string/strncmp.cpp
index a68633d5f9c49..16d4601fe845b 100644
--- a/libc/src/string/strncmp.cpp
+++ b/libc/src/string/strncmp.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strncmp.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strcmp.h"
 
 #include <stddef.h>
diff --git a/libc/src/string/strncmp.h b/libc/src/string/strncmp.h
index 5bcc538b18edd..cf40d69e720a3 100644
--- a/libc/src/string/strncmp.h
+++ b/libc/src/string/strncmp.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNCMP_H
 #define LLVM_LIBC_SRC_STRING_STRNCMP_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncpy.cpp b/libc/src/string/strncpy.cpp
index ff58644ae8a55..4976ad94708c7 100644
--- a/libc/src/string/strncpy.cpp
+++ b/libc/src/string/strncpy.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strncpy.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h> // For size_t.
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strncpy.h b/libc/src/string/strncpy.h
index 8fddf54ce6ed3..5cef6d0bf0e6c 100644
--- a/libc/src/string/strncpy.h
+++ b/libc/src/string/strncpy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNCPY_H
 #define LLVM_LIBC_SRC_STRING_STRNCPY_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strndup.cpp b/libc/src/string/strndup.cpp
index fe44e12260b3a..b19d7c060baa1 100644
--- a/libc/src/string/strndup.cpp
+++ b/libc/src/string/strndup.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strndup.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/string_utils.h"
 
diff --git a/libc/src/string/strndup.h b/libc/src/string/strndup.h
index 00ab1fe6d0a37..03370cc8d7dce 100644
--- a/libc/src/string/strndup.h
+++ b/libc/src/string/strndup.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNDUP_H
 #define LLVM_LIBC_SRC_STRING_STRNDUP_H
 
+#include "src/__support/macros/config.h"
 #include <string.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strnlen.cpp b/libc/src/string/strnlen.cpp
index 7bb585f0a521a..26fcd5a04c0d7 100644
--- a/libc/src/string/strnlen.cpp
+++ b/libc/src/string/strnlen.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strnlen.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/string/strnlen.h b/libc/src/string/strnlen.h
index cb93149224dea..37a54850ae24d 100644
--- a/libc/src/string/strnlen.h
+++ b/libc/src/string/strnlen.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRNLEN_H
 #define LLVM_LIBC_SRC_STRING_STRNLEN_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strpbrk.cpp b/libc/src/string/strpbrk.cpp
index f921fd744668c..844d77ee97bd4 100644
--- a/libc/src/string/strpbrk.cpp
+++ b/libc/src/string/strpbrk.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strpbrk.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strpbrk.h b/libc/src/string/strpbrk.h
index 2475ba037be89..a1f329f119d6c 100644
--- a/libc/src/string/strpbrk.h
+++ b/libc/src/string/strpbrk.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRPBRK_H
 #define LLVM_LIBC_SRC_STRING_STRPBRK_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strpbrk(const char *src, const char *breakset);
diff --git a/libc/src/string/strrchr.cpp b/libc/src/string/strrchr.cpp
index 1feaeeac0bf54..66d1aaafee0de 100644
--- a/libc/src/string/strrchr.cpp
+++ b/libc/src/string/strrchr.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strrchr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strrchr.h b/libc/src/string/strrchr.h
index 271e9f6c6beb9..2f95e2db29df3 100644
--- a/libc/src/string/strrchr.h
+++ b/libc/src/string/strrchr.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRRCHR_H
 #define LLVM_LIBC_SRC_STRING_STRRCHR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strrchr(const char *src, int c);
diff --git a/libc/src/string/strsep.cpp b/libc/src/string/strsep.cpp
index dd1b6357fb86c..4c275122de52f 100644
--- a/libc/src/string/strsep.cpp
+++ b/libc/src/string/strsep.cpp
@@ -8,6 +8,7 @@
 
 #include "src/string/strsep.h"
 
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strsep.h b/libc/src/string/strsep.h
index 531d1e6a529c1..9ee3081422d14 100644
--- a/libc/src/string/strsep.h
+++ b/libc/src/string/strsep.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSEP_H
 #define LLVM_LIBC_SRC_STRING_STRSEP_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strsep(char **__restrict stringp, const char *__restrict delim);
diff --git a/libc/src/string/strsignal.cpp b/libc/src/string/strsignal.cpp
index ff1a0df1443c3..a3206a5d1cff1 100644
--- a/libc/src/string/strsignal.cpp
+++ b/libc/src/string/strsignal.cpp
@@ -10,6 +10,7 @@
 #include "src/string/strsignal.h"
 #include "src/__support/StringUtil/signal_to_string.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/string/strsignal.h b/libc/src/string/strsignal.h
index 4d496eb96c5a9..9f62820a92d6e 100644
--- a/libc/src/string/strsignal.h
+++ b/libc/src/string/strsignal.h
@@ -10,6 +10,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSIGNAL_H
 #define LLVM_LIBC_SRC_STRING_STRSIGNAL_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strsignal(int sig_num);
diff --git a/libc/src/string/strspn.cpp b/libc/src/string/strspn.cpp
index d5e36a0158e8c..66bb39903ab38 100644
--- a/libc/src/string/strspn.cpp
+++ b/libc/src/string/strspn.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/bitset.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strspn.h b/libc/src/string/strspn.h
index 7de53015d732a..a13b50436d228 100644
--- a/libc/src/string/strspn.h
+++ b/libc/src/string/strspn.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSPN_H
 #define LLVM_LIBC_SRC_STRING_STRSPN_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strstr.cpp b/libc/src/string/strstr.cpp
index aa0116adbdf43..5132f06ef53f3 100644
--- a/libc/src/string/strstr.cpp
+++ b/libc/src/string/strstr.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strstr.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_strstr.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strstr.h b/libc/src/string/strstr.h
index 03d72b35ee170..903e02e472b15 100644
--- a/libc/src/string/strstr.h
+++ b/libc/src/string/strstr.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRSTR_H
 #define LLVM_LIBC_SRC_STRING_STRSTR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strstr(const char *haystack, const char *needle);
diff --git a/libc/src/string/strtok.cpp b/libc/src/string/strtok.cpp
index ebbd9e1c7dd81..f491c641eafba 100644
--- a/libc/src/string/strtok.cpp
+++ b/libc/src/string/strtok.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strtok.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strtok.h b/libc/src/string/strtok.h
index e18398f1f5b76..9f44cb30e63b3 100644
--- a/libc/src/string/strtok.h
+++ b/libc/src/string/strtok.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRTOK_H
 #define LLVM_LIBC_SRC_STRING_STRTOK_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strtok(char *__restrict src, const char *__restrict delimiter_string);
diff --git a/libc/src/string/strtok_r.cpp b/libc/src/string/strtok_r.cpp
index 8b5bbf4cfcae7..95942167c088f 100644
--- a/libc/src/string/strtok_r.cpp
+++ b/libc/src/string/strtok_r.cpp
@@ -9,6 +9,7 @@
 #include "src/string/strtok_r.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/string_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/string/strtok_r.h b/libc/src/string/strtok_r.h
index be24822fa81f8..ae5d39ae0f3c7 100644
--- a/libc/src/string/strtok_r.h
+++ b/libc/src/string/strtok_r.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRTOK_R_H
 #define LLVM_LIBC_SRC_STRING_STRTOK_R_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 char *strtok_r(char *__restrict src, const char *__restrict delimiter_string,
diff --git a/libc/src/string/strxfrm.cpp b/libc/src/string/strxfrm.cpp
index f3a6d81e6e438..212124e2d1ab6 100644
--- a/libc/src/string/strxfrm.cpp
+++ b/libc/src/string/strxfrm.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/string/strxfrm.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "src/string/string_utils.h"
 
diff --git a/libc/src/string/strxfrm.h b/libc/src/string/strxfrm.h
index c4485ab0fe2c8..3c19d103773eb 100644
--- a/libc/src/string/strxfrm.h
+++ b/libc/src/string/strxfrm.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_STRING_STRXFRM_H
 #define LLVM_LIBC_SRC_STRING_STRXFRM_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h> // For size_t
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/auxv/getauxval.h b/libc/src/sys/auxv/getauxval.h
index cb99745c21e14..3e6971340bbef 100644
--- a/libc/src/sys/auxv/getauxval.h
+++ b/libc/src/sys/auxv/getauxval.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_AUXV_GETAUXVAL_H
 #define LLVM_LIBC_SRC_SYS_AUXV_GETAUXVAL_H
 
+#include "src/__support/macros/config.h"
 #include <sys/auxv.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/auxv/linux/getauxval.cpp b/libc/src/sys/auxv/linux/getauxval.cpp
index 91feb23982380..2ca894d091532 100644
--- a/libc/src/sys/auxv/linux/getauxval.cpp
+++ b/libc/src/sys/auxv/linux/getauxval.cpp
@@ -9,6 +9,7 @@
 #include "src/sys/auxv/getauxval.h"
 #include "config/linux/app.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <linux/auxvec.h>
 
diff --git a/libc/src/sys/epoll/epoll_create.h b/libc/src/sys/epoll/epoll_create.h
index 176b68e67b61a..95c41223eb3b0 100644
--- a/libc/src/sys/epoll/epoll_create.h
+++ b/libc/src/sys/epoll/epoll_create.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE_H
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int epoll_create(int size);
diff --git a/libc/src/sys/epoll/epoll_create1.h b/libc/src/sys/epoll/epoll_create1.h
index ff37d664207aa..c9e0e98520295 100644
--- a/libc/src/sys/epoll/epoll_create1.h
+++ b/libc/src/sys/epoll/epoll_create1.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE1_H
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CREATE1_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int epoll_create1(int flags);
diff --git a/libc/src/sys/epoll/epoll_ctl.h b/libc/src/sys/epoll/epoll_ctl.h
index 5ab4b5afbbeae..55784bcf257cb 100644
--- a/libc/src/sys/epoll/epoll_ctl.h
+++ b/libc/src/sys/epoll/epoll_ctl.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_CTL_H
 
 #include "hdr/types/struct_epoll_event.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/epoll/epoll_pwait.h b/libc/src/sys/epoll/epoll_pwait.h
index 888e8e14ba7ad..8b881cee115a8 100644
--- a/libc/src/sys/epoll/epoll_pwait.h
+++ b/libc/src/sys/epoll/epoll_pwait.h
@@ -11,6 +11,7 @@
 
 #include "hdr/types/sigset_t.h"
 #include "hdr/types/struct_epoll_event.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/epoll/epoll_pwait2.h b/libc/src/sys/epoll/epoll_pwait2.h
index 027dce25a7b7a..b7a7220baeecf 100644
--- a/libc/src/sys/epoll/epoll_pwait2.h
+++ b/libc/src/sys/epoll/epoll_pwait2.h
@@ -12,6 +12,7 @@
 #include "hdr/types/sigset_t.h"
 #include "hdr/types/struct_epoll_event.h"
 #include "hdr/types/struct_timespec.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/epoll/epoll_wait.h b/libc/src/sys/epoll/epoll_wait.h
index 00deb275ef4ac..cd9aa8b2d5491 100644
--- a/libc/src/sys/epoll/epoll_wait.h
+++ b/libc/src/sys/epoll/epoll_wait.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SYS_EPOLL_EPOLL_WAIT_H
 
 #include "hdr/types/struct_epoll_event.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/epoll/linux/epoll_create.cpp b/libc/src/sys/epoll/linux/epoll_create.cpp
index 6f9bad62a0bbe..7196ac7410c30 100644
--- a/libc/src/sys/epoll/linux/epoll_create.cpp
+++ b/libc/src/sys/epoll/linux/epoll_create.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/epoll/linux/epoll_create1.cpp b/libc/src/sys/epoll/linux/epoll_create1.cpp
index 8239df70acc7d..efff282e2714d 100644
--- a/libc/src/sys/epoll/linux/epoll_create1.cpp
+++ b/libc/src/sys/epoll/linux/epoll_create1.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/epoll/linux/epoll_ctl.cpp b/libc/src/sys/epoll/linux/epoll_ctl.cpp
index f686294fcef72..5f7dbb77b1e5b 100644
--- a/libc/src/sys/epoll/linux/epoll_ctl.cpp
+++ b/libc/src/sys/epoll/linux/epoll_ctl.cpp
@@ -11,6 +11,7 @@
 #include "hdr/types/struct_epoll_event.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/epoll/linux/epoll_pwait.cpp b/libc/src/sys/epoll/linux/epoll_pwait.cpp
index e6675ee7b0aef..d7836549928c4 100644
--- a/libc/src/sys/epoll/linux/epoll_pwait.cpp
+++ b/libc/src/sys/epoll/linux/epoll_pwait.cpp
@@ -13,6 +13,7 @@
 #include "hdr/types/struct_epoll_event.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/sys/epoll/linux/epoll_pwait2.cpp b/libc/src/sys/epoll/linux/epoll_pwait2.cpp
index 9f9f3e1816449..14b419399fe9b 100644
--- a/libc/src/sys/epoll/linux/epoll_pwait2.cpp
+++ b/libc/src/sys/epoll/linux/epoll_pwait2.cpp
@@ -14,6 +14,7 @@
 #include "hdr/types/struct_timespec.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/sys/epoll/linux/epoll_wait.cpp b/libc/src/sys/epoll/linux/epoll_wait.cpp
index 876d5a8c903b2..1a63be5e260fb 100644
--- a/libc/src/sys/epoll/linux/epoll_wait.cpp
+++ b/libc/src/sys/epoll/linux/epoll_wait.cpp
@@ -13,6 +13,7 @@
 #include "hdr/types/struct_epoll_event.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/sys/mman/linux/madvise.cpp b/libc/src/sys/mman/linux/madvise.cpp
index 16e8a0291f189..332d6c2db4acb 100644
--- a/libc/src/sys/mman/linux/madvise.cpp
+++ b/libc/src/sys/mman/linux/madvise.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/mincore.cpp b/libc/src/sys/mman/linux/mincore.cpp
index ffbc754a51fe4..b5436fda3853a 100644
--- a/libc/src/sys/mman/linux/mincore.cpp
+++ b/libc/src/sys/mman/linux/mincore.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/mlock.cpp b/libc/src/sys/mman/linux/mlock.cpp
index a28cb55e1144b..be7eb28e29c4f 100644
--- a/libc/src/sys/mman/linux/mlock.cpp
+++ b/libc/src/sys/mman/linux/mlock.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/mlock2.cpp b/libc/src/sys/mman/linux/mlock2.cpp
index b0d77dda519e4..7bc557f9bf58f 100644
--- a/libc/src/sys/mman/linux/mlock2.cpp
+++ b/libc/src/sys/mman/linux/mlock2.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/mlockall.cpp b/libc/src/sys/mman/linux/mlockall.cpp
index e474a3c677615..eae3a9ea0a183 100644
--- a/libc/src/sys/mman/linux/mlockall.cpp
+++ b/libc/src/sys/mman/linux/mlockall.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/mmap.cpp b/libc/src/sys/mman/linux/mmap.cpp
index 96e1b566da343..ee9a0a32e8f55 100644
--- a/libc/src/sys/mman/linux/mmap.cpp
+++ b/libc/src/sys/mman/linux/mmap.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <linux/param.h> // For EXEC_PAGESIZE.
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sys/mman/linux/mprotect.cpp b/libc/src/sys/mman/linux/mprotect.cpp
index 160c6f086fb95..e2351028e2c7f 100644
--- a/libc/src/sys/mman/linux/mprotect.cpp
+++ b/libc/src/sys/mman/linux/mprotect.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/msync.cpp b/libc/src/sys/mman/linux/msync.cpp
index 551421bb29d59..e2b4f81d616ad 100644
--- a/libc/src/sys/mman/linux/msync.cpp
+++ b/libc/src/sys/mman/linux/msync.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/munlock.cpp b/libc/src/sys/mman/linux/munlock.cpp
index 502206fa0d52e..93c25f844c6e8 100644
--- a/libc/src/sys/mman/linux/munlock.cpp
+++ b/libc/src/sys/mman/linux/munlock.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/munlockall.cpp b/libc/src/sys/mman/linux/munlockall.cpp
index 4e654664d22bd..f5911cb01bc28 100644
--- a/libc/src/sys/mman/linux/munlockall.cpp
+++ b/libc/src/sys/mman/linux/munlockall.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/munmap.cpp b/libc/src/sys/mman/linux/munmap.cpp
index 0d74da5097305..9c01b15ac8dc2 100644
--- a/libc/src/sys/mman/linux/munmap.cpp
+++ b/libc/src/sys/mman/linux/munmap.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h>          // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/posix_madvise.cpp b/libc/src/sys/mman/linux/posix_madvise.cpp
index 047c7127e2100..e980ca4d4197c 100644
--- a/libc/src/sys/mman/linux/posix_madvise.cpp
+++ b/libc/src/sys/mman/linux/posix_madvise.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/mman/linux/shm_common.h b/libc/src/sys/mman/linux/shm_common.h
index 9de1eae37c292..ce75c2b5b6991 100644
--- a/libc/src/sys/mman/linux/shm_common.h
+++ b/libc/src/sys/mman/linux/shm_common.h
@@ -9,6 +9,7 @@
 #include "src/__support/CPP/array.h"
 #include "src/__support/CPP/optional.h"
 #include "src/__support/CPP/string_view.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 
diff --git a/libc/src/sys/mman/linux/shm_open.cpp b/libc/src/sys/mman/linux/shm_open.cpp
index 214283b2cba18..d235e57aefdeb 100644
--- a/libc/src/sys/mman/linux/shm_open.cpp
+++ b/libc/src/sys/mman/linux/shm_open.cpp
@@ -8,6 +8,7 @@
 
 #include "src/sys/mman/shm_open.h"
 #include "llvm-libc-macros/fcntl-macros.h"
+#include "src/__support/macros/config.h"
 #include "src/fcntl/open.h"
 #include "src/sys/mman/linux/shm_common.h"
 
diff --git a/libc/src/sys/mman/linux/shm_unlink.cpp b/libc/src/sys/mman/linux/shm_unlink.cpp
index 0b75a2377139f..6a76301512201 100644
--- a/libc/src/sys/mman/linux/shm_unlink.cpp
+++ b/libc/src/sys/mman/linux/shm_unlink.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/sys/mman/shm_unlink.h"
+#include "src/__support/macros/config.h"
 #include "src/sys/mman/linux/shm_common.h"
 #include "src/unistd/unlink.h"
 
diff --git a/libc/src/sys/mman/madvise.h b/libc/src/sys/mman/madvise.h
index 7ef96049acd92..fcc9289996ec4 100644
--- a/libc/src/sys/mman/madvise.h
+++ b/libc/src/sys/mman/madvise.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MADVISE_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MADVISE_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t and off_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mincore.h b/libc/src/sys/mman/mincore.h
index aade975406be3..4b50a19e8c91e 100644
--- a/libc/src/sys/mman/mincore.h
+++ b/libc/src/sys/mman/mincore.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MINCORE_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MINCORE_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mlock.h b/libc/src/sys/mman/mlock.h
index e49d307ce9d62..034a4f5c4b1f0 100644
--- a/libc/src/sys/mman/mlock.h
+++ b/libc/src/sys/mman/mlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MLOCK_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
diff --git a/libc/src/sys/mman/mlock2.h b/libc/src/sys/mman/mlock2.h
index de375d0f117fa..9bba06a5601d3 100644
--- a/libc/src/sys/mman/mlock2.h
+++ b/libc/src/sys/mman/mlock2.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MLOCK2_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MLOCK2_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
diff --git a/libc/src/sys/mman/mlockall.h b/libc/src/sys/mman/mlockall.h
index 7ef422746e129..8e305bb42ed8d 100644
--- a/libc/src/sys/mman/mlockall.h
+++ b/libc/src/sys/mman/mlockall.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MLOCKALL_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MLOCKALL_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mmap.h b/libc/src/sys/mman/mmap.h
index 90994901e027e..b33be35d7b075 100644
--- a/libc/src/sys/mman/mmap.h
+++ b/libc/src/sys/mman/mmap.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MMAP_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MMAP_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t and off_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/mprotect.h b/libc/src/sys/mman/mprotect.h
index 2b813ee6cfaf7..890e9859405d5 100644
--- a/libc/src/sys/mman/mprotect.h
+++ b/libc/src/sys/mman/mprotect.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MPROTECT_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MPROTECT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t and off_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/msync.h b/libc/src/sys/mman/msync.h
index 7e00c35f7a56c..d20c3f38c3220 100644
--- a/libc/src/sys/mman/msync.h
+++ b/libc/src/sys/mman/msync.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MSYNC_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MSYNC_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 #include <sys/syscall.h>
 
diff --git a/libc/src/sys/mman/munlock.h b/libc/src/sys/mman/munlock.h
index 327c654ee0c1a..07f6b3b82ffbd 100644
--- a/libc/src/sys/mman/munlock.h
+++ b/libc/src/sys/mman/munlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MUNLOCK_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MUNLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/munlockall.h b/libc/src/sys/mman/munlockall.h
index 50e08812c576b..f0c632db6714b 100644
--- a/libc/src/sys/mman/munlockall.h
+++ b/libc/src/sys/mman/munlockall.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MUNLOCKALL_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MUNLOCKALL_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/munmap.h b/libc/src/sys/mman/munmap.h
index e5e5fa0a16703..c1fd5d7b7d809 100644
--- a/libc/src/sys/mman/munmap.h
+++ b/libc/src/sys/mman/munmap.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_MUNMAP_H
 #define LLVM_LIBC_SRC_SYS_MMAN_MUNMAP_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t.
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/posix_madvise.h b/libc/src/sys/mman/posix_madvise.h
index 97dac75a39a26..31ec5f656b650 100644
--- a/libc/src/sys/mman/posix_madvise.h
+++ b/libc/src/sys/mman/posix_madvise.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_POSIX_MADVISE_H
 #define LLVM_LIBC_SRC_SYS_MMAN_POSIX_MADVISE_H
 
+#include "src/__support/macros/config.h"
 #include <sys/mman.h> // For size_t and off_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/shm_open.h b/libc/src/sys/mman/shm_open.h
index 07141068f08f5..c890304aa4acf 100644
--- a/libc/src/sys/mman/shm_open.h
+++ b/libc/src/sys/mman/shm_open.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_SHM_OPEN_H
 #define LLVM_LIBC_SRC_SYS_MMAN_SHM_OPEN_H
 
+#include "src/__support/macros/config.h"
 #include <llvm-libc-types/mode_t.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/mman/shm_unlink.h b/libc/src/sys/mman/shm_unlink.h
index 34841df14d424..06ad42b52d4eb 100644
--- a/libc/src/sys/mman/shm_unlink.h
+++ b/libc/src/sys/mman/shm_unlink.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SYS_MMAN_SHM_UNLINK_H
 #define LLVM_LIBC_SRC_SYS_MMAN_SHM_UNLINK_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int shm_unlink(const char *name);
diff --git a/libc/src/sys/prctl/linux/prctl.cpp b/libc/src/sys/prctl/linux/prctl.cpp
index 6fcd214578ce4..5d4e9046b8777 100644
--- a/libc/src/sys/prctl/linux/prctl.cpp
+++ b/libc/src/sys/prctl/linux/prctl.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/prctl/prctl.h b/libc/src/sys/prctl/prctl.h
index c8cb23f056b7a..c6b5797abe1c6 100644
--- a/libc/src/sys/prctl/prctl.h
+++ b/libc/src/sys/prctl/prctl.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_PRCTL_PRCTL_H
 #define LLVM_LIBC_SRC_SYS_PRCTL_PRCTL_H
 
+#include "src/__support/macros/config.h"
 #include <sys/prctl.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/random/getrandom.h b/libc/src/sys/random/getrandom.h
index dc44cb45d4840..134bd0cd9468d 100644
--- a/libc/src/sys/random/getrandom.h
+++ b/libc/src/sys/random/getrandom.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_RANDOM_GETRANDOM_H
 #define LLVM_LIBC_SRC_SYS_RANDOM_GETRANDOM_H
 
+#include "src/__support/macros/config.h"
 #include <sys/random.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/random/linux/getrandom.cpp b/libc/src/sys/random/linux/getrandom.cpp
index 7e0ff9b54aaec..9a8869a2d6d38 100644
--- a/libc/src/sys/random/linux/getrandom.cpp
+++ b/libc/src/sys/random/linux/getrandom.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/sys/resource/getrlimit.h b/libc/src/sys/resource/getrlimit.h
index 6a57647acf00c..c369744a5c4ba 100644
--- a/libc/src/sys/resource/getrlimit.h
+++ b/libc/src/sys/resource/getrlimit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_RESOURCE_GETRLIMIT_H
 #define LLVM_LIBC_SRC_SYS_RESOURCE_GETRLIMIT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/resource.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/resource/linux/getrlimit.cpp b/libc/src/sys/resource/linux/getrlimit.cpp
index 79038f0ad3fe5..30c2e91b036d1 100644
--- a/libc/src/sys/resource/linux/getrlimit.cpp
+++ b/libc/src/sys/resource/linux/getrlimit.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/resource.h> // For struct rlimit
 #include <sys/syscall.h>  // For syscall numbers.
diff --git a/libc/src/sys/resource/linux/setrlimit.cpp b/libc/src/sys/resource/linux/setrlimit.cpp
index f7a45e5a6123e..85f07900aaef4 100644
--- a/libc/src/sys/resource/linux/setrlimit.cpp
+++ b/libc/src/sys/resource/linux/setrlimit.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/resource.h> // For struct rlimit
 #include <sys/syscall.h>  // For syscall numbers.
diff --git a/libc/src/sys/resource/setrlimit.h b/libc/src/sys/resource/setrlimit.h
index 90156d6cce826..6f966791f09b8 100644
--- a/libc/src/sys/resource/setrlimit.h
+++ b/libc/src/sys/resource/setrlimit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_RESOURCE_SETRLIMIT_H
 #define LLVM_LIBC_SRC_SYS_RESOURCE_SETRLIMIT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/resource.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/select/linux/select.cpp b/libc/src/sys/select/linux/select.cpp
index 6f5f375d741a4..9ccb1e95f275c 100644
--- a/libc/src/sys/select/linux/select.cpp
+++ b/libc/src/sys/select/linux/select.cpp
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/limits.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <stddef.h>      // For size_t
diff --git a/libc/src/sys/select/select.h b/libc/src/sys/select/select.h
index 091f5a1554783..be3f5eb1deb1e 100644
--- a/libc/src/sys/select/select.h
+++ b/libc/src/sys/select/select.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_SELECT_SELECT_H
 #define LLVM_LIBC_SRC_SYS_SELECT_SELECT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/select.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/sendfile/linux/sendfile.cpp b/libc/src/sys/sendfile/linux/sendfile.cpp
index f240a5c8b9e97..9d4174cb8c916 100644
--- a/libc/src/sys/sendfile/linux/sendfile.cpp
+++ b/libc/src/sys/sendfile/linux/sendfile.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/sendfile.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sys/sendfile/sendfile.h b/libc/src/sys/sendfile/sendfile.h
index c91c13d6809d8..95c3fd4db470c 100644
--- a/libc/src/sys/sendfile/sendfile.h
+++ b/libc/src/sys/sendfile/sendfile.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_SENDFILE_SENDFILE_H
 #define LLVM_LIBC_SRC_SYS_SENDFILE_SENDFILE_H
 
+#include "src/__support/macros/config.h"
 #include <sys/sendfile.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/socket/bind.h b/libc/src/sys/socket/bind.h
index a1e86690a00f6..1676ab6a003ad 100644
--- a/libc/src/sys/socket/bind.h
+++ b/libc/src/sys/socket/bind.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_SOCKET_BIND_H
 #define LLVM_LIBC_SRC_SYS_SOCKET_BIND_H
 
+#include "src/__support/macros/config.h"
 #include <sys/socket.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/socket/linux/bind.cpp b/libc/src/sys/socket/linux/bind.cpp
index 17414de16ee60..3289e9f0852e8 100644
--- a/libc/src/sys/socket/linux/bind.cpp
+++ b/libc/src/sys/socket/linux/bind.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <linux/net.h>   // For SYS_SOCKET socketcall number.
diff --git a/libc/src/sys/socket/linux/socket.cpp b/libc/src/sys/socket/linux/socket.cpp
index 523d3bfabeca3..3e6df4d487a53 100644
--- a/libc/src/sys/socket/linux/socket.cpp
+++ b/libc/src/sys/socket/linux/socket.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <linux/net.h>   // For SYS_SOCKET socketcall number.
diff --git a/libc/src/sys/socket/socket.h b/libc/src/sys/socket/socket.h
index 3842b699e25eb..253be738bf317 100644
--- a/libc/src/sys/socket/socket.h
+++ b/libc/src/sys/socket/socket.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_SYS_SOCKET_SOCKET_H
 #define LLVM_LIBC_SRC_SYS_SOCKET_SOCKET_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int socket(int domain, int type, int protocol);
diff --git a/libc/src/sys/stat/chmod.h b/libc/src/sys/stat/chmod.h
index 4c89cdf2099ff..a05407a40978f 100644
--- a/libc/src/sys/stat/chmod.h
+++ b/libc/src/sys/stat/chmod.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_CHMOD_H
 #define LLVM_LIBC_SRC_SYS_STAT_CHMOD_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/fchmod.h b/libc/src/sys/stat/fchmod.h
index 37dd555c8ee49..470ce3e3a03a2 100644
--- a/libc/src/sys/stat/fchmod.h
+++ b/libc/src/sys/stat/fchmod.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_FCHMOD_H
 #define LLVM_LIBC_SRC_SYS_STAT_FCHMOD_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/fchmodat.h b/libc/src/sys/stat/fchmodat.h
index b8e057dcd55e9..e4500f505bfda 100644
--- a/libc/src/sys/stat/fchmodat.h
+++ b/libc/src/sys/stat/fchmodat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_FCHMODAT_H
 #define LLVM_LIBC_SRC_SYS_STAT_FCHMODAT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/fstat.h b/libc/src/sys/stat/fstat.h
index 53f9d636a7727..a3ec9e45384c9 100644
--- a/libc/src/sys/stat/fstat.h
+++ b/libc/src/sys/stat/fstat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_FSTAT_H
 #define LLVM_LIBC_SRC_SYS_STAT_FSTAT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/linux/chmod.cpp b/libc/src/sys/stat/linux/chmod.cpp
index 2808b1d723071..c91cabb514a8c 100644
--- a/libc/src/sys/stat/linux/chmod.cpp
+++ b/libc/src/sys/stat/linux/chmod.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/stat.h>
diff --git a/libc/src/sys/stat/linux/fchmod.cpp b/libc/src/sys/stat/linux/fchmod.cpp
index b2bb7939ff366..7b6c7b7091a82 100644
--- a/libc/src/sys/stat/linux/fchmod.cpp
+++ b/libc/src/sys/stat/linux/fchmod.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/stat.h>
diff --git a/libc/src/sys/stat/linux/fchmodat.cpp b/libc/src/sys/stat/linux/fchmodat.cpp
index 6998d911ee12f..e76db4d160fb8 100644
--- a/libc/src/sys/stat/linux/fchmodat.cpp
+++ b/libc/src/sys/stat/linux/fchmodat.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sys/stat/linux/fstat.cpp b/libc/src/sys/stat/linux/fstat.cpp
index 1e2460500c5e9..411aa47bcda2a 100644
--- a/libc/src/sys/stat/linux/fstat.cpp
+++ b/libc/src/sys/stat/linux/fstat.cpp
@@ -8,6 +8,7 @@
 
 #include "src/sys/stat/fstat.h"
 #include "kernel_statx.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/sys/stat/linux/kernel_statx.h b/libc/src/sys/stat/linux/kernel_statx.h
index 0813a2a71510f..f26f0b826ac1e 100644
--- a/libc/src/sys/stat/linux/kernel_statx.h
+++ b/libc/src/sys/stat/linux/kernel_statx.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 #include <sys/stat.h>
diff --git a/libc/src/sys/stat/linux/lstat.cpp b/libc/src/sys/stat/linux/lstat.cpp
index 2e8042e59f09c..5a6eff068d1dd 100644
--- a/libc/src/sys/stat/linux/lstat.cpp
+++ b/libc/src/sys/stat/linux/lstat.cpp
@@ -8,6 +8,7 @@
 
 #include "src/sys/stat/lstat.h"
 #include "kernel_statx.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
diff --git a/libc/src/sys/stat/linux/mkdir.cpp b/libc/src/sys/stat/linux/mkdir.cpp
index 46f563ba22e30..527c3d2058d2b 100644
--- a/libc/src/sys/stat/linux/mkdir.cpp
+++ b/libc/src/sys/stat/linux/mkdir.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/stat.h>
diff --git a/libc/src/sys/stat/linux/mkdirat.cpp b/libc/src/sys/stat/linux/mkdirat.cpp
index f308ff4b25ee1..097fc158010d1 100644
--- a/libc/src/sys/stat/linux/mkdirat.cpp
+++ b/libc/src/sys/stat/linux/mkdirat.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/stat.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/sys/stat/linux/stat.cpp b/libc/src/sys/stat/linux/stat.cpp
index a07cbea6ab652..c5149e6e3c883 100644
--- a/libc/src/sys/stat/linux/stat.cpp
+++ b/libc/src/sys/stat/linux/stat.cpp
@@ -8,6 +8,7 @@
 
 #include "src/sys/stat/stat.h"
 #include "kernel_statx.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/sys/stat/lstat.h b/libc/src/sys/stat/lstat.h
index cd467493781fa..a94fc69969ab9 100644
--- a/libc/src/sys/stat/lstat.h
+++ b/libc/src/sys/stat/lstat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_LSTAT_H
 #define LLVM_LIBC_SRC_SYS_STAT_LSTAT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/mkdir.h b/libc/src/sys/stat/mkdir.h
index e8fe3043686e2..2d990bacd564e 100644
--- a/libc/src/sys/stat/mkdir.h
+++ b/libc/src/sys/stat/mkdir.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_MKDIR_H
 #define LLVM_LIBC_SRC_SYS_STAT_MKDIR_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/mkdirat.h b/libc/src/sys/stat/mkdirat.h
index d52cbe89c2c3c..e26cf5b58b8b1 100644
--- a/libc/src/sys/stat/mkdirat.h
+++ b/libc/src/sys/stat/mkdirat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_MKDIRAT_H
 #define LLVM_LIBC_SRC_SYS_STAT_MKDIRAT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/stat/stat.h b/libc/src/sys/stat/stat.h
index 72c94968829fa..8ec3e9b1aa9e0 100644
--- a/libc/src/sys/stat/stat.h
+++ b/libc/src/sys/stat/stat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_STAT_STAT_H
 #define LLVM_LIBC_SRC_SYS_STAT_STAT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/stat.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/statvfs/fstatvfs.h b/libc/src/sys/statvfs/fstatvfs.h
index 2bac94752d789..60c271c253d32 100644
--- a/libc/src/sys/statvfs/fstatvfs.h
+++ b/libc/src/sys/statvfs/fstatvfs.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SYS_STATVFS_FSTATVFS_H
 
 #include "llvm-libc-types/struct_statvfs.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/statvfs/linux/fstatvfs.cpp b/libc/src/sys/statvfs/linux/fstatvfs.cpp
index 2b7e661491f3f..1a2fc04a1dff9 100644
--- a/libc/src/sys/statvfs/linux/fstatvfs.cpp
+++ b/libc/src/sys/statvfs/linux/fstatvfs.cpp
@@ -9,6 +9,7 @@
 #include "src/sys/statvfs/fstatvfs.h"
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/statvfs/linux/statfs_utils.h b/libc/src/sys/statvfs/linux/statfs_utils.h
index 4016c566fb8dd..ca981c1364748 100644
--- a/libc/src/sys/statvfs/linux/statfs_utils.h
+++ b/libc/src/sys/statvfs/linux/statfs_utils.h
@@ -13,6 +13,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/macros/attributes.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <asm/statfs.h>
 #include <sys/syscall.h>
diff --git a/libc/src/sys/statvfs/linux/statvfs.cpp b/libc/src/sys/statvfs/linux/statvfs.cpp
index a9cbc125fe31f..fc3c75a260ce0 100644
--- a/libc/src/sys/statvfs/linux/statvfs.cpp
+++ b/libc/src/sys/statvfs/linux/statvfs.cpp
@@ -9,6 +9,7 @@
 #include "src/sys/statvfs/statvfs.h"
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
+#include "src/__support/macros/config.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/statvfs/statvfs.h b/libc/src/sys/statvfs/statvfs.h
index 92458ce5940fb..674a079b593c4 100644
--- a/libc/src/sys/statvfs/statvfs.h
+++ b/libc/src/sys/statvfs/statvfs.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_SYS_STATVFS_STATVFS_H
 
 #include "llvm-libc-types/struct_statvfs.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/sys/utsname/linux/uname.cpp b/libc/src/sys/utsname/linux/uname.cpp
index 0f904ae84ede4..7bb227e801e3a 100644
--- a/libc/src/sys/utsname/linux/uname.cpp
+++ b/libc/src/sys/utsname/linux/uname.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 #include <sys/utsname.h>
diff --git a/libc/src/sys/utsname/uname.h b/libc/src/sys/utsname/uname.h
index 60c99dd94a42b..973df77f164d3 100644
--- a/libc/src/sys/utsname/uname.h
+++ b/libc/src/sys/utsname/uname.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_UTSNAME_UNAME_H
 #define LLVM_LIBC_SRC_SYS_UTSNAME_UNAME_H
 
+#include "src/__support/macros/config.h"
 #include <sys/utsname.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/wait/linux/wait.cpp b/libc/src/sys/wait/linux/wait.cpp
index be3af7fb68824..dc97d0a4ff172 100644
--- a/libc/src/sys/wait/linux/wait.cpp
+++ b/libc/src/sys/wait/linux/wait.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 
+#include "src/__support/macros/config.h"
 #include "src/sys/wait/wait.h"
 #include "src/sys/wait/wait4Impl.h"
 
diff --git a/libc/src/sys/wait/linux/wait4.cpp b/libc/src/sys/wait/linux/wait4.cpp
index b5a27b4729fd6..ac6d16933dc87 100644
--- a/libc/src/sys/wait/linux/wait4.cpp
+++ b/libc/src/sys/wait/linux/wait4.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 
+#include "src/__support/macros/config.h"
 #include "src/sys/wait/wait4.h"
 #include "src/sys/wait/wait4Impl.h"
 
diff --git a/libc/src/sys/wait/linux/waitpid.cpp b/libc/src/sys/wait/linux/waitpid.cpp
index bd8ca67c7f362..cb763a686353d 100644
--- a/libc/src/sys/wait/linux/waitpid.cpp
+++ b/libc/src/sys/wait/linux/waitpid.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/common.h"
 #include "src/__support/libc_assert.h"
 
+#include "src/__support/macros/config.h"
 #include "src/sys/wait/wait4Impl.h"
 #include "src/sys/wait/waitpid.h"
 
diff --git a/libc/src/sys/wait/wait.h b/libc/src/sys/wait/wait.h
index 28448d9f5cd0f..03b53a54ae888 100644
--- a/libc/src/sys/wait/wait.h
+++ b/libc/src/sys/wait/wait.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_WAIT_WAIT_H
 #define LLVM_LIBC_SRC_SYS_WAIT_WAIT_H
 
+#include "src/__support/macros/config.h"
 #include <sys/wait.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/wait/wait4.h b/libc/src/sys/wait/wait4.h
index 402ae64ac9c92..f425feec5cb29 100644
--- a/libc/src/sys/wait/wait4.h
+++ b/libc/src/sys/wait/wait4.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_WAIT_WAIT4_H
 #define LLVM_LIBC_SRC_SYS_WAIT_WAIT4_H
 
+#include "src/__support/macros/config.h"
 #include <sys/wait.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/sys/wait/wait4Impl.h b/libc/src/sys/wait/wait4Impl.h
index f59a4eba59d17..5c2cb3e8e0abf 100644
--- a/libc/src/sys/wait/wait4Impl.h
+++ b/libc/src/sys/wait/wait4Impl.h
@@ -12,6 +12,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 #include "src/__support/error_or.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <signal.h>
diff --git a/libc/src/sys/wait/waitpid.h b/libc/src/sys/wait/waitpid.h
index b6a218933ae50..883b5375787e2 100644
--- a/libc/src/sys/wait/waitpid.h
+++ b/libc/src/sys/wait/waitpid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_SYS_WAIT_WAITPID_H
 #define LLVM_LIBC_SRC_SYS_WAIT_WAITPID_H
 
+#include "src/__support/macros/config.h"
 #include <sys/wait.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/cfgetispeed.h b/libc/src/termios/cfgetispeed.h
index 3464169e780de..56b0ab852cdb8 100644
--- a/libc/src/termios/cfgetispeed.h
+++ b/libc/src/termios/cfgetispeed.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_CFGETISPEED_H
 #define LLVM_LIBC_SRC_TERMIOS_CFGETISPEED_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/cfgetospeed.h b/libc/src/termios/cfgetospeed.h
index a3f168a02d281..9d8e6656b0e9b 100644
--- a/libc/src/termios/cfgetospeed.h
+++ b/libc/src/termios/cfgetospeed.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_CFGETOSPEED_H
 #define LLVM_LIBC_SRC_TERMIOS_CFGETOSPEED_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/cfsetispeed.h b/libc/src/termios/cfsetispeed.h
index 6c4a237333878..89b683e560489 100644
--- a/libc/src/termios/cfsetispeed.h
+++ b/libc/src/termios/cfsetispeed.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_CFSETISPEED_H
 #define LLVM_LIBC_SRC_TERMIOS_CFSETISPEED_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/cfsetospeed.h b/libc/src/termios/cfsetospeed.h
index 0077a7770186f..2f2c5315fb690 100644
--- a/libc/src/termios/cfsetospeed.h
+++ b/libc/src/termios/cfsetospeed.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_CFSETOSPEED_H
 #define LLVM_LIBC_SRC_TERMIOS_CFSETOSPEED_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/linux/cfgetispeed.cpp b/libc/src/termios/linux/cfgetispeed.cpp
index 881bb4c30dcab..19e9b9140aa2b 100644
--- a/libc/src/termios/linux/cfgetispeed.cpp
+++ b/libc/src/termios/linux/cfgetispeed.cpp
@@ -9,6 +9,7 @@
 #include "src/termios/cfgetispeed.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <termios.h>
 
diff --git a/libc/src/termios/linux/cfgetospeed.cpp b/libc/src/termios/linux/cfgetospeed.cpp
index b0709c88d725d..d633beb8061f8 100644
--- a/libc/src/termios/linux/cfgetospeed.cpp
+++ b/libc/src/termios/linux/cfgetospeed.cpp
@@ -9,6 +9,7 @@
 #include "src/termios/cfgetospeed.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <termios.h>
 
diff --git a/libc/src/termios/linux/cfsetispeed.cpp b/libc/src/termios/linux/cfsetispeed.cpp
index 7b518116a19f1..9656b714a8ed2 100644
--- a/libc/src/termios/linux/cfsetispeed.cpp
+++ b/libc/src/termios/linux/cfsetispeed.cpp
@@ -9,6 +9,7 @@
 #include "src/termios/cfsetispeed.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <termios.h>
diff --git a/libc/src/termios/linux/cfsetospeed.cpp b/libc/src/termios/linux/cfsetospeed.cpp
index f6c0d34af5525..6130d266dbff0 100644
--- a/libc/src/termios/linux/cfsetospeed.cpp
+++ b/libc/src/termios/linux/cfsetospeed.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/termios/cfsetospeed.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include "src/__support/common.h"
diff --git a/libc/src/termios/linux/kernel_termios.h b/libc/src/termios/linux/kernel_termios.h
index 5cbc6252c832d..5a3a9722789eb 100644
--- a/libc/src/termios/linux/kernel_termios.h
+++ b/libc/src/termios/linux/kernel_termios.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_LINUX_KERNEL_TERMIOS_H
 #define LLVM_LIBC_SRC_TERMIOS_LINUX_KERNEL_TERMIOS_H
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <termios.h>
 
diff --git a/libc/src/termios/linux/tcdrain.cpp b/libc/src/termios/linux/tcdrain.cpp
index 9e4aa100dae32..116e3f0e0cbc5 100644
--- a/libc/src/termios/linux/tcdrain.cpp
+++ b/libc/src/termios/linux/tcdrain.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcflow.cpp b/libc/src/termios/linux/tcflow.cpp
index 4496a10eeb1b9..d229230b5d138 100644
--- a/libc/src/termios/linux/tcflow.cpp
+++ b/libc/src/termios/linux/tcflow.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcflush.cpp b/libc/src/termios/linux/tcflush.cpp
index bf7487c055491..028a5414b1960 100644
--- a/libc/src/termios/linux/tcflush.cpp
+++ b/libc/src/termios/linux/tcflush.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcgetattr.cpp b/libc/src/termios/linux/tcgetattr.cpp
index 3c39904e0ba35..63c096ff88eba 100644
--- a/libc/src/termios/linux/tcgetattr.cpp
+++ b/libc/src/termios/linux/tcgetattr.cpp
@@ -11,6 +11,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcgetsid.cpp b/libc/src/termios/linux/tcgetsid.cpp
index 565bc8175b695..c283d0e4fda9a 100644
--- a/libc/src/termios/linux/tcgetsid.cpp
+++ b/libc/src/termios/linux/tcgetsid.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcsendbreak.cpp b/libc/src/termios/linux/tcsendbreak.cpp
index f733c3f0aea6a..30bc91cf3de0a 100644
--- a/libc/src/termios/linux/tcsendbreak.cpp
+++ b/libc/src/termios/linux/tcsendbreak.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/linux/tcsetattr.cpp b/libc/src/termios/linux/tcsetattr.cpp
index 0b26c45bafe80..8aa1e5c57b34e 100644
--- a/libc/src/termios/linux/tcsetattr.cpp
+++ b/libc/src/termios/linux/tcsetattr.cpp
@@ -11,6 +11,7 @@
 
 #include "src/__support/OSUtil/syscall.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <asm/ioctls.h> // Safe to include without the risk of name pollution.
diff --git a/libc/src/termios/tcdrain.h b/libc/src/termios/tcdrain.h
index 47db17cd31a58..f7fcd8c734bfa 100644
--- a/libc/src/termios/tcdrain.h
+++ b/libc/src/termios/tcdrain.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCDRAIN_H
 #define LLVM_LIBC_SRC_TERMIOS_TCDRAIN_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcflow.h b/libc/src/termios/tcflow.h
index 1ad85b0e774b5..dbe63adea1ceb 100644
--- a/libc/src/termios/tcflow.h
+++ b/libc/src/termios/tcflow.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCFLOW_H
 #define LLVM_LIBC_SRC_TERMIOS_TCFLOW_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcflush.h b/libc/src/termios/tcflush.h
index 2cfa2fed1c001..5c283a0203c89 100644
--- a/libc/src/termios/tcflush.h
+++ b/libc/src/termios/tcflush.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCFLUSH_H
 #define LLVM_LIBC_SRC_TERMIOS_TCFLUSH_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcgetattr.h b/libc/src/termios/tcgetattr.h
index 15f20c2625801..54b169aedad88 100644
--- a/libc/src/termios/tcgetattr.h
+++ b/libc/src/termios/tcgetattr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCGETATTR_H
 #define LLVM_LIBC_SRC_TERMIOS_TCGETATTR_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcgetsid.h b/libc/src/termios/tcgetsid.h
index a46941c07d97b..a69db00a5dab0 100644
--- a/libc/src/termios/tcgetsid.h
+++ b/libc/src/termios/tcgetsid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCGETSID_H
 #define LLVM_LIBC_SRC_TERMIOS_TCGETSID_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcsendbreak.h b/libc/src/termios/tcsendbreak.h
index b63e59261eaf0..9edc602cff6c5 100644
--- a/libc/src/termios/tcsendbreak.h
+++ b/libc/src/termios/tcsendbreak.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCSENDBREAK_H
 #define LLVM_LIBC_SRC_TERMIOS_TCSENDBREAK_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/termios/tcsetattr.h b/libc/src/termios/tcsetattr.h
index 0dd6e23a64e20..05c88f104836f 100644
--- a/libc/src/termios/tcsetattr.h
+++ b/libc/src/termios/tcsetattr.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TERMIOS_TCSETATTR_H
 #define LLVM_LIBC_SRC_TERMIOS_TCSETATTR_H
 
+#include "src/__support/macros/config.h"
 #include <termios.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/call_once.cpp b/libc/src/threads/call_once.cpp
index d28ce8ae5054d..8466cd622afeb 100644
--- a/libc/src/threads/call_once.cpp
+++ b/libc/src/threads/call_once.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/call_once.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/callonce.h"
 
 #include <threads.h> // For once_flag and __call_once_func_t definitions.
diff --git a/libc/src/threads/call_once.h b/libc/src/threads/call_once.h
index e46ad0de59f73..b6208afd80b74 100644
--- a/libc/src/threads/call_once.h
+++ b/libc/src/threads/call_once.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CALL_ONCE_H
 #define LLVM_LIBC_SRC_THREADS_CALL_ONCE_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/cnd_broadcast.h b/libc/src/threads/cnd_broadcast.h
index 6998f42135738..ab911a774573e 100644
--- a/libc/src/threads/cnd_broadcast.h
+++ b/libc/src/threads/cnd_broadcast.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CND_BROADCAST_H
 #define LLVM_LIBC_SRC_THREADS_CND_BROADCAST_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/cnd_destroy.h b/libc/src/threads/cnd_destroy.h
index f8a80705c8dbe..224a9a4d0763e 100644
--- a/libc/src/threads/cnd_destroy.h
+++ b/libc/src/threads/cnd_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CND_DESTROY_H
 #define LLVM_LIBC_SRC_THREADS_CND_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/cnd_init.h b/libc/src/threads/cnd_init.h
index 651640d6f2b2e..dcd4f7b918fd6 100644
--- a/libc/src/threads/cnd_init.h
+++ b/libc/src/threads/cnd_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CND_INIT_H
 #define LLVM_LIBC_SRC_THREADS_CND_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/cnd_signal.h b/libc/src/threads/cnd_signal.h
index 28335e8ea9e3f..95d4426cdc2f7 100644
--- a/libc/src/threads/cnd_signal.h
+++ b/libc/src/threads/cnd_signal.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CND_SIGNAL_H
 #define LLVM_LIBC_SRC_THREADS_CND_SIGNAL_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/cnd_wait.h b/libc/src/threads/cnd_wait.h
index d089e6eccae86..8f9f0f3ddd382 100644
--- a/libc/src/threads/cnd_wait.h
+++ b/libc/src/threads/cnd_wait.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_CND_WAIT_H
 #define LLVM_LIBC_SRC_THREADS_CND_WAIT_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/linux/Futex.h b/libc/src/threads/linux/Futex.h
index bad8abb7abb59..e7fde14629d53 100644
--- a/libc/src/threads/linux/Futex.h
+++ b/libc/src/threads/linux/Futex.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_LINUX_FUTEX_H
 #define LLVM_LIBC_SRC_THREADS_LINUX_FUTEX_H
 
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h" // Architecture macros
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/linux/cnd_broadcast.cpp b/libc/src/threads/linux/cnd_broadcast.cpp
index 232317e01a36c..5c5187461bbed 100644
--- a/libc/src/threads/linux/cnd_broadcast.cpp
+++ b/libc/src/threads/linux/cnd_broadcast.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/cnd_broadcast.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/CndVar.h"
 
 // TODO: https://github.com/llvm/llvm-project/issues/92968
diff --git a/libc/src/threads/linux/cnd_destroy.cpp b/libc/src/threads/linux/cnd_destroy.cpp
index 00c65207c2f5e..963991bddfe45 100644
--- a/libc/src/threads/linux/cnd_destroy.cpp
+++ b/libc/src/threads/linux/cnd_destroy.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/cnd_destroy.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/CndVar.h"
 
 #include <threads.h> // cnd_t
diff --git a/libc/src/threads/linux/cnd_init.cpp b/libc/src/threads/linux/cnd_init.cpp
index 14fa24e41fefa..478011a5255e8 100644
--- a/libc/src/threads/linux/cnd_init.cpp
+++ b/libc/src/threads/linux/cnd_init.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/cnd_init.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/CndVar.h"
 
 #include <threads.h> // cnd_t, thrd_error, thrd_success
diff --git a/libc/src/threads/linux/cnd_signal.cpp b/libc/src/threads/linux/cnd_signal.cpp
index 19d7611e7930c..0d218405d3ac5 100644
--- a/libc/src/threads/linux/cnd_signal.cpp
+++ b/libc/src/threads/linux/cnd_signal.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/cnd_signal.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/CndVar.h"
 
 #include <threads.h> // cnd_t, thrd_error, thrd_success
diff --git a/libc/src/threads/linux/cnd_wait.cpp b/libc/src/threads/linux/cnd_wait.cpp
index 188fb7b170d9c..3633cc85277b9 100644
--- a/libc/src/threads/linux/cnd_wait.cpp
+++ b/libc/src/threads/linux/cnd_wait.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/cnd_wait.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/CndVar.h"
 #include "src/__support/threads/mutex.h"
 
diff --git a/libc/src/threads/mtx_destroy.cpp b/libc/src/threads/mtx_destroy.cpp
index 95fd1c27e4a31..f5e3f828b1b0c 100644
--- a/libc/src/threads/mtx_destroy.cpp
+++ b/libc/src/threads/mtx_destroy.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/mtx_destroy.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <threads.h> // For mtx_t definition.
diff --git a/libc/src/threads/mtx_destroy.h b/libc/src/threads/mtx_destroy.h
index 891a59ec4cbce..8919008e00f1e 100644
--- a/libc/src/threads/mtx_destroy.h
+++ b/libc/src/threads/mtx_destroy.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_MTX_DESTROY_H
 #define LLVM_LIBC_SRC_THREADS_MTX_DESTROY_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/mtx_init.cpp b/libc/src/threads/mtx_init.cpp
index 4793bd2eaea46..eb0ba5010584e 100644
--- a/libc/src/threads/mtx_init.cpp
+++ b/libc/src/threads/mtx_init.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/mtx_init.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <threads.h> // For mtx_t definition.
diff --git a/libc/src/threads/mtx_init.h b/libc/src/threads/mtx_init.h
index fc563130e9fc1..41dc807ff3841 100644
--- a/libc/src/threads/mtx_init.h
+++ b/libc/src/threads/mtx_init.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_MTX_INIT_H
 #define LLVM_LIBC_SRC_THREADS_MTX_INIT_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/mtx_lock.cpp b/libc/src/threads/mtx_lock.cpp
index 1ead36abf87d8..5595ebd871998 100644
--- a/libc/src/threads/mtx_lock.cpp
+++ b/libc/src/threads/mtx_lock.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/mtx_lock.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <threads.h> // For mtx_t definition.
diff --git a/libc/src/threads/mtx_lock.h b/libc/src/threads/mtx_lock.h
index 4410ae0de8434..110ac2763a61a 100644
--- a/libc/src/threads/mtx_lock.h
+++ b/libc/src/threads/mtx_lock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_MTX_LOCK_H
 #define LLVM_LIBC_SRC_THREADS_MTX_LOCK_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/mtx_unlock.cpp b/libc/src/threads/mtx_unlock.cpp
index 2201f17ba9542..dcb2206e905da 100644
--- a/libc/src/threads/mtx_unlock.cpp
+++ b/libc/src/threads/mtx_unlock.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/mtx_unlock.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/mutex.h"
 
 #include <threads.h> // For mtx_t definition.
diff --git a/libc/src/threads/mtx_unlock.h b/libc/src/threads/mtx_unlock.h
index 8c9bdd78f1ef9..54f6f79ae213c 100644
--- a/libc/src/threads/mtx_unlock.h
+++ b/libc/src/threads/mtx_unlock.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_MTX_UNLOCK_H
 #define LLVM_LIBC_SRC_THREADS_MTX_UNLOCK_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_create.cpp b/libc/src/threads/thrd_create.cpp
index a2380589fedd1..52af72b07c8a8 100644
--- a/libc/src/threads/thrd_create.cpp
+++ b/libc/src/threads/thrd_create.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_create.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <errno.h>
diff --git a/libc/src/threads/thrd_create.h b/libc/src/threads/thrd_create.h
index c85d6fe59ad1b..c7b527b6e4f53 100644
--- a/libc/src/threads/thrd_create.h
+++ b/libc/src/threads/thrd_create.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_CREATE_H
 #define LLVM_LIBC_SRC_THREADS_THRD_CREATE_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_current.cpp b/libc/src/threads/thrd_current.cpp
index d5fe74504c9c0..634159712b629 100644
--- a/libc/src/threads/thrd_current.cpp
+++ b/libc/src/threads/thrd_current.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_current.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h> // For thrd_* type definitions.
diff --git a/libc/src/threads/thrd_current.h b/libc/src/threads/thrd_current.h
index 417f33b13ff78..aec9cd8ed4728 100644
--- a/libc/src/threads/thrd_current.h
+++ b/libc/src/threads/thrd_current.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_CURRENT_H
 #define LLVM_LIBC_SRC_THREADS_THRD_CURRENT_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_detach.cpp b/libc/src/threads/thrd_detach.cpp
index bf7ffe0a8291c..a3fe257a34560 100644
--- a/libc/src/threads/thrd_detach.cpp
+++ b/libc/src/threads/thrd_detach.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_detach.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h> // For thrd_* type definitions.
diff --git a/libc/src/threads/thrd_detach.h b/libc/src/threads/thrd_detach.h
index b5d3f680e8191..d139aad1b869b 100644
--- a/libc/src/threads/thrd_detach.h
+++ b/libc/src/threads/thrd_detach.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_DETACH_H
 #define LLVM_LIBC_SRC_THREADS_THRD_DETACH_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_equal.cpp b/libc/src/threads/thrd_equal.cpp
index 80bb5a64f6c46..1d901cb697ac2 100644
--- a/libc/src/threads/thrd_equal.cpp
+++ b/libc/src/threads/thrd_equal.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_equal.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h> // For thrd_* type definitions.
diff --git a/libc/src/threads/thrd_equal.h b/libc/src/threads/thrd_equal.h
index 8020049da59e1..5309dbc2758c9 100644
--- a/libc/src/threads/thrd_equal.h
+++ b/libc/src/threads/thrd_equal.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_EQUAL_H
 #define LLVM_LIBC_SRC_THREADS_THRD_EQUAL_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_exit.cpp b/libc/src/threads/thrd_exit.cpp
index 1f6a8874da9c3..72fd95034d0ae 100644
--- a/libc/src/threads/thrd_exit.cpp
+++ b/libc/src/threads/thrd_exit.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_exit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h> // For thrd_* type definitions.
diff --git a/libc/src/threads/thrd_exit.h b/libc/src/threads/thrd_exit.h
index 701c061fcb2d1..0569967d044e4 100644
--- a/libc/src/threads/thrd_exit.h
+++ b/libc/src/threads/thrd_exit.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_EXIT_H
 #define LLVM_LIBC_SRC_THREADS_THRD_EXIT_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/thrd_join.cpp b/libc/src/threads/thrd_join.cpp
index 3feb293cbe872..74211caeb8b61 100644
--- a/libc/src/threads/thrd_join.cpp
+++ b/libc/src/threads/thrd_join.cpp
@@ -8,6 +8,7 @@
 
 #include "src/threads/thrd_join.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h> // For thrd_* type definitions.
diff --git a/libc/src/threads/thrd_join.h b/libc/src/threads/thrd_join.h
index cfd8f68b5b975..0889d586fb665 100644
--- a/libc/src/threads/thrd_join.h
+++ b/libc/src/threads/thrd_join.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_THRD_JOIN_H
 #define LLVM_LIBC_SRC_THREADS_THRD_JOIN_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/tss_create.cpp b/libc/src/threads/tss_create.cpp
index f7a050498f0be..05403a37e221a 100644
--- a/libc/src/threads/tss_create.cpp
+++ b/libc/src/threads/tss_create.cpp
@@ -9,6 +9,7 @@
 #include "tss_create.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h>
diff --git a/libc/src/threads/tss_create.h b/libc/src/threads/tss_create.h
index 1b7a3ea9b9176..6f055a06ec0e5 100644
--- a/libc/src/threads/tss_create.h
+++ b/libc/src/threads/tss_create.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_TSS_CREATE_H
 #define LLVM_LIBC_SRC_THREADS_TSS_CREATE_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/tss_delete.cpp b/libc/src/threads/tss_delete.cpp
index af08d0ffe4163..c0a07d6049df1 100644
--- a/libc/src/threads/tss_delete.cpp
+++ b/libc/src/threads/tss_delete.cpp
@@ -9,6 +9,7 @@
 #include "tss_delete.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h>
diff --git a/libc/src/threads/tss_delete.h b/libc/src/threads/tss_delete.h
index 3289fcd59781b..72e711147e9cc 100644
--- a/libc/src/threads/tss_delete.h
+++ b/libc/src/threads/tss_delete.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_TSS_DELETE_H
 #define LLVM_LIBC_SRC_THREADS_TSS_DELETE_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/tss_get.cpp b/libc/src/threads/tss_get.cpp
index e3d247b753177..d6a0b965a6ffb 100644
--- a/libc/src/threads/tss_get.cpp
+++ b/libc/src/threads/tss_get.cpp
@@ -9,6 +9,7 @@
 #include "tss_get.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h>
diff --git a/libc/src/threads/tss_get.h b/libc/src/threads/tss_get.h
index a368c5141231a..c5dd9cbeaae9a 100644
--- a/libc/src/threads/tss_get.h
+++ b/libc/src/threads/tss_get.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_TSS_GET_H
 #define LLVM_LIBC_SRC_THREADS_TSS_GET_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/threads/tss_set.cpp b/libc/src/threads/tss_set.cpp
index 2b61d0d762584..a159c9d4fd9f6 100644
--- a/libc/src/threads/tss_set.cpp
+++ b/libc/src/threads/tss_set.cpp
@@ -9,6 +9,7 @@
 #include "tss_set.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 
 #include <threads.h>
diff --git a/libc/src/threads/tss_set.h b/libc/src/threads/tss_set.h
index c8500a053e2d6..68f50f922235c 100644
--- a/libc/src/threads/tss_set.h
+++ b/libc/src/threads/tss_set.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_THREADS_TSS_SET_H
 #define LLVM_LIBC_SRC_THREADS_TSS_SET_H
 
+#include "src/__support/macros/config.h"
 #include <threads.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/asctime.cpp b/libc/src/time/asctime.cpp
index 0c177131cf7af..d6fbe7316ced0 100644
--- a/libc/src/time/asctime.cpp
+++ b/libc/src/time/asctime.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/asctime.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/asctime.h b/libc/src/time/asctime.h
index 81a0a50b38f93..623e6dff60c33 100644
--- a/libc/src/time/asctime.h
+++ b/libc/src/time/asctime.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_ASCTIME_H
 #define LLVM_LIBC_SRC_TIME_ASCTIME_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/asctime_r.cpp b/libc/src/time/asctime_r.cpp
index e3cbf8ded08a2..caa22f1cd7783 100644
--- a/libc/src/time/asctime_r.cpp
+++ b/libc/src/time/asctime_r.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/asctime_r.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/asctime_r.h b/libc/src/time/asctime_r.h
index a6ae6da302107..328b7dff19c2e 100644
--- a/libc/src/time/asctime_r.h
+++ b/libc/src/time/asctime_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_ASCTIME_R_H
 #define LLVM_LIBC_SRC_TIME_ASCTIME_R_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/clock.h b/libc/src/time/clock.h
index 0f17fb74ae66f..1a794faa958a9 100644
--- a/libc/src/time/clock.h
+++ b/libc/src/time/clock.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_TIME_CLOCK_H
 
 #include "hdr/types/clock_t.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/clock_gettime.h b/libc/src/time/clock_gettime.h
index 21c1e640798a9..9f061d2255cb9 100644
--- a/libc/src/time/clock_gettime.h
+++ b/libc/src/time/clock_gettime.h
@@ -11,6 +11,7 @@
 
 #include "hdr/types/clockid_t.h"
 #include "hdr/types/struct_timespec.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/difftime.cpp b/libc/src/time/difftime.cpp
index 93e333891355f..f295b83e3a3d2 100644
--- a/libc/src/time/difftime.cpp
+++ b/libc/src/time/difftime.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/difftime.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/difftime.h b/libc/src/time/difftime.h
index cabc58bf1091b..d5cd593cc5335 100644
--- a/libc/src/time/difftime.h
+++ b/libc/src/time/difftime.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_DIFFTIME_H
 #define LLVM_LIBC_SRC_TIME_DIFFTIME_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gettimeofday.h b/libc/src/time/gettimeofday.h
index 4be50bba9e9cc..536d871b858d0 100644
--- a/libc/src/time/gettimeofday.h
+++ b/libc/src/time/gettimeofday.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_TIME_GETTIMEOFDAY_H
 
 #include "hdr/types/struct_timeval.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/gmtime.cpp b/libc/src/time/gmtime.cpp
index 58cb14049a1ca..6785d18d43e36 100644
--- a/libc/src/time/gmtime.cpp
+++ b/libc/src/time/gmtime.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/gmtime.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gmtime.h b/libc/src/time/gmtime.h
index 67f8f524058dc..3de3cebbfde2c 100644
--- a/libc/src/time/gmtime.h
+++ b/libc/src/time/gmtime.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_GMTIME_H
 #define LLVM_LIBC_SRC_TIME_GMTIME_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gmtime_r.cpp b/libc/src/time/gmtime_r.cpp
index cc022fc1f5b81..d506b526edfb0 100644
--- a/libc/src/time/gmtime_r.cpp
+++ b/libc/src/time/gmtime_r.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/gmtime_r.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gmtime_r.h b/libc/src/time/gmtime_r.h
index 0ee021f864061..b4f387ef443bc 100644
--- a/libc/src/time/gmtime_r.h
+++ b/libc/src/time/gmtime_r.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_GMTIME_R_H
 #define LLVM_LIBC_SRC_TIME_GMTIME_R_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gpu/clock.cpp b/libc/src/time/gpu/clock.cpp
index b0a58b79fadbf..4cdb1d505aed2 100644
--- a/libc/src/time/gpu/clock.cpp
+++ b/libc/src/time/gpu/clock.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/time/clock.h"
+#include "src/__support/macros/config.h"
 #include "src/time/gpu/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gpu/nanosleep.cpp b/libc/src/time/gpu/nanosleep.cpp
index 44399acaabb1b..3f4a609dd40eb 100644
--- a/libc/src/time/gpu/nanosleep.cpp
+++ b/libc/src/time/gpu/nanosleep.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/nanosleep.h"
 
+#include "src/__support/macros/config.h"
 #include "time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/gpu/time_utils.cpp b/libc/src/time/gpu/time_utils.cpp
index cc33c9f9fa1cc..38e09f600f369 100644
--- a/libc/src/time/gpu/time_utils.cpp
+++ b/libc/src/time/gpu/time_utils.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "time_utils.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/gpu/time_utils.h b/libc/src/time/gpu/time_utils.h
index 7ebf94b467833..c631a38d91ba2 100644
--- a/libc/src/time/gpu/time_utils.h
+++ b/libc/src/time/gpu/time_utils.h
@@ -12,6 +12,8 @@
 #include "hdr/time_macros.h"
 #include "hdr/types/clock_t.h"
 #include "src/__support/GPU/utils.h"
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 #if defined(LIBC_TARGET_ARCH_IS_AMDGPU)
diff --git a/libc/src/time/linux/clock.cpp b/libc/src/time/linux/clock.cpp
index 2f201b0f15320..f43e1bcad6a3a 100644
--- a/libc/src/time/linux/clock.cpp
+++ b/libc/src/time/linux/clock.cpp
@@ -10,6 +10,7 @@
 #include "hdr/time_macros.h"
 #include "src/__support/CPP/limits.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/__support/time/units.h"
 #include "src/errno/libc_errno.h"
diff --git a/libc/src/time/linux/clock_gettime.cpp b/libc/src/time/linux/clock_gettime.cpp
index 7688d0b20fb3a..a2b20a6dbc987 100644
--- a/libc/src/time/linux/clock_gettime.cpp
+++ b/libc/src/time/linux/clock_gettime.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/clock_gettime.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/src/time/linux/gettimeofday.cpp b/libc/src/time/linux/gettimeofday.cpp
index 4aeb38f3a2cac..19d9988ae73a6 100644
--- a/libc/src/time/linux/gettimeofday.cpp
+++ b/libc/src/time/linux/gettimeofday.cpp
@@ -10,6 +10,7 @@
 #include "hdr/time_macros.h"
 #include "hdr/types/suseconds_t.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/__support/time/units.h"
 #include "src/errno/libc_errno.h"
diff --git a/libc/src/time/linux/nanosleep.cpp b/libc/src/time/linux/nanosleep.cpp
index ecb13e86b3b34..b267c3238b01f 100644
--- a/libc/src/time/linux/nanosleep.cpp
+++ b/libc/src/time/linux/nanosleep.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For syscall functions.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <stdint.h>      // For int64_t.
diff --git a/libc/src/time/linux/time.cpp b/libc/src/time/linux/time.cpp
index eb42c157c59a9..20fb86e8e29db 100644
--- a/libc/src/time/linux/time.cpp
+++ b/libc/src/time/linux/time.cpp
@@ -8,6 +8,7 @@
 
 #include "hdr/time_macros.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/time/linux/clock_gettime.h"
 #include "src/errno/libc_errno.h"
 #include "src/time/time_func.h"
diff --git a/libc/src/time/mktime.cpp b/libc/src/time/mktime.cpp
index 4d09fc2758b70..9ea316d504f5b 100644
--- a/libc/src/time/mktime.cpp
+++ b/libc/src/time/mktime.cpp
@@ -8,6 +8,7 @@
 
 #include "src/time/mktime.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/mktime.h b/libc/src/time/mktime.h
index e51b94a02d0d1..2b4c67996555e 100644
--- a/libc/src/time/mktime.h
+++ b/libc/src/time/mktime.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_TIME_MKTIME_H
 #define LLVM_LIBC_SRC_TIME_MKTIME_H
 
+#include "src/__support/macros/config.h"
 #include <time.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/time/nanosleep.h b/libc/src/time/nanosleep.h
index e29b80fd7bcf3..11b7ac0e98a8d 100644
--- a/libc/src/time/nanosleep.h
+++ b/libc/src/time/nanosleep.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_TIME_NANOSLEEP_H
 
 #include "hdr/types/struct_timespec.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/time/time_func.h b/libc/src/time/time_func.h
index 31162d5539baa..9cfd6cdfb461e 100644
--- a/libc/src/time/time_func.h
+++ b/libc/src/time/time_func.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_SRC_TIME_TIME_FUNC_H
 
 #include "hdr/types/time_t.h"
+#include "src/__support/macros/config.h"
 
 // Note this header file is named time_func.h to avoid conflicts with the
 // public header file time.h.
diff --git a/libc/src/time/time_utils.cpp b/libc/src/time/time_utils.cpp
index a6869c2de19eb..509cad8146df8 100644
--- a/libc/src/time/time_utils.cpp
+++ b/libc/src/time/time_utils.cpp
@@ -9,6 +9,7 @@
 #include "src/time/time_utils.h"
 #include "src/__support/CPP/limits.h" // INT_MIN, INT_MAX
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace time_utils {
diff --git a/libc/src/time/time_utils.h b/libc/src/time/time_utils.h
index abfabc7c8f969..106870af72997 100644
--- a/libc/src/time/time_utils.h
+++ b/libc/src/time/time_utils.h
@@ -12,6 +12,7 @@
 #include <stddef.h> // For size_t.
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/time/mktime.h"
 
diff --git a/libc/src/unistd/_exit.cpp b/libc/src/unistd/_exit.cpp
index 70860a38b3dd1..854bf8b8a0c3c 100644
--- a/libc/src/unistd/_exit.cpp
+++ b/libc/src/unistd/_exit.cpp
@@ -9,6 +9,7 @@
 #include "src/unistd/_exit.h"
 #include "src/__support/OSUtil/exit.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/unistd/_exit.h b/libc/src/unistd/_exit.h
index e295c1b7b1966..e00e27cfe253f 100644
--- a/libc/src/unistd/_exit.h
+++ b/libc/src/unistd/_exit.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD__EXIT_H
 #define LLVM_LIBC_SRC_UNISTD__EXIT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 [[noreturn]] void _exit(int status);
diff --git a/libc/src/unistd/access.h b/libc/src/unistd/access.h
index 32c5d364921bc..1471224948e5e 100644
--- a/libc/src/unistd/access.h
+++ b/libc/src/unistd/access.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_ACCESS_H
 #define LLVM_LIBC_SRC_UNISTD_ACCESS_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int access(const char *path, int mode);
diff --git a/libc/src/unistd/chdir.h b/libc/src/unistd/chdir.h
index 60ff8ea5e1027..db2b4dae9db69 100644
--- a/libc/src/unistd/chdir.h
+++ b/libc/src/unistd/chdir.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_CHDIR_H
 #define LLVM_LIBC_SRC_UNISTD_CHDIR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int chdir(const char *path);
diff --git a/libc/src/unistd/close.h b/libc/src/unistd/close.h
index b1ac5d66cd177..599be831c0e60 100644
--- a/libc/src/unistd/close.h
+++ b/libc/src/unistd/close.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_CLOSE_H
 #define LLVM_LIBC_SRC_UNISTD_CLOSE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int close(int fd);
diff --git a/libc/src/unistd/dup.h b/libc/src/unistd/dup.h
index 5ee379210e955..63f093c0ee436 100644
--- a/libc/src/unistd/dup.h
+++ b/libc/src/unistd/dup.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_DUP_H
 #define LLVM_LIBC_SRC_UNISTD_DUP_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/dup2.h b/libc/src/unistd/dup2.h
index 40c22cd9e86ea..060c112daf08f 100644
--- a/libc/src/unistd/dup2.h
+++ b/libc/src/unistd/dup2.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_DUP2_H
 #define LLVM_LIBC_SRC_UNISTD_DUP2_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/dup3.h b/libc/src/unistd/dup3.h
index 6f3c01d4b4eee..f3868867123b4 100644
--- a/libc/src/unistd/dup3.h
+++ b/libc/src/unistd/dup3.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_DUP3_H
 #define LLVM_LIBC_SRC_UNISTD_DUP3_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/environ.cpp b/libc/src/unistd/environ.cpp
index 56c9ac7756335..db7faef63e0a4 100644
--- a/libc/src/unistd/environ.cpp
+++ b/libc/src/unistd/environ.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 // This is initialized to the correct value by the statup code.
diff --git a/libc/src/unistd/environ.h b/libc/src/unistd/environ.h
index 2e8c163dae061..af989675216c2 100644
--- a/libc/src/unistd/environ.h
+++ b/libc/src/unistd/environ.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_ENVIRON_H
 #define LLVM_LIBC_SRC_UNISTD_ENVIRON_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 extern "C" char **environ;
diff --git a/libc/src/unistd/execv.h b/libc/src/unistd/execv.h
index 6a3cacbdbca51..86bf99978af4c 100644
--- a/libc/src/unistd/execv.h
+++ b/libc/src/unistd/execv.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_EXECV_H
 #define LLVM_LIBC_SRC_UNISTD_EXECV_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int execv(const char *path, char *const argv[]);
diff --git a/libc/src/unistd/execve.h b/libc/src/unistd/execve.h
index e9423a0a37e7e..fe3b93076017a 100644
--- a/libc/src/unistd/execve.h
+++ b/libc/src/unistd/execve.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_EXECVE_H
 #define LLVM_LIBC_SRC_UNISTD_EXECVE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int execve(const char *path, char *const argv[], char *const envp[]);
diff --git a/libc/src/unistd/fchdir.h b/libc/src/unistd/fchdir.h
index 18b61e319e86a..8d1a53bc3f115 100644
--- a/libc/src/unistd/fchdir.h
+++ b/libc/src/unistd/fchdir.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FCHDIR_H
 #define LLVM_LIBC_SRC_UNISTD_FCHDIR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fchdir(int fd);
diff --git a/libc/src/unistd/fork.h b/libc/src/unistd/fork.h
index 9294ab27100b5..b6fd5763b3a5f 100644
--- a/libc/src/unistd/fork.h
+++ b/libc/src/unistd/fork.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FORK_H
 #define LLVM_LIBC_SRC_UNISTD_FORK_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/fpathconf.h b/libc/src/unistd/fpathconf.h
index 7d2526c95eef5..610e2429123e5 100644
--- a/libc/src/unistd/fpathconf.h
+++ b/libc/src/unistd/fpathconf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FPATHCONF_H
 #define LLVM_LIBC_SRC_UNISTD_FPATHCONF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long fpathconf(int fd, int name);
diff --git a/libc/src/unistd/fsync.h b/libc/src/unistd/fsync.h
index abeccddbdae29..5bbf179a9003a 100644
--- a/libc/src/unistd/fsync.h
+++ b/libc/src/unistd/fsync.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FSYNC_H
 #define LLVM_LIBC_SRC_UNISTD_FSYNC_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int fsync(int fd);
diff --git a/libc/src/unistd/ftruncate.h b/libc/src/unistd/ftruncate.h
index b86d5354f834a..cd8d363727c4a 100644
--- a/libc/src/unistd/ftruncate.h
+++ b/libc/src/unistd/ftruncate.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_FTRUNCATE_H
 #define LLVM_LIBC_SRC_UNISTD_FTRUNCATE_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/getcwd.h b/libc/src/unistd/getcwd.h
index c4d6633c8f0fe..8b63a91c26b5c 100644
--- a/libc/src/unistd/getcwd.h
+++ b/libc/src/unistd/getcwd.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETCWD_H
 #define LLVM_LIBC_SRC_UNISTD_GETCWD_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/geteuid.h b/libc/src/unistd/geteuid.h
index 4326c56bb4998..9469797bd3d4e 100644
--- a/libc/src/unistd/geteuid.h
+++ b/libc/src/unistd/geteuid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETEUID_H
 #define LLVM_LIBC_SRC_UNISTD_GETEUID_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/getopt.cpp b/libc/src/unistd/getopt.cpp
index 9b5f25027b50d..20c7e8f17bba9 100644
--- a/libc/src/unistd/getopt.cpp
+++ b/libc/src/unistd/getopt.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/File/file.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/fprintf.h"
 
 #include <stdio.h>
diff --git a/libc/src/unistd/getopt.h b/libc/src/unistd/getopt.h
index 1bce3966b68f1..5a71b8eb69f3a 100644
--- a/libc/src/unistd/getopt.h
+++ b/libc/src/unistd/getopt.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETOPT_H
 #define LLVM_LIBC_SRC_UNISTD_GETOPT_H
 
+#include "src/__support/macros/config.h"
 #include <stdio.h>
 #include <unistd.h>
 
diff --git a/libc/src/unistd/getpid.h b/libc/src/unistd/getpid.h
index 7f6c668c76001..c3c55b0c06b10 100644
--- a/libc/src/unistd/getpid.h
+++ b/libc/src/unistd/getpid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETPID_H
 #define LLVM_LIBC_SRC_UNISTD_GETPID_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/getppid.h b/libc/src/unistd/getppid.h
index adf02e287c043..d820791bc06fa 100644
--- a/libc/src/unistd/getppid.h
+++ b/libc/src/unistd/getppid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETPPID_H
 #define LLVM_LIBC_SRC_UNISTD_GETPPID_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/getuid.h b/libc/src/unistd/getuid.h
index 2c12428d7ec73..dd82c7119d401 100644
--- a/libc/src/unistd/getuid.h
+++ b/libc/src/unistd/getuid.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_GETUID_H
 #define LLVM_LIBC_SRC_UNISTD_GETUID_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/isatty.h b/libc/src/unistd/isatty.h
index cbac7d4276319..6dd1b7b817171 100644
--- a/libc/src/unistd/isatty.h
+++ b/libc/src/unistd/isatty.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_ISATTY_H
 #define LLVM_LIBC_SRC_UNISTD_ISATTY_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/link.h b/libc/src/unistd/link.h
index 7ec55883e7ced..9b27aa1accf4e 100644
--- a/libc/src/unistd/link.h
+++ b/libc/src/unistd/link.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_LINK_H
 #define LLVM_LIBC_SRC_UNISTD_LINK_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/linkat.h b/libc/src/unistd/linkat.h
index c18ad7cc0d855..bb03e31b95176 100644
--- a/libc/src/unistd/linkat.h
+++ b/libc/src/unistd/linkat.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_LINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_LINKAT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int linkat(int, const char *, int, const char *, int);
diff --git a/libc/src/unistd/linux/access.cpp b/libc/src/unistd/linux/access.cpp
index d7602c4571685..e9ad74989b056 100644
--- a/libc/src/unistd/linux/access.cpp
+++ b/libc/src/unistd/linux/access.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/chdir.cpp b/libc/src/unistd/linux/chdir.cpp
index 8579b91c199a5..a30d1dc883be8 100644
--- a/libc/src/unistd/linux/chdir.cpp
+++ b/libc/src/unistd/linux/chdir.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/close.cpp b/libc/src/unistd/linux/close.cpp
index e0022b61456f0..58d42a9673fbe 100644
--- a/libc/src/unistd/linux/close.cpp
+++ b/libc/src/unistd/linux/close.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/dup.cpp b/libc/src/unistd/linux/dup.cpp
index da40f1da8b6d3..c1710a37f6119 100644
--- a/libc/src/unistd/linux/dup.cpp
+++ b/libc/src/unistd/linux/dup.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/dup2.cpp b/libc/src/unistd/linux/dup2.cpp
index 7cad3f2714c7f..51a19a71a7d85 100644
--- a/libc/src/unistd/linux/dup2.cpp
+++ b/libc/src/unistd/linux/dup2.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/dup3.cpp b/libc/src/unistd/linux/dup3.cpp
index 7aebf82996998..c096ba73c96bd 100644
--- a/libc/src/unistd/linux/dup3.cpp
+++ b/libc/src/unistd/linux/dup3.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/execv.cpp b/libc/src/unistd/linux/execv.cpp
index 9d3d324f6972c..a3f2525ed7ca1 100644
--- a/libc/src/unistd/linux/execv.cpp
+++ b/libc/src/unistd/linux/execv.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/unistd/execv.h"
+#include "src/__support/macros/config.h"
 #include "src/unistd/environ.h"
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
diff --git a/libc/src/unistd/linux/execve.cpp b/libc/src/unistd/linux/execve.cpp
index 59b8c4d62d2b6..37162c4121782 100644
--- a/libc/src/unistd/linux/execve.cpp
+++ b/libc/src/unistd/linux/execve.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/unistd/execve.h"
+#include "src/__support/macros/config.h"
 #include "src/unistd/environ.h"
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
diff --git a/libc/src/unistd/linux/fchdir.cpp b/libc/src/unistd/linux/fchdir.cpp
index e22c9bf9703dd..8196dc63ab1e1 100644
--- a/libc/src/unistd/linux/fchdir.cpp
+++ b/libc/src/unistd/linux/fchdir.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/fork.cpp b/libc/src/unistd/linux/fork.cpp
index c9298915238e0..7d47665b16d3f 100644
--- a/libc/src/unistd/linux/fork.cpp
+++ b/libc/src/unistd/linux/fork.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/fork_callbacks.h"
 #include "src/__support/threads/thread.h" // For thread self object
 
diff --git a/libc/src/unistd/linux/fpathconf.cpp b/libc/src/unistd/linux/fpathconf.cpp
index 615ef99c7c727..8e0c8bcdfc22f 100644
--- a/libc/src/unistd/linux/fpathconf.cpp
+++ b/libc/src/unistd/linux/fpathconf.cpp
@@ -9,6 +9,7 @@
 #include "src/unistd/fpathconf.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 #include "src/unistd/linux/pathconf_utils.h"
 
diff --git a/libc/src/unistd/linux/fsync.cpp b/libc/src/unistd/linux/fsync.cpp
index d554facfcb02d..ae3895bab15f3 100644
--- a/libc/src/unistd/linux/fsync.cpp
+++ b/libc/src/unistd/linux/fsync.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/ftruncate.cpp b/libc/src/unistd/linux/ftruncate.cpp
index 23e8964211189..39cb3b5778faa 100644
--- a/libc/src/unistd/linux/ftruncate.cpp
+++ b/libc/src/unistd/linux/ftruncate.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdint.h>      // For uint64_t.
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/getcwd.cpp b/libc/src/unistd/linux/getcwd.cpp
index 3f923ab01db48..a10c5004d0e06 100644
--- a/libc/src/unistd/linux/getcwd.cpp
+++ b/libc/src/unistd/linux/getcwd.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/string/allocating_string_utils.h" // For strdup.
 
 #include "src/errno/libc_errno.h"
diff --git a/libc/src/unistd/linux/geteuid.cpp b/libc/src/unistd/linux/geteuid.cpp
index 0e0aeafa51727..a4bbcc0cb312a 100644
--- a/libc/src/unistd/linux/geteuid.cpp
+++ b/libc/src/unistd/linux/geteuid.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/getpid.cpp b/libc/src/unistd/linux/getpid.cpp
index 81a42929692f5..b24c86a15990f 100644
--- a/libc/src/unistd/linux/getpid.cpp
+++ b/libc/src/unistd/linux/getpid.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/getppid.cpp b/libc/src/unistd/linux/getppid.cpp
index b4b671f2a546f..c55329daa9f9d 100644
--- a/libc/src/unistd/linux/getppid.cpp
+++ b/libc/src/unistd/linux/getppid.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/getuid.cpp b/libc/src/unistd/linux/getuid.cpp
index 79ad9ed6398f2..ce818ec91bd2a 100644
--- a/libc/src/unistd/linux/getuid.cpp
+++ b/libc/src/unistd/linux/getuid.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 #include <sys/syscall.h> // For syscall numbers.
 
diff --git a/libc/src/unistd/linux/isatty.cpp b/libc/src/unistd/linux/isatty.cpp
index 920159e20c7f2..e6ea22a714c78 100644
--- a/libc/src/unistd/linux/isatty.cpp
+++ b/libc/src/unistd/linux/isatty.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <sys/ioctl.h>   // For ioctl numbers.
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/link.cpp b/libc/src/unistd/linux/link.cpp
index 673af9693123c..37ca58eab1096 100644
--- a/libc/src/unistd/linux/link.cpp
+++ b/libc/src/unistd/linux/link.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/unistd/linux/linkat.cpp b/libc/src/unistd/linux/linkat.cpp
index 25d0ab44bfd80..fcd6a5f75a196 100644
--- a/libc/src/unistd/linux/linkat.cpp
+++ b/libc/src/unistd/linux/linkat.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/lseek.cpp b/libc/src/unistd/linux/lseek.cpp
index 611826ec22305..9486cecf3b123 100644
--- a/libc/src/unistd/linux/lseek.cpp
+++ b/libc/src/unistd/linux/lseek.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/unistd/lseek.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include "src/__support/File/linux/lseekImpl.h"
diff --git a/libc/src/unistd/linux/pathconf.cpp b/libc/src/unistd/linux/pathconf.cpp
index 6684b72892bb7..ca1c10bb9f7f6 100644
--- a/libc/src/unistd/linux/pathconf.cpp
+++ b/libc/src/unistd/linux/pathconf.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/unistd/pathconf.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 #include "src/unistd/linux/pathconf_utils.h"
diff --git a/libc/src/unistd/linux/pathconf_utils.cpp b/libc/src/unistd/linux/pathconf_utils.cpp
index 9a478155c0f55..035e628dff253 100644
--- a/libc/src/unistd/linux/pathconf_utils.cpp
+++ b/libc/src/unistd/linux/pathconf_utils.cpp
@@ -14,6 +14,7 @@
 #include "hdr/unistd_macros.h"
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
diff --git a/libc/src/unistd/linux/pathconf_utils.h b/libc/src/unistd/linux/pathconf_utils.h
index b0a008576738a..bd34de23cc38e 100644
--- a/libc/src/unistd/linux/pathconf_utils.h
+++ b/libc/src/unistd/linux/pathconf_utils.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PATHCONF_UTILS_H
 #define LLVM_LIBC_SRC_UNISTD_PATHCONF_UTILS_H
 
+#include "src/__support/macros/config.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/linux/pipe.cpp b/libc/src/unistd/linux/pipe.cpp
index 9b121201244f2..dfcd5bfdaf537 100644
--- a/libc/src/unistd/linux/pipe.cpp
+++ b/libc/src/unistd/linux/pipe.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h" // for MSAN_UNPOISON
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/pread.cpp b/libc/src/unistd/linux/pread.cpp
index fef53ea5ba972..3e27857f9a2b4 100644
--- a/libc/src/unistd/linux/pread.cpp
+++ b/libc/src/unistd/linux/pread.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h" // for MSAN_UNPOISON
 #include "src/errno/libc_errno.h"
 #include <stdint.h>      // For uint64_t.
diff --git a/libc/src/unistd/linux/pwrite.cpp b/libc/src/unistd/linux/pwrite.cpp
index 71b62c67551ca..1b81b2a059494 100644
--- a/libc/src/unistd/linux/pwrite.cpp
+++ b/libc/src/unistd/linux/pwrite.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdint.h>      // For uint64_t.
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/read.cpp b/libc/src/unistd/linux/read.cpp
index 61e504a07d3e6..4419900f2330e 100644
--- a/libc/src/unistd/linux/read.cpp
+++ b/libc/src/unistd/linux/read.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h" // for MSAN_UNPOISON
 #include "src/errno/libc_errno.h"
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/readlink.cpp b/libc/src/unistd/linux/readlink.cpp
index d04a9767f6826..7b15245004405 100644
--- a/libc/src/unistd/linux/readlink.cpp
+++ b/libc/src/unistd/linux/readlink.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/readlinkat.cpp b/libc/src/unistd/linux/readlinkat.cpp
index a94e3a64853f0..19a9ff9fbeb72 100644
--- a/libc/src/unistd/linux/readlinkat.cpp
+++ b/libc/src/unistd/linux/readlinkat.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/rmdir.cpp b/libc/src/unistd/linux/rmdir.cpp
index be5f7f809fd13..8974468ebcf16 100644
--- a/libc/src/unistd/linux/rmdir.cpp
+++ b/libc/src/unistd/linux/rmdir.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/unistd/linux/symlink.cpp b/libc/src/unistd/linux/symlink.cpp
index dbc15baab5e53..5efd4df85edab 100644
--- a/libc/src/unistd/linux/symlink.cpp
+++ b/libc/src/unistd/linux/symlink.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/unistd/linux/symlinkat.cpp b/libc/src/unistd/linux/symlinkat.cpp
index f7d8a8ae1dd13..63d2e6d1507a5 100644
--- a/libc/src/unistd/linux/symlinkat.cpp
+++ b/libc/src/unistd/linux/symlinkat.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/syscall.cpp b/libc/src/unistd/linux/syscall.cpp
index 258864e991821..5394bff46adfa 100644
--- a/libc/src/unistd/linux/syscall.cpp
+++ b/libc/src/unistd/linux/syscall.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <stdarg.h>
 
diff --git a/libc/src/unistd/linux/sysconf.cpp b/libc/src/unistd/linux/sysconf.cpp
index 9b31a94e15e30..1540eb499ec12 100644
--- a/libc/src/unistd/linux/sysconf.cpp
+++ b/libc/src/unistd/linux/sysconf.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include "src/sys/auxv/getauxval.h"
 #include <sys/auxv.h>
diff --git a/libc/src/unistd/linux/truncate.cpp b/libc/src/unistd/linux/truncate.cpp
index 76c3d9af62340..283cf4098cf45 100644
--- a/libc/src/unistd/linux/truncate.cpp
+++ b/libc/src/unistd/linux/truncate.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <stdint.h>      // For uint64_t.
diff --git a/libc/src/unistd/linux/unlink.cpp b/libc/src/unistd/linux/unlink.cpp
index 5a545ed147181..de7cae8b826eb 100644
--- a/libc/src/unistd/linux/unlink.cpp
+++ b/libc/src/unistd/linux/unlink.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
 
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 #include <fcntl.h>
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/linux/unlinkat.cpp b/libc/src/unistd/linux/unlinkat.cpp
index dad69767ed260..e794f242b9459 100644
--- a/libc/src/unistd/linux/unlinkat.cpp
+++ b/libc/src/unistd/linux/unlinkat.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <fcntl.h>
diff --git a/libc/src/unistd/linux/write.cpp b/libc/src/unistd/linux/write.cpp
index 61eed771676ba..99d5ab7e480b0 100644
--- a/libc/src/unistd/linux/write.cpp
+++ b/libc/src/unistd/linux/write.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/OSUtil/syscall.h" // For internal syscall function.
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/errno/libc_errno.h"
 
 #include <sys/syscall.h> // For syscall numbers.
diff --git a/libc/src/unistd/lseek.h b/libc/src/unistd/lseek.h
index 267ee476c7a23..a8704ec7058dd 100644
--- a/libc/src/unistd/lseek.h
+++ b/libc/src/unistd/lseek.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_LSEEK_H
 #define LLVM_LIBC_SRC_UNISTD_LSEEK_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/pathconf.h b/libc/src/unistd/pathconf.h
index e4387d6fb926f..d6b891ea8be68 100644
--- a/libc/src/unistd/pathconf.h
+++ b/libc/src/unistd/pathconf.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PATHCONF_H
 #define LLVM_LIBC_SRC_UNISTD_PATHCONF_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 long pathconf(const char *path, int name);
diff --git a/libc/src/unistd/pipe.h b/libc/src/unistd/pipe.h
index 77c0b13787c42..d5cccf3ad7b18 100644
--- a/libc/src/unistd/pipe.h
+++ b/libc/src/unistd/pipe.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PIPE_H
 #define LLVM_LIBC_SRC_UNISTD_PIPE_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int pipe(int pipefd[2]);
diff --git a/libc/src/unistd/pread.h b/libc/src/unistd/pread.h
index 8fb518a9bb921..4723675e82a20 100644
--- a/libc/src/unistd/pread.h
+++ b/libc/src/unistd/pread.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PREAD_H
 #define LLVM_LIBC_SRC_UNISTD_PREAD_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/pwrite.h b/libc/src/unistd/pwrite.h
index 29ff956e06f49..baffbe48b6437 100644
--- a/libc/src/unistd/pwrite.h
+++ b/libc/src/unistd/pwrite.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_PWRITE_H
 #define LLVM_LIBC_SRC_UNISTD_PWRITE_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/read.h b/libc/src/unistd/read.h
index af771e062d40e..01231cb82e35e 100644
--- a/libc/src/unistd/read.h
+++ b/libc/src/unistd/read.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_READ_H
 #define LLVM_LIBC_SRC_UNISTD_READ_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/readlink.h b/libc/src/unistd/readlink.h
index e08fe91a87d4f..a73e9740c7463 100644
--- a/libc/src/unistd/readlink.h
+++ b/libc/src/unistd/readlink.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_READLINK_H
 #define LLVM_LIBC_SRC_UNISTD_READLINK_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/readlinkat.h b/libc/src/unistd/readlinkat.h
index 16fb296d883b3..6bdd48b537fc8 100644
--- a/libc/src/unistd/readlinkat.h
+++ b/libc/src/unistd/readlinkat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_READLINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_READLINKAT_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/rmdir.h b/libc/src/unistd/rmdir.h
index 6900c39ef3099..abf5bf720f307 100644
--- a/libc/src/unistd/rmdir.h
+++ b/libc/src/unistd/rmdir.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_RMDIR_H
 #define LLVM_LIBC_SRC_UNISTD_RMDIR_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int rmdir(const char *path);
diff --git a/libc/src/unistd/swab.cpp b/libc/src/unistd/swab.cpp
index 3d219b589ebd4..643079a40ab5c 100644
--- a/libc/src/unistd/swab.cpp
+++ b/libc/src/unistd/swab.cpp
@@ -9,6 +9,7 @@
 #include "src/unistd/swab.h"
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/src/unistd/swab.h b/libc/src/unistd/swab.h
index fc9e9a3e748c4..caa9c71001097 100644
--- a/libc/src/unistd/swab.h
+++ b/libc/src/unistd/swab.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_SWAB_H
 #define LLVM_LIBC_SRC_UNISTD_SWAB_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h> // For ssize_t
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/symlink.h b/libc/src/unistd/symlink.h
index 95d73125fa464..47f04f8845b46 100644
--- a/libc/src/unistd/symlink.h
+++ b/libc/src/unistd/symlink.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_SYMLINK_H
 #define LLVM_LIBC_SRC_UNISTD_SYMLINK_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/symlinkat.h b/libc/src/unistd/symlinkat.h
index 4dc2d075f52cd..9f8ad517af5a6 100644
--- a/libc/src/unistd/symlinkat.h
+++ b/libc/src/unistd/symlinkat.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_SYMLINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_SYMLINKAT_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/syscall.h b/libc/src/unistd/syscall.h
index ff1e12486b89a..db70745719cfe 100644
--- a/libc/src/unistd/syscall.h
+++ b/libc/src/unistd/syscall.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_SYSCALL_H
 #define LLVM_LIBC_SRC_UNISTD_SYSCALL_H
 
+#include "src/__support/macros/config.h"
 #include <stdarg.h>
 #include <unistd.h>
 
diff --git a/libc/src/unistd/sysconf.h b/libc/src/unistd/sysconf.h
index 1e5bb54ae275a..1b3f39e413508 100644
--- a/libc/src/unistd/sysconf.h
+++ b/libc/src/unistd/sysconf.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_SYSCONF_H
 #define LLVM_LIBC_SRC_UNISTD_SYSCONF_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/truncate.h b/libc/src/unistd/truncate.h
index 1385db1771f72..9ba5cf8317529 100644
--- a/libc/src/unistd/truncate.h
+++ b/libc/src/unistd/truncate.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_TRUNCATE_H
 #define LLVM_LIBC_SRC_UNISTD_TRUNCATE_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/unistd/unlink.h b/libc/src/unistd/unlink.h
index f399187b2cafe..71ef19fa22c1b 100644
--- a/libc/src/unistd/unlink.h
+++ b/libc/src/unistd/unlink.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_UNLINK_H
 #define LLVM_LIBC_SRC_UNISTD_UNLINK_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int unlink(const char *path);
diff --git a/libc/src/unistd/unlinkat.h b/libc/src/unistd/unlinkat.h
index 8e2622f4f3006..2ce46b8ec8a8b 100644
--- a/libc/src/unistd/unlinkat.h
+++ b/libc/src/unistd/unlinkat.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_UNLINKAT_H
 #define LLVM_LIBC_SRC_UNISTD_UNLINKAT_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 
 int unlinkat(int dfd, const char *path, int flags);
diff --git a/libc/src/unistd/write.h b/libc/src/unistd/write.h
index a5370698d3cdc..e40ce19e21769 100644
--- a/libc/src/unistd/write.h
+++ b/libc/src/unistd/write.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_UNISTD_WRITE_H
 #define LLVM_LIBC_SRC_UNISTD_WRITE_H
 
+#include "src/__support/macros/config.h"
 #include <unistd.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/wchar/btowc.cpp b/libc/src/wchar/btowc.cpp
index ccfc45f36fa24..8ae566b22f3ec 100644
--- a/libc/src/wchar/btowc.cpp
+++ b/libc/src/wchar/btowc.cpp
@@ -8,6 +8,7 @@
 
 #include "src/wchar/btowc.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/wctype_utils.h"
 
 #include <stdio.h> // for EOF.
diff --git a/libc/src/wchar/btowc.h b/libc/src/wchar/btowc.h
index 5804e9d811dc3..1f41bd68f9c17 100644
--- a/libc/src/wchar/btowc.h
+++ b/libc/src/wchar/btowc.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_WCHAR_BTOWC_H
 #define LLVM_LIBC_SRC_WCHAR_BTOWC_H
 
+#include "src/__support/macros/config.h"
 #include <wchar.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/src/wchar/wctob.cpp b/libc/src/wchar/wctob.cpp
index e4336fe972d2a..70d47f49ec4d1 100644
--- a/libc/src/wchar/wctob.cpp
+++ b/libc/src/wchar/wctob.cpp
@@ -8,6 +8,7 @@
 
 #include "src/wchar/wctob.h"
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/wctype_utils.h"
 
 #include <stdio.h> // for EOF.
diff --git a/libc/src/wchar/wctob.h b/libc/src/wchar/wctob.h
index ea1923e8ab283..95f349ed8e448 100644
--- a/libc/src/wchar/wctob.h
+++ b/libc/src/wchar/wctob.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_SRC_WCHAR_WCTOB_H
 #define LLVM_LIBC_SRC_WCHAR_WCTOB_H
 
+#include "src/__support/macros/config.h"
 #include <wchar.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/startup/baremetal/fini.cpp b/libc/startup/baremetal/fini.cpp
index ff1d5f10f7aec..263d7192cc607 100644
--- a/libc/startup/baremetal/fini.cpp
+++ b/libc/startup/baremetal/fini.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <stdint.h>
 
diff --git a/libc/startup/baremetal/init.cpp b/libc/startup/baremetal/init.cpp
index 8e216f601637c..ce387017c4972 100644
--- a/libc/startup/baremetal/init.cpp
+++ b/libc/startup/baremetal/init.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <stdint.h>
 
diff --git a/libc/startup/gpu/amdgpu/start.cpp b/libc/startup/gpu/amdgpu/start.cpp
index 5443f4e3fff88..6bda151023c8f 100644
--- a/libc/startup/gpu/amdgpu/start.cpp
+++ b/libc/startup/gpu/amdgpu/start.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/atexit.h"
 #include "src/stdlib/exit.h"
 
diff --git a/libc/startup/gpu/nvptx/start.cpp b/libc/startup/gpu/nvptx/start.cpp
index ce67837df3dde..b1ef944c4aa28 100644
--- a/libc/startup/gpu/nvptx/start.cpp
+++ b/libc/startup/gpu/nvptx/start.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/GPU/utils.h"
 #include "src/__support/RPC/rpc_client.h"
+#include "src/__support/macros/config.h"
 #include "src/stdlib/atexit.h"
 #include "src/stdlib/exit.h"
 
diff --git a/libc/startup/linux/aarch64/tls.cpp b/libc/startup/linux/aarch64/tls.cpp
index 7857d50807257..ea1b50c9fb209 100644
--- a/libc/startup/linux/aarch64/tls.cpp
+++ b/libc/startup/linux/aarch64/tls.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "startup/linux/do_start.h"
diff --git a/libc/startup/linux/do_start.cpp b/libc/startup/linux/do_start.cpp
index 5ca59f322dca8..824c0e1cf8f26 100644
--- a/libc/startup/linux/do_start.cpp
+++ b/libc/startup/linux/do_start.cpp
@@ -8,6 +8,7 @@
 #include "startup/linux/do_start.h"
 #include "include/llvm-libc-macros/link-macros.h"
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 #include "src/stdlib/atexit.h"
 #include "src/stdlib/exit.h"
diff --git a/libc/startup/linux/do_start.h b/libc/startup/linux/do_start.h
index 926c388010405..dd41c9bd384e7 100644
--- a/libc/startup/linux/do_start.h
+++ b/libc/startup/linux/do_start.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "config/linux/app.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 // setup the libc runtime and invoke the main routine.
diff --git a/libc/startup/linux/riscv/tls.cpp b/libc/startup/linux/riscv/tls.cpp
index 4dea685f65b67..04d44e6ca882e 100644
--- a/libc/startup/linux/riscv/tls.cpp
+++ b/libc/startup/linux/riscv/tls.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/thread.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "startup/linux/do_start.h"
diff --git a/libc/startup/linux/x86_64/tls.cpp b/libc/startup/linux/x86_64/tls.cpp
index 11bd4a1071987..d6b549a2e6c46 100644
--- a/libc/startup/linux/x86_64/tls.cpp
+++ b/libc/startup/linux/x86_64/tls.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/inline_memcpy.h"
 #include "startup/linux/do_start.h"
 
diff --git a/libc/test/IntegrationTest/test.cpp b/libc/test/IntegrationTest/test.cpp
index 834e641221f71..871bdf0dc562b 100644
--- a/libc/test/IntegrationTest/test.cpp
+++ b/libc/test/IntegrationTest/test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <stdint.h>
 
diff --git a/libc/test/UnitTest/BazelFilePath.cpp b/libc/test/UnitTest/BazelFilePath.cpp
index 74f118718ba3b..ee5fcaaa63d91 100644
--- a/libc/test/UnitTest/BazelFilePath.cpp
+++ b/libc/test/UnitTest/BazelFilePath.cpp
@@ -12,6 +12,7 @@
 
 #include "src/__support/CPP/string.h"
 #include "src/__support/c_string.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace testing {
diff --git a/libc/test/UnitTest/CmakeFilePath.cpp b/libc/test/UnitTest/CmakeFilePath.cpp
index 08ef0801dd658..b7bc5a8573dc8 100644
--- a/libc/test/UnitTest/CmakeFilePath.cpp
+++ b/libc/test/UnitTest/CmakeFilePath.cpp
@@ -10,6 +10,7 @@
 
 #include "src/__support/CPP/string.h"
 #include "src/__support/c_string.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace testing {
diff --git a/libc/test/UnitTest/ErrnoSetterMatcher.h b/libc/test/UnitTest/ErrnoSetterMatcher.h
index ff5e03aab380f..a895c5044b0ad 100644
--- a/libc/test/UnitTest/ErrnoSetterMatcher.h
+++ b/libc/test/UnitTest/ErrnoSetterMatcher.h
@@ -12,6 +12,7 @@
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/fpbits_str.h"
 #include "src/__support/StringUtil/error_to_string.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 #include "src/errno/libc_errno.h"
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/UnitTest/ExecuteFunction.h b/libc/test/UnitTest/ExecuteFunction.h
index 7839b3ad153a1..511249be0f3c9 100644
--- a/libc/test/UnitTest/ExecuteFunction.h
+++ b/libc/test/UnitTest/ExecuteFunction.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_TEST_UNITTEST_EXECUTEFUNCTION_H
 #define LLVM_LIBC_TEST_UNITTEST_EXECUTEFUNCTION_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/ExecuteFunctionUnix.cpp b/libc/test/UnitTest/ExecuteFunctionUnix.cpp
index 265aeacb65ae0..3a657c00851c7 100644
--- a/libc/test/UnitTest/ExecuteFunctionUnix.cpp
+++ b/libc/test/UnitTest/ExecuteFunctionUnix.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "ExecuteFunction.h"
+#include "src/__support/macros/config.h"
 #include <cassert>
 #include <cstdlib>
 #include <cstring>
diff --git a/libc/test/UnitTest/FEnvSafeTest.cpp b/libc/test/UnitTest/FEnvSafeTest.cpp
index e8586011839ff..168b1d4159d8d 100644
--- a/libc/test/UnitTest/FEnvSafeTest.cpp
+++ b/libc/test/UnitTest/FEnvSafeTest.cpp
@@ -9,6 +9,7 @@
 #include "FEnvSafeTest.h"
 
 #include "src/__support/FPUtil/FEnvImpl.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/architectures.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/FEnvSafeTest.h b/libc/test/UnitTest/FEnvSafeTest.h
index 79ecdddc0e383..a3c5e62120bc0 100644
--- a/libc/test/UnitTest/FEnvSafeTest.h
+++ b/libc/test/UnitTest/FEnvSafeTest.h
@@ -11,6 +11,7 @@
 
 #include "hdr/types/fenv_t.h"
 #include "src/__support/CPP/utility.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/FPExceptMatcher.cpp b/libc/test/UnitTest/FPExceptMatcher.cpp
index 95a39d114cdec..37ba0a0a7abde 100644
--- a/libc/test/UnitTest/FPExceptMatcher.cpp
+++ b/libc/test/UnitTest/FPExceptMatcher.cpp
@@ -8,6 +8,7 @@
 
 #include "FPExceptMatcher.h"
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 #include "hdr/types/fenv_t.h"
diff --git a/libc/test/UnitTest/FPExceptMatcher.h b/libc/test/UnitTest/FPExceptMatcher.h
index 8f312945f97f6..978501df7e3ed 100644
--- a/libc/test/UnitTest/FPExceptMatcher.h
+++ b/libc/test/UnitTest/FPExceptMatcher.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_TEST_UNITTEST_FPEXCEPTMATCHER_H
 #define LLVM_LIBC_TEST_UNITTEST_FPEXCEPTMATCHER_H
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 #include "test/UnitTest/TestLogger.h"
 
diff --git a/libc/test/UnitTest/FPMatcher.h b/libc/test/UnitTest/FPMatcher.h
index 2b7b6221806b7..6b50f3d23075a 100644
--- a/libc/test/UnitTest/FPMatcher.h
+++ b/libc/test/UnitTest/FPMatcher.h
@@ -14,6 +14,7 @@
 #include "src/__support/FPUtil/FEnvImpl.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/fpbits_str.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/RoundingModeUtils.h"
 #include "test/UnitTest/StringUtils.h"
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/UnitTest/GTest.h b/libc/test/UnitTest/GTest.h
index 1f7dd95ac57e0..fd6be9c02fd7c 100644
--- a/libc/test/UnitTest/GTest.h
+++ b/libc/test/UnitTest/GTest.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_UTILS_UNITTEST_GTEST_H
 #define LLVM_LIBC_UTILS_UNITTEST_GTEST_H
 
+#include "src/__support/macros/config.h"
 #include <gtest/gtest.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/HermeticTestUtils.cpp b/libc/test/UnitTest/HermeticTestUtils.cpp
index 0c54dc6b1b078..85e5cf02ff613 100644
--- a/libc/test/UnitTest/HermeticTestUtils.cpp
+++ b/libc/test/UnitTest/HermeticTestUtils.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/common.h"
+#include "src/__support/macros/config.h"
 #include <stddef.h>
 #include <stdint.h>
 
diff --git a/libc/test/UnitTest/LibcDeathTestExecutors.cpp b/libc/test/UnitTest/LibcDeathTestExecutors.cpp
index e502f2192b22c..e43dbb19ad152 100644
--- a/libc/test/UnitTest/LibcDeathTestExecutors.cpp
+++ b/libc/test/UnitTest/LibcDeathTestExecutors.cpp
@@ -8,6 +8,7 @@
 
 #include "LibcTest.h"
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/ExecuteFunction.h"
 #include "test/UnitTest/TestLogger.h"
 
diff --git a/libc/test/UnitTest/LibcTest.cpp b/libc/test/UnitTest/LibcTest.cpp
index 9849233b21a2e..72aeaf20e1dac 100644
--- a/libc/test/UnitTest/LibcTest.cpp
+++ b/libc/test/UnitTest/LibcTest.cpp
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/string.h"
 #include "src/__support/CPP/string_view.h"
 #include "src/__support/fixed_point/fx_rep.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 #include "src/__support/uint128.h"
 #include "test/UnitTest/TestLogger.h"
diff --git a/libc/test/UnitTest/LibcTest.h b/libc/test/UnitTest/LibcTest.h
index 774c97916c49a..2b972004e9eea 100644
--- a/libc/test/UnitTest/LibcTest.h
+++ b/libc/test/UnitTest/LibcTest.h
@@ -12,6 +12,7 @@
 // This is defined as a simple macro in test.h so that it exists for platforms
 // that don't use our test infrastructure. It's defined as a proper function
 // below.
+#include "src/__support/macros/config.h"
 #ifdef libc_make_test_file_path
 #undef libc_make_test_file_path
 #endif // libc_make_test_file_path
diff --git a/libc/test/UnitTest/MemoryMatcher.cpp b/libc/test/UnitTest/MemoryMatcher.cpp
index 0f82f931c8055..244f25572c378 100644
--- a/libc/test/UnitTest/MemoryMatcher.cpp
+++ b/libc/test/UnitTest/MemoryMatcher.cpp
@@ -8,6 +8,7 @@
 
 #include "MemoryMatcher.h"
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 #if LIBC_TEST_HAS_MATCHERS()
diff --git a/libc/test/UnitTest/MemoryMatcher.h b/libc/test/UnitTest/MemoryMatcher.h
index 04758a74472fd..617231520bf20 100644
--- a/libc/test/UnitTest/MemoryMatcher.h
+++ b/libc/test/UnitTest/MemoryMatcher.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/span.h"
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/PrintfMatcher.cpp b/libc/test/UnitTest/PrintfMatcher.cpp
index 1c38dca223802..4fdcbf1746d22 100644
--- a/libc/test/UnitTest/PrintfMatcher.cpp
+++ b/libc/test/UnitTest/PrintfMatcher.cpp
@@ -9,6 +9,7 @@
 #include "PrintfMatcher.h"
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 
 #include "test/UnitTest/StringUtils.h"
diff --git a/libc/test/UnitTest/PrintfMatcher.h b/libc/test/UnitTest/PrintfMatcher.h
index 2817be2ee049e..e0c16cf05f281 100644
--- a/libc/test/UnitTest/PrintfMatcher.h
+++ b/libc/test/UnitTest/PrintfMatcher.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_UTILS_UNITTEST_PRINTF_MATCHER_H
 #define LLVM_LIBC_UTILS_UNITTEST_PRINTF_MATCHER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/printf_core/core_structs.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/UnitTest/RoundingModeUtils.cpp b/libc/test/UnitTest/RoundingModeUtils.cpp
index fab62731ab728..46ac204bcd759 100644
--- a/libc/test/UnitTest/RoundingModeUtils.cpp
+++ b/libc/test/UnitTest/RoundingModeUtils.cpp
@@ -11,6 +11,7 @@
 #include "src/__support/FPUtil/rounding_mode.h"
 
 #include "hdr/fenv_macros.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 namespace fputil {
diff --git a/libc/test/UnitTest/RoundingModeUtils.h b/libc/test/UnitTest/RoundingModeUtils.h
index bbb42d028ea86..cdc3699d15658 100644
--- a/libc/test/UnitTest/RoundingModeUtils.h
+++ b/libc/test/UnitTest/RoundingModeUtils.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_TEST_UNITTEST_ROUNDINGMODEUTILS_H
 #define LLVM_LIBC_TEST_UNITTEST_ROUNDINGMODEUTILS_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/UnitTest/ScanfMatcher.cpp b/libc/test/UnitTest/ScanfMatcher.cpp
index f46dd362ba699..3e9f2a5f941a1 100644
--- a/libc/test/UnitTest/ScanfMatcher.cpp
+++ b/libc/test/UnitTest/ScanfMatcher.cpp
@@ -9,6 +9,7 @@
 #include "ScanfMatcher.h"
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 
 #include "test/UnitTest/StringUtils.h"
diff --git a/libc/test/UnitTest/ScanfMatcher.h b/libc/test/UnitTest/ScanfMatcher.h
index f3fc8625df9d1..d64258f3f4f2c 100644
--- a/libc/test/UnitTest/ScanfMatcher.h
+++ b/libc/test/UnitTest/ScanfMatcher.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_UTILS_UNITTEST_SCANF_MATCHER_H
 #define LLVM_LIBC_UTILS_UNITTEST_SCANF_MATCHER_H
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/scanf_core/core_structs.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/UnitTest/StringUtils.h b/libc/test/UnitTest/StringUtils.h
index f9908dc91e508..9225881805603 100644
--- a/libc/test/UnitTest/StringUtils.h
+++ b/libc/test/UnitTest/StringUtils.h
@@ -12,6 +12,7 @@
 #include "src/__support/CPP/string.h"
 #include "src/__support/CPP/type_traits.h"
 #include "src/__support/big_int.h"
+#include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
 
diff --git a/libc/test/UnitTest/TestLogger.cpp b/libc/test/UnitTest/TestLogger.cpp
index 4b2c81e4abe2f..e1df7987bcd83 100644
--- a/libc/test/UnitTest/TestLogger.cpp
+++ b/libc/test/UnitTest/TestLogger.cpp
@@ -3,6 +3,7 @@
 #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"
 
diff --git a/libc/test/UnitTest/TestLogger.h b/libc/test/UnitTest/TestLogger.h
index a725e65fad287..c4dbd3a7dc484 100644
--- a/libc/test/UnitTest/TestLogger.h
+++ b/libc/test/UnitTest/TestLogger.h
@@ -9,6 +9,8 @@
 #ifndef LLVM_LIBC_TEST_UNITTEST_TESTLOGGER_H
 #define LLVM_LIBC_TEST_UNITTEST_TESTLOGGER_H
 
+#include "src/__support/macros/config.h"
+
 namespace LIBC_NAMESPACE_DECL {
 namespace testing {
 
diff --git a/libc/test/UnitTest/ZxTest.h b/libc/test/UnitTest/ZxTest.h
index ae7d41ad91ff9..0881902d62b3b 100644
--- a/libc/test/UnitTest/ZxTest.h
+++ b/libc/test/UnitTest/ZxTest.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_UTILS_UNITTEST_ZXTEST_H
 #define LLVM_LIBC_UTILS_UNITTEST_ZXTEST_H
 
+#include "src/__support/macros/config.h"
 #include <zxtest/zxtest.h>
 
 #define WITH_SIGNAL(X) #X
diff --git a/libc/test/include/sys/queue_test.cpp b/libc/test/include/sys/queue_test.cpp
index 672751458aab8..a1fda903bc806 100644
--- a/libc/test/include/sys/queue_test.cpp
+++ b/libc/test/include/sys/queue_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/CPP/string.h"
 #include "src/__support/char_vector.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 #include "include/llvm-libc-macros/sys-queue-macros.h"
diff --git a/libc/test/integration/src/pthread/pthread_rwlock_test.cpp b/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
index 268343f6d960c..455003b6af811 100644
--- a/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
+++ b/libc/test/integration/src/pthread/pthread_rwlock_test.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/CPP/atomic.h"
 #include "src/__support/CPP/new.h"
 #include "src/__support/OSUtil/syscall.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/threads/linux/raw_mutex.h"
 #include "src/__support/threads/linux/rwlock.h"
 #include "src/__support/threads/sleep.h"
diff --git a/libc/test/src/__support/CPP/algorithm_test.cpp b/libc/test/src/__support/CPP/algorithm_test.cpp
index e2427b1b4e5e0..00d07bfbfbaaf 100644
--- a/libc/test/src/__support/CPP/algorithm_test.cpp
+++ b/libc/test/src/__support/CPP/algorithm_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/CPP/algorithm.h"
 #include "src/__support/CPP/array.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 // TODO(https://github.com/llvm/llvm-project/issues/94066): Add unittests for
diff --git a/libc/test/src/__support/CPP/bit_test.cpp b/libc/test/src/__support/CPP/bit_test.cpp
index 5f28990286386..9429b66ad1f98 100644
--- a/libc/test/src/__support/CPP/bit_test.cpp
+++ b/libc/test/src/__support/CPP/bit_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/CPP/bit.h"
 #include "src/__support/big_int.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/__support/CPP/cstddef_test.cpp b/libc/test/src/__support/CPP/cstddef_test.cpp
index 86ff218eaa633..eceabaa815983 100644
--- a/libc/test/src/__support/CPP/cstddef_test.cpp
+++ b/libc/test/src/__support/CPP/cstddef_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/CPP/cstddef.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/__support/CPP/limits_test.cpp b/libc/test/src/__support/CPP/limits_test.cpp
index b7e03e111aa1d..6c94b091f15bf 100644
--- a/libc/test/src/__support/CPP/limits_test.cpp
+++ b/libc/test/src/__support/CPP/limits_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/CPP/limits.h"
 #include "src/__support/big_int.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/__support/CPP/type_traits_test.cpp b/libc/test/src/__support/CPP/type_traits_test.cpp
index 79fc508789a28..3c6268f86fbd1 100644
--- a/libc/test/src/__support/CPP/type_traits_test.cpp
+++ b/libc/test/src/__support/CPP/type_traits_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 // TODO: Split this file if it becomes too big.
diff --git a/libc/test/src/__support/HashTable/bitmask_test.cpp b/libc/test/src/__support/HashTable/bitmask_test.cpp
index a90844d6323ee..ce56b2079d32e 100644
--- a/libc/test/src/__support/HashTable/bitmask_test.cpp
+++ b/libc/test/src/__support/HashTable/bitmask_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/HashTable/bitmask.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 namespace LIBC_NAMESPACE_DECL {
 namespace internal {
diff --git a/libc/test/src/__support/HashTable/group_test.cpp b/libc/test/src/__support/HashTable/group_test.cpp
index 6431545e2dcbd..25b15312ad668 100644
--- a/libc/test/src/__support/HashTable/group_test.cpp
+++ b/libc/test/src/__support/HashTable/group_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/HashTable/bitmask.h"
 
+#include "src/__support/macros/config.h"
 #include "src/stdlib/rand.h"
 #include "test/UnitTest/Test.h"
 #include <stdint.h>
diff --git a/libc/test/src/__support/HashTable/table_test.cpp b/libc/test/src/__support/HashTable/table_test.cpp
index 15b4256076c57..f8ffa4d4123d3 100644
--- a/libc/test/src/__support/HashTable/table_test.cpp
+++ b/libc/test/src/__support/HashTable/table_test.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/CPP/bit.h" // bit_ceil
 #include "src/__support/HashTable/randomness.h"
 #include "src/__support/HashTable/table.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/__support/big_int_test.cpp b/libc/test/src/__support/big_int_test.cpp
index dc4fcb2f8a250..2c3d57755cd5b 100644
--- a/libc/test/src/__support/big_int_test.cpp
+++ b/libc/test/src/__support/big_int_test.cpp
@@ -9,6 +9,7 @@
 #include "src/__support/CPP/optional.h"
 #include "src/__support/big_int.h"
 #include "src/__support/integer_literals.h"        // parse_unsigned_bigint
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT128
 
 #include "hdr/math_macros.h" // HUGE_VALF, HUGE_VALF
diff --git a/libc/test/src/__support/endian_test.cpp b/libc/test/src/__support/endian_test.cpp
index 85b3a37a89a31..758c13b686946 100644
--- a/libc/test/src/__support/endian_test.cpp
+++ b/libc/test/src/__support/endian_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/endian.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/__support/freelist_heap_test.cpp b/libc/test/src/__support/freelist_heap_test.cpp
index cf693489519d5..5815d5dfc01ab 100644
--- a/libc/test/src/__support/freelist_heap_test.cpp
+++ b/libc/test/src/__support/freelist_heap_test.cpp
@@ -8,6 +8,7 @@
 
 #include "src/__support/CPP/span.h"
 #include "src/__support/freelist_heap.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memcmp.h"
 #include "src/string/memcpy.h"
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/src/__support/math_extras_test.cpp b/libc/test/src/__support/math_extras_test.cpp
index 6b9579689d78c..08c090017c1a1 100644
--- a/libc/test/src/__support/math_extras_test.cpp
+++ b/libc/test/src/__support/math_extras_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/integer_literals.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/math_extras.h"
 #include "src/__support/uint128.h" // UInt<128>
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/src/__support/memory_size_test.cpp b/libc/test/src/__support/memory_size_test.cpp
index 77d4da1b50ab6..bda1571fd360a 100644
--- a/libc/test/src/__support/memory_size_test.cpp
+++ b/libc/test/src/__support/memory_size_test.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include "src/__support/memory_size.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/__support/str_to_double_test.cpp b/libc/test/src/__support/str_to_double_test.cpp
index c078c81332de8..597227b5f3288 100644
--- a/libc/test/src/__support/str_to_double_test.cpp
+++ b/libc/test/src/__support/str_to_double_test.cpp
@@ -1,3 +1,4 @@
+#include "src/__support/macros/config.h"
 #include "str_to_fp_test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/__support/str_to_float_test.cpp b/libc/test/src/__support/str_to_float_test.cpp
index 1f7a5b1ffe015..efdce46391cf5 100644
--- a/libc/test/src/__support/str_to_float_test.cpp
+++ b/libc/test/src/__support/str_to_float_test.cpp
@@ -1,3 +1,4 @@
+#include "src/__support/macros/config.h"
 #include "str_to_fp_test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/__support/str_to_fp_test.h b/libc/test/src/__support/str_to_fp_test.h
index 3adee018b72c5..db4e62a5cd0d1 100644
--- a/libc/test/src/__support/str_to_fp_test.h
+++ b/libc/test/src/__support/str_to_fp_test.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_float.h"
 #include "src/__support/uint128.h"
 #include "src/errno/libc_errno.h"
diff --git a/libc/test/src/__support/str_to_long_double_test.cpp b/libc/test/src/__support/str_to_long_double_test.cpp
index 1c7556fa81bdc..3433c3725c234 100644
--- a/libc/test/src/__support/str_to_long_double_test.cpp
+++ b/libc/test/src/__support/str_to_long_double_test.cpp
@@ -1,3 +1,4 @@
+#include "src/__support/macros/config.h"
 #include "str_to_fp_test.h"
 
 #include "src/__support/integer_literals.h"
diff --git a/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
index 1bcca22864139..995e41ba84b03 100644
--- a/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
+++ b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "test/src/math/performance_testing/Timer.h"
 
 #include <cstddef>
diff --git a/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
index cfc64cfeb9c86..48ae43d6315e3 100644
--- a/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
+++ b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/macros/config.h"
 #include "test/src/math/performance_testing/Timer.h"
 
 #include <fstream>
diff --git a/libc/test/src/math/performance_testing/Timer.cpp b/libc/test/src/math/performance_testing/Timer.cpp
index 758a7d1766327..6ab0063fa6ef0 100644
--- a/libc/test/src/math/performance_testing/Timer.cpp
+++ b/libc/test/src/math/performance_testing/Timer.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "Timer.h"
+#include "src/__support/macros/config.h"
 
 #include <chrono>
 #include <fstream>
diff --git a/libc/test/src/math/performance_testing/Timer.h b/libc/test/src/math/performance_testing/Timer.h
index 24c0de2bd0fd1..32578ade48888 100644
--- a/libc/test/src/math/performance_testing/Timer.h
+++ b/libc/test/src/math/performance_testing/Timer.h
@@ -9,6 +9,7 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_PERFORMACE_TESTING_TIMER_H
 #define LLVM_LIBC_TEST_SRC_MATH_PERFORMACE_TESTING_TIMER_H
 
+#include "src/__support/macros/config.h"
 #include <stdint.h>
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/test/src/math/sdcomp26094.h b/libc/test/src/math/sdcomp26094.h
index 1193d59fb8156..bb2b9f1efb909 100644
--- a/libc/test/src/math/sdcomp26094.h
+++ b/libc/test/src/math/sdcomp26094.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_TEST_SRC_MATH_SDCOMP26094_H
 
 #include "src/__support/CPP/array.h"
+#include "src/__support/macros/config.h"
 
 #include <stdint.h>
 
diff --git a/libc/test/src/stdio/sprintf_test.cpp b/libc/test/src/stdio/sprintf_test.cpp
index f64e452bf3c13..be7c06fa918fd 100644
--- a/libc/test/src/stdio/sprintf_test.cpp
+++ b/libc/test/src/stdio/sprintf_test.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include "src/stdio/sprintf.h"
 
 #include "src/__support/FPUtil/FPBits.h"
diff --git a/libc/test/src/stdlib/strtoint32_test.cpp b/libc/test/src/stdlib/strtoint32_test.cpp
index ac336fe15520b..17df432fc8e68 100644
--- a/libc/test/src/stdlib/strtoint32_test.cpp
+++ b/libc/test/src/stdlib/strtoint32_test.cpp
@@ -8,6 +8,7 @@
 
 #include <stdint.h>
 
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/test/src/stdlib/strtoint64_test.cpp b/libc/test/src/stdlib/strtoint64_test.cpp
index c9994c39b6e02..b5fe69dfaa701 100644
--- a/libc/test/src/stdlib/strtoint64_test.cpp
+++ b/libc/test/src/stdlib/strtoint64_test.cpp
@@ -8,6 +8,7 @@
 
 #include <stdint.h>
 
+#include "src/__support/macros/config.h"
 #include "src/__support/str_to_integer.h"
 #include "src/errno/libc_errno.h"
 
diff --git a/libc/test/src/string/bcmp_test.cpp b/libc/test/src/string/bcmp_test.cpp
index 9f486b306df2d..c639040685e19 100644
--- a/libc/test/src/string/bcmp_test.cpp
+++ b/libc/test/src/string/bcmp_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/bcmp.h"
 #include "test/UnitTest/Test.h"
 #include "test/UnitTest/TestLogger.h"
diff --git a/libc/test/src/string/bcopy_test.cpp b/libc/test/src/string/bcopy_test.cpp
index ab3345e682701..04772bb5d8ad7 100644
--- a/libc/test/src/string/bcopy_test.cpp
+++ b/libc/test/src/string/bcopy_test.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include "src/string/bcopy.h"
 
 #include "memory_utils/memory_check_utils.h"
diff --git a/libc/test/src/string/bzero_test.cpp b/libc/test/src/string/bzero_test.cpp
index 63e81bf55f1cb..a24043613bed7 100644
--- a/libc/test/src/string/bzero_test.cpp
+++ b/libc/test/src/string/bzero_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/bzero.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/string/memcmp_test.cpp b/libc/test/src/string/memcmp_test.cpp
index eee3bbf78f719..9f85a6d4f2229 100644
--- a/libc/test/src/string/memcmp_test.cpp
+++ b/libc/test/src/string/memcmp_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memcmp.h"
 #include "test/UnitTest/Test.h"
 #include "test/UnitTest/TestLogger.h"
diff --git a/libc/test/src/string/memcpy_test.cpp b/libc/test/src/string/memcpy_test.cpp
index 30d4770b7d0d1..adf6ef7e66d3f 100644
--- a/libc/test/src/string/memcpy_test.cpp
+++ b/libc/test/src/string/memcpy_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/os.h" // LIBC_TARGET_OS_IS_LINUX
 #include "src/string/memcpy.h"
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/src/string/memmem_test.cpp b/libc/test/src/string/memmem_test.cpp
index abf93ce2ecbb6..539f6a136dc02 100644
--- a/libc/test/src/string/memmem_test.cpp
+++ b/libc/test/src/string/memmem_test.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include "src/string/memmem.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/string/memmove_test.cpp b/libc/test/src/string/memmove_test.cpp
index dd6d1327edbcf..e280b5d25f6f4 100644
--- a/libc/test/src/string/memmove_test.cpp
+++ b/libc/test/src/string/memmove_test.cpp
@@ -6,6 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/macros/config.h"
 #include "src/string/memmove.h"
 
 #include "memory_utils/memory_check_utils.h"
diff --git a/libc/test/src/string/memory_utils/memory_check_utils.h b/libc/test/src/string/memory_utils/memory_check_utils.h
index 5d9b9874b12c8..3ddd15b181c8e 100644
--- a/libc/test/src/string/memory_utils/memory_check_utils.h
+++ b/libc/test/src/string/memory_utils/memory_check_utils.h
@@ -11,6 +11,7 @@
 
 #include "src/__support/CPP/span.h"
 #include "src/__support/libc_assert.h" // LIBC_ASSERT
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/sanitizer.h"
 #include "src/string/memory_utils/utils.h"
 #include <stddef.h> // size_t
diff --git a/libc/test/src/string/memory_utils/op_tests.cpp b/libc/test/src/string/memory_utils/op_tests.cpp
index f8318b8319413..2c7524943c0e6 100644
--- a/libc/test/src/string/memory_utils/op_tests.cpp
+++ b/libc/test/src/string/memory_utils/op_tests.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_INT64
 #include "src/string/memory_utils/op_aarch64.h"
 #include "src/string/memory_utils/op_builtin.h"
diff --git a/libc/test/src/string/memory_utils/utils_test.cpp b/libc/test/src/string/memory_utils/utils_test.cpp
index 24d3fb767bb06..4c1accd551685 100644
--- a/libc/test/src/string/memory_utils/utils_test.cpp
+++ b/libc/test/src/string/memory_utils/utils_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/__support/CPP/array.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memory_utils/utils.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/string/memset_explicit_test.cpp b/libc/test/src/string/memset_explicit_test.cpp
index 1dff3d70c0b72..4842f45791c44 100644
--- a/libc/test/src/string/memset_explicit_test.cpp
+++ b/libc/test/src/string/memset_explicit_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/string/memset_explicit.h"
 #include "test/UnitTest/Test.h"
 
diff --git a/libc/test/src/string/memset_test.cpp b/libc/test/src/string/memset_test.cpp
index e3a0f00103eed..774a321ddfce6 100644
--- a/libc/test/src/string/memset_test.cpp
+++ b/libc/test/src/string/memset_test.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "memory_utils/memory_check_utils.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/os.h" // LIBC_TARGET_OS_IS_LINUX
 #include "src/string/memset.h"
 #include "test/UnitTest/Test.h"
diff --git a/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp b/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
index 18f4feacbe5ff..0895c33167151 100644
--- a/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
+++ b/libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
@@ -1,4 +1,5 @@
 #include "llvm-libc-macros/linux/fcntl-macros.h"
+#include "src/__support/macros/config.h"
 #include "src/fcntl/open.h"
 #include "src/sys/statvfs/fstatvfs.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
diff --git a/libc/test/src/sys/statvfs/linux/statvfs_test.cpp b/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
index 4af043d750544..6719c1ab26865 100644
--- a/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
+++ b/libc/test/src/sys/statvfs/linux/statvfs_test.cpp
@@ -1,3 +1,4 @@
+#include "src/__support/macros/config.h"
 #include "src/sys/statvfs/linux/statfs_utils.h"
 #include "src/sys/statvfs/statvfs.h"
 #include "test/UnitTest/ErrnoSetterMatcher.h"
diff --git a/libc/test/src/time/TmHelper.h b/libc/test/src/time/TmHelper.h
index a2de96d6ca78e..5ae258461099b 100644
--- a/libc/test/src/time/TmHelper.h
+++ b/libc/test/src/time/TmHelper.h
@@ -11,6 +11,7 @@
 
 #include <time.h>
 
+#include "src/__support/macros/config.h"
 #include "src/time/time_utils.h"
 
 using LIBC_NAMESPACE::time_utils::TimeConstants;
diff --git a/libc/test/src/time/TmMatcher.h b/libc/test/src/time/TmMatcher.h
index 5468e89adc895..630956b0f08d6 100644
--- a/libc/test/src/time/TmMatcher.h
+++ b/libc/test/src/time/TmMatcher.h
@@ -11,6 +11,7 @@
 
 #include <time.h>
 
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/Test.h"
 
 namespace LIBC_NAMESPACE_DECL {
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 374d3439ba9ff..b67a9da40bd7b 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -14,6 +14,7 @@
 #include "src/__support/CPP/stringstream.h"
 #include "src/__support/FPUtil/FPBits.h"
 #include "src/__support/FPUtil/fpbits_str.h"
+#include "src/__support/macros/config.h"
 #include "src/__support/macros/properties/types.h"
 
 #include <stdint.h>
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index a03f8e774ba46..28390af9ee6d8 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -10,6 +10,7 @@
 #define LLVM_LIBC_UTILS_MPFRWRAPPER_MPFRUTILS_H
 
 #include "src/__support/CPP/type_traits.h"
+#include "src/__support/macros/config.h"
 #include "test/UnitTest/RoundingModeUtils.h"
 #include "test/UnitTest/Test.h"
 

>From f901f225efc2453b3e8012207c22a1f9e271668d Mon Sep 17 00:00:00 2001
From: Petr Hosek <phosek at google.com>
Date: Tue, 9 Jul 2024 23:53:18 -0700
Subject: [PATCH 3/3] Add implicit dependency to all targets

---
 libc/cmake/modules/LLVMLibCObjectRules.cmake     | 10 +++++-----
 .../bazel/llvm-project-overlay/libc/BUILD.bazel  | 16 +++++++---------
 .../libc/libc_build_rules.bzl                    |  2 +-
 .../libc/test/libc_test_rules.bzl                |  1 +
 4 files changed, 14 insertions(+), 15 deletions(-)

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/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
index 76b6aac185f5e..17b20319338b1 100644
--- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
@@ -51,6 +51,13 @@ config_setting(
     flag_values = {":mpfr": "system"},
 )
 
+################################## Base Config #################################
+
+cc_library(
+    name = "__support_macros_config",
+    hdrs = ["src/__support/macros/config.h"],
+)
+
 ################################# Include Files ################################
 
 libc_support_library(
@@ -219,11 +226,6 @@ libc_support_library(
     ],
 )
 
-libc_support_library(
-    name = "__support_macros_config",
-    hdrs = ["src/__support/macros/config.h"],
-)
-
 libc_support_library(
     name = "__support_macros_attributes",
     hdrs = ["src/__support/macros/attributes.h"],
@@ -237,7 +239,6 @@ libc_support_library(
     hdrs = ["src/__support/macros/optimization.h"],
     deps = [
         ":__support_macros_attributes",
-        ":__support_macros_config",
         ":__support_macros_properties_compiler",
     ],
 )
@@ -245,9 +246,6 @@ libc_support_library(
 libc_support_library(
     name = "__support_macros_sanitizer",
     hdrs = ["src/__support/macros/sanitizer.h"],
-    deps = [
-        ":__support_macros_config",
-    ],
 )
 
 libc_support_library(
diff --git a/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl b/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
index ec3714407cb91..cc732effb243e 100644
--- a/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
+++ b/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
@@ -43,7 +43,7 @@ def _libc_library(name, hidden, copts = [], deps = [], local_defines = [], **kwa
         name = name,
         copts = copts + libc_common_copts(),
         local_defines = local_defines + LIBC_CONFIGURE_OPTIONS,
-        deps = deps,
+        deps = deps + ["//libc:__support_macros_config"],
         linkstatic = 1,
         **kwargs
     )
diff --git a/utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl b/utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
index ae24a41c60418..1da0a24b7791a 100644
--- a/utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
+++ b/utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
@@ -34,6 +34,7 @@ def libc_test(name, srcs, libc_function_deps = [], copts = [], deps = [], local_
         local_defines = local_defines + LIBC_CONFIGURE_OPTIONS,
         deps = [libc_internal_target(d) for d in all_function_deps] + [
             "//libc/test/UnitTest:LibcUnitTest",
+            "//libc:__support_macros_config",
         ] + deps,
         features = ["-link_llvmlibc"],  # Do not link libllvmlibc.a
         copts = copts + libc_common_copts(),



More information about the llvm-commits mailing list