[all-commits] [llvm/llvm-project] 385cc2: [libc++] Ensure that all public C++ headers includ...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Wed Mar 30 12:05:48 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 385cc25a531a72c393cee44689e2c3194615bcec
https://github.com/llvm/llvm-project/commit/385cc25a531a72c393cee44689e2c3194615bcec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2022-03-30 (Wed, 30 Mar 2022)
Changed paths:
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/experimental/algorithm
M libcxx/include/experimental/coroutine
M libcxx/include/experimental/deque
M libcxx/include/experimental/forward_list
M libcxx/include/experimental/functional
M libcxx/include/experimental/iterator
M libcxx/include/experimental/list
M libcxx/include/experimental/map
M libcxx/include/experimental/memory_resource
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/regex
M libcxx/include/experimental/set
M libcxx/include/experimental/simd
M libcxx/include/experimental/string
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/unordered_map
M libcxx/include/experimental/unordered_set
M libcxx/include/experimental/utility
M libcxx/include/experimental/vector
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdbool.h
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/system_error
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/test/libcxx/assertions/assertions_disabled.pass.cpp
M libcxx/test/libcxx/assertions/customize_handler.backdeployment.pass.cpp
M libcxx/test/libcxx/assertions/customize_handler.pass.cpp
M libcxx/test/libcxx/assertions/debug_mode_compatibility.pass.cpp
M libcxx/test/libcxx/assertions/default_handler.abort.pass.cpp
M libcxx/test/libcxx/assertions/default_handler.availability.verify.cpp
A libcxx/test/libcxx/assertions/headers_declare_assertion_handler.sh.cpp
M libcxx/utils/CMakeLists.txt
A libcxx/utils/generate_assertion_tests.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Ensure that all public C++ headers include <__assert>
This patch changes the requirement for getting the declaration of the
assertion handler from including <__assert> to including any public
C++ header of the library. Note that C compatibility headers are
excluded because we don't implement all the C headers ourselves --
some of them are taken straight from the C library, like assert.h.
It also adds a generated test to check it. Furthermore, this new
generated test is designed in a way that will make it possible to
replace almost all the existing test-generation scripts with this
system in upcoming patches.
Differential Revision: https://reviews.llvm.org/D122506
More information about the All-commits
mailing list