[libcxx-commits] [libcxx] 70617a1 - [libc++] Granularize <atomic> includes
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 10 04:28:35 PST 2023
Author: Nikolas Klauser
Date: 2023-03-10T13:28:29+01:00
New Revision: 70617a1a2389a1abe6151d52dc749fb5f7755439
URL: https://github.com/llvm/llvm-project/commit/70617a1a2389a1abe6151d52dc749fb5f7755439
DIFF: https://github.com/llvm/llvm-project/commit/70617a1a2389a1abe6151d52dc749fb5f7755439.diff
LOG: [libc++] Granularize <atomic> includes
Reviewed By: ldionne, Mordante, #libc
Spies: arichardson, libcxx-commits
Differential Revision: https://reviews.llvm.org/D144255
Added:
Modified:
libcxx/docs/ReleaseNotes.rst
libcxx/include/__memory/shared_ptr.h
libcxx/include/atomic
libcxx/include/barrier
libcxx/include/condition_variable
libcxx/include/functional
libcxx/include/future
libcxx/include/ios
libcxx/include/latch
libcxx/include/memory
libcxx/include/module.modulemap.in
libcxx/include/mutex
libcxx/include/ostream
libcxx/include/semaphore
libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
libcxx/test/libcxx/transitive_includes/cxx03.csv
libcxx/test/libcxx/transitive_includes/cxx11.csv
libcxx/test/libcxx/transitive_includes/cxx14.csv
libcxx/test/libcxx/transitive_includes/cxx17.csv
libcxx/test/libcxx/transitive_includes/cxx20.csv
libcxx/test/libcxx/transitive_includes/cxx2b.csv
libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
libcxx/test/support/atomic_helpers.h
libcxx/utils/data/ignore_format.txt
Removed:
################################################################################
diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
index 549efe727f2ce..aca9eaf475e17 100644
--- a/libcxx/docs/ReleaseNotes.rst
+++ b/libcxx/docs/ReleaseNotes.rst
@@ -59,7 +59,7 @@ Deprecations and Removals
includes are removed based on the language version used. Incidental transitive
inclusions of the following headers have been removed:
- - C++2b: ``bit``, ``cstring``, ``type_traits``
+ - C++2b: ``atomic``, ``bit``, ``cstring``, ``type_traits``
- The headers ``<experimental/algorithm>`` and ``<experimental/functional>`` have been removed, since all the contents
have been implemented in namespace ``std`` for at least two releases.
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index ec8bb9cec77b6..c5089f3f8686d 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -53,7 +53,7 @@
#include <stdexcept>
#include <typeinfo>
#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-# include <atomic>
+# include <__atomic/memory_order.h>
#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/atomic b/libcxx/include/atomic
index 3ebb2a93298b6..2f122a707bdc3 100644
--- a/libcxx/include/atomic
+++ b/libcxx/include/atomic
@@ -534,29 +534,24 @@ template <class T>
#include <__atomic/kill_dependency.h>
#include <__atomic/memory_order.h>
#include <__config>
-#include <cstddef>
-#include <cstdint>
-#include <cstring>
#include <version>
-#ifndef _LIBCPP_HAS_NO_THREADS
-# include <__threading_support>
-#endif
-
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
#ifdef _LIBCPP_HAS_NO_ATOMIC_HEADER
-# error <atomic> is not implemented
+# error <atomic> is not implemented
#endif
+
#ifdef kill_dependency
-# error <atomic> is incompatible with <stdatomic.h> before C++23. Please compile with -std=c++23.
+# error <atomic> is incompatible with <stdatomic.h> before C++23. Please compile with -std=c++23.
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cmath>
# include <compare>
+# include <cstring>
# include <type_traits>
#endif
diff --git a/libcxx/include/barrier b/libcxx/include/barrier
index 2e8906b71379c..41b3d8e0b7b40 100644
--- a/libcxx/include/barrier
+++ b/libcxx/include/barrier
@@ -46,13 +46,18 @@ namespace std
*/
#include <__assert> // all public C++ headers provide the assertion handler
+#include <__atomic/atomic_base.h>
+#include <__atomic/memory_order.h>
#include <__availability>
#include <__config>
#include <__memory/unique_ptr.h>
+#include <__thread/poll_with_backoff.h>
#include <__thread/timed_backoff_policy.h>
#include <__utility/move.h>
-#include <atomic>
+#include <cstddef>
+#include <cstdint>
#include <limits>
+#include <version>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -329,6 +334,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <iterator>
# include <memory>
diff --git a/libcxx/include/condition_variable b/libcxx/include/condition_variable
index f13df1c012fa9..85050dd064d4b 100644
--- a/libcxx/include/condition_variable
+++ b/libcxx/include/condition_variable
@@ -269,6 +269,7 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !_LIBCPP_HAS_NO_THREADS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <type_traits>
#endif
diff --git a/libcxx/include/functional b/libcxx/include/functional
index 66860209b6a6a..26c736f5673bd 100644
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -553,6 +553,7 @@ POLICY: For non-variadic implementations, the number of arguments is limited
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <tuple>
# include <type_traits>
diff --git a/libcxx/include/future b/libcxx/include/future
index 92999ce3dfc66..e0e56efa32999 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -2458,4 +2458,8 @@ _LIBCPP_END_NAMESPACE_STD
# include <chrono>
#endif
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+#endif
+
#endif // _LIBCPP_FUTURE
diff --git a/libcxx/include/ios b/libcxx/include/ios
index bc478a11bd22b..0682ecfe5f6c6 100644
--- a/libcxx/include/ios
+++ b/libcxx/include/ios
@@ -229,7 +229,7 @@ storage-class-specifier const error_category& iostream_category() noexcept;
#include <iosfwd>
#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
-#include <atomic> // for __xindex_
+# include <__atomic/atomic.h> // for __xindex_
#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -1039,6 +1039,7 @@ defaultfloat(ios_base& __str)
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <cstddef>
# include <cstdlib>
diff --git a/libcxx/include/latch b/libcxx/include/latch
index ff17f8453ea50..d72cb4f7b0ebd 100644
--- a/libcxx/include/latch
+++ b/libcxx/include/latch
@@ -41,9 +41,12 @@ namespace std
*/
#include <__assert> // all public C++ headers provide the assertion handler
+#include <__atomic/atomic_base.h>
+#include <__atomic/atomic_sync.h>
+#include <__atomic/memory_order.h>
#include <__availability>
#include <__config>
-#include <atomic>
+#include <cstddef>
#include <limits>
#include <version>
@@ -111,4 +114,8 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+#endif
+
#endif //_LIBCPP_LATCH
diff --git a/libcxx/include/memory b/libcxx/include/memory
index 0a7787acf1a8e..f6063178edc08 100644
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -917,6 +917,7 @@ template<size_t N, class T>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <cstddef>
# include <cstdint>
diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index da71f110d5b41..5f874d0d0de0c 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -631,7 +631,10 @@ module std [system] {
export *
module __atomic {
- module aliases { private header "__atomic/aliases.h" }
+ module aliases {
+ private header "__atomic/aliases.h"
+ export atomic
+ }
module atomic { private header "__atomic/atomic.h" }
module atomic_base { private header "__atomic/atomic_base.h" }
module atomic_flag { private header "__atomic/atomic_flag.h" }
diff --git a/libcxx/include/mutex b/libcxx/include/mutex
index 5f4f7d3791a88..54104d5173d54 100644
--- a/libcxx/include/mutex
+++ b/libcxx/include/mutex
@@ -704,7 +704,9 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
+# include <ctime>
# include <functional>
# include <type_traits>
#endif
diff --git a/libcxx/include/ostream b/libcxx/include/ostream
index 7bd0ed378dc0e..6db0e889ce457 100644
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -1192,6 +1192,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<wchar_t>;
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <iterator>
# include <type_traits>
diff --git a/libcxx/include/semaphore b/libcxx/include/semaphore
index 73cbc7f40a54a..cfbc2477a8baf 100644
--- a/libcxx/include/semaphore
+++ b/libcxx/include/semaphore
@@ -46,12 +46,15 @@ using binary_semaphore = counting_semaphore<1>;
*/
#include <__assert> // all public C++ headers provide the assertion handler
+#include <__atomic/atomic_base.h>
+#include <__atomic/atomic_sync.h>
+#include <__atomic/memory_order.h>
#include <__availability>
#include <__chrono/time_point.h>
#include <__config>
#include <__thread/timed_backoff_policy.h>
#include <__threading_support>
-#include <atomic>
+#include <cstddef>
#include <limits>
#include <version>
@@ -188,4 +191,8 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+#endif
+
#endif //_LIBCPP_SEMAPHORE
diff --git a/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp b/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
index e99af02e4f8e2..495d02fbe5c8d 100644
--- a/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
@@ -37,6 +37,7 @@
#include <atomic>
#include <cassert>
+#include <cstddef>
template <typename T>
struct atomic_test : public std::__atomic_base<T> {
diff --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index 827e1c6ff4f3a..a5b1c91100d5d 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -74,6 +74,7 @@ barrier ratio
barrier stdexcept
barrier type_traits
barrier variant
+barrier version
bit cstdint
bit cstdlib
bit iosfwd
@@ -162,6 +163,7 @@ condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -460,7 +462,14 @@ iterator utility
iterator variant
iterator version
latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
+latch type_traits
latch version
limits type_traits
limits version
@@ -553,6 +562,7 @@ mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex functional
mutex initializer_list
mutex iosfwd
@@ -703,6 +713,8 @@ scoped_allocator variant
scoped_allocator version
semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index 8a438bf34ec52..2f36b61d3c3c7 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -74,6 +74,7 @@ barrier ratio
barrier stdexcept
barrier type_traits
barrier variant
+barrier version
bit cstdint
bit cstdlib
bit iosfwd
@@ -162,6 +163,7 @@ condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -460,7 +462,14 @@ iterator utility
iterator variant
iterator version
latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
+latch type_traits
latch version
limits type_traits
limits version
@@ -553,6 +562,7 @@ mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex functional
mutex initializer_list
mutex iosfwd
@@ -704,6 +714,8 @@ scoped_allocator variant
scoped_allocator version
semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index 28bf5a5b943c6..cc5075fe139f4 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -74,6 +74,7 @@ barrier ratio
barrier stdexcept
barrier type_traits
barrier variant
+barrier version
bit cstdint
bit cstdlib
bit iosfwd
@@ -162,6 +163,7 @@ condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -462,7 +464,14 @@ iterator utility
iterator variant
iterator version
latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
+latch type_traits
latch version
limits type_traits
limits version
@@ -555,6 +564,7 @@ mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex functional
mutex initializer_list
mutex iosfwd
@@ -706,6 +716,8 @@ scoped_allocator variant
scoped_allocator version
semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index 28bf5a5b943c6..cc5075fe139f4 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -74,6 +74,7 @@ barrier ratio
barrier stdexcept
barrier type_traits
barrier variant
+barrier version
bit cstdint
bit cstdlib
bit iosfwd
@@ -162,6 +163,7 @@ condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -462,7 +464,14 @@ iterator utility
iterator variant
iterator version
latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
+latch type_traits
latch version
limits type_traits
limits version
@@ -555,6 +564,7 @@ mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex functional
mutex initializer_list
mutex iosfwd
@@ -706,6 +716,8 @@ scoped_allocator variant
scoped_allocator version
semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index 0d0c9360fc875..4a892ae5e17be 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -72,6 +72,7 @@ barrier ratio
barrier stdexcept
barrier type_traits
barrier variant
+barrier version
bit cstdint
bit cstdlib
bit iosfwd
@@ -169,6 +170,7 @@ condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -468,7 +470,14 @@ iterator utility
iterator variant
iterator version
latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
+latch type_traits
latch version
limits type_traits
limits version
@@ -561,6 +570,7 @@ mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex functional
mutex initializer_list
mutex iosfwd
@@ -712,6 +722,8 @@ scoped_allocator variant
scoped_allocator version
semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
index 755c5cb7cab02..06ee226d91bf8 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
@@ -34,7 +34,6 @@ atomic iosfwd
atomic limits
atomic ratio
atomic version
-barrier atomic
barrier cstddef
barrier cstdint
barrier cstring
@@ -43,6 +42,7 @@ barrier iosfwd
barrier limits
barrier new
barrier ratio
+barrier version
bit cstdint
bit cstdlib
bit limits
@@ -109,11 +109,11 @@ complex stdexcept
complex version
concepts cstddef
concepts version
-condition_variable atomic
condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
condition_variable cstring
+condition_variable ctime
condition_variable initializer_list
condition_variable iosfwd
condition_variable limits
@@ -273,7 +273,6 @@ fstream string
fstream typeinfo
fstream version
functional array
-functional atomic
functional cstddef
functional cstdint
functional cstdlib
@@ -290,7 +289,6 @@ functional typeinfo
functional unordered_map
functional vector
functional version
-future atomic
future cstddef
future cstdint
future cstdlib
@@ -310,7 +308,6 @@ future version
initializer_list cstddef
iomanip istream
iomanip version
-ios atomic
ios cctype
ios cstddef
ios cstdint
@@ -339,8 +336,13 @@ iterator iosfwd
iterator limits
iterator variant
iterator version
-latch atomic
+latch cstddef
+latch cstdint
+latch cstring
+latch ctime
+latch iosfwd
latch limits
+latch ratio
latch version
limits version
list compare
@@ -380,7 +382,6 @@ map optional
map stdexcept
map tuple
map version
-memory atomic
memory compare
memory cstddef
memory cstdint
@@ -402,11 +403,11 @@ memory_resource new
memory_resource stdexcept
memory_resource tuple
memory_resource version
-mutex atomic
mutex cstddef
mutex cstdint
mutex cstdlib
mutex cstring
+mutex ctime
mutex initializer_list
mutex iosfwd
mutex limits
@@ -435,7 +436,6 @@ optional limits
optional new
optional stdexcept
optional version
-ostream atomic
ostream bitset
ostream cstddef
ostream cstdint
@@ -505,8 +505,9 @@ scoped_allocator limits
scoped_allocator new
scoped_allocator tuple
scoped_allocator version
-semaphore atomic
semaphore cstddef
+semaphore cstdint
+semaphore cstring
semaphore ctime
semaphore iosfwd
semaphore limits
diff --git a/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp b/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
index de24bc2580ec6..b2d83f0a6fe88 100644
--- a/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
@@ -14,6 +14,7 @@
#include <atomic>
#include <cassert>
+#include <cstddef>
#include "test_macros.h"
diff --git a/libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
index 34559f0e1382c..058db2dc3ab04 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
@@ -84,8 +84,9 @@
// };
#include <atomic>
-#include <new>
#include <cassert>
+#include <cstdint>
+#include <new>
#include <cmpxchg_loop.h>
diff --git a/libcxx/test/support/atomic_helpers.h b/libcxx/test/support/atomic_helpers.h
index cc8e80cbfcacf..9bc77c9979b1e 100644
--- a/libcxx/test/support/atomic_helpers.h
+++ b/libcxx/test/support/atomic_helpers.h
@@ -10,6 +10,7 @@
#define ATOMIC_HELPERS_H
#include <cassert>
+#include <cstdint>
#include "test_macros.h"
diff --git a/libcxx/utils/data/ignore_format.txt b/libcxx/utils/data/ignore_format.txt
index a4defede15520..387f4c5f36d49 100644
--- a/libcxx/utils/data/ignore_format.txt
+++ b/libcxx/utils/data/ignore_format.txt
@@ -212,7 +212,6 @@ libcxx/include/__algorithm/unwrap_range.h
libcxx/include/__algorithm/upper_bound.h
libcxx/include/any
libcxx/include/array
-libcxx/include/atomic
libcxx/include/__atomic/atomic_base.h
libcxx/include/__atomic/atomic_flag.h
libcxx/include/__atomic/atomic.h
More information about the libcxx-commits
mailing list