[all-commits] [llvm/llvm-project] 23d6cd: [libc++] Add a test to pin down the set of transit...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Thu Jun 23 13:24:14 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 23d6cde14de352e05c66ae34cd237e3a7a8955d1
https://github.com/llvm/llvm-project/commit/23d6cde14de352e05c66ae34cd237e3a7a8955d1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2022-06-23 (Thu, 23 Jun 2022)
Changed paths:
M libcxx/include/__debug
M libcxx/include/locale
R libcxx/test/libcxx/lint/lit.local.cfg
A libcxx/test/libcxx/lit.local.cfg
M libcxx/test/libcxx/selftest/dsl/lit.local.cfg
A libcxx/test/libcxx/transitive_includes.sanitize.py
A libcxx/test/libcxx/transitive_includes.sh.cpp
A libcxx/test/libcxx/transitive_includes/expected.algorithm
A libcxx/test/libcxx/transitive_includes/expected.any
A libcxx/test/libcxx/transitive_includes/expected.array
A libcxx/test/libcxx/transitive_includes/expected.atomic
A libcxx/test/libcxx/transitive_includes/expected.barrier
A libcxx/test/libcxx/transitive_includes/expected.bit
A libcxx/test/libcxx/transitive_includes/expected.bitset
A libcxx/test/libcxx/transitive_includes/expected.cassert
A libcxx/test/libcxx/transitive_includes/expected.ccomplex
A libcxx/test/libcxx/transitive_includes/expected.cctype
A libcxx/test/libcxx/transitive_includes/expected.cerrno
A libcxx/test/libcxx/transitive_includes/expected.cfenv
A libcxx/test/libcxx/transitive_includes/expected.cfloat
A libcxx/test/libcxx/transitive_includes/expected.charconv
A libcxx/test/libcxx/transitive_includes/expected.chrono
A libcxx/test/libcxx/transitive_includes/expected.cinttypes
A libcxx/test/libcxx/transitive_includes/expected.ciso646
A libcxx/test/libcxx/transitive_includes/expected.climits
A libcxx/test/libcxx/transitive_includes/expected.clocale
A libcxx/test/libcxx/transitive_includes/expected.cmath
A libcxx/test/libcxx/transitive_includes/expected.codecvt
A libcxx/test/libcxx/transitive_includes/expected.compare
A libcxx/test/libcxx/transitive_includes/expected.complex
A libcxx/test/libcxx/transitive_includes/expected.concepts
A libcxx/test/libcxx/transitive_includes/expected.condition_variable
A libcxx/test/libcxx/transitive_includes/expected.coroutine
A libcxx/test/libcxx/transitive_includes/expected.csetjmp
A libcxx/test/libcxx/transitive_includes/expected.csignal
A libcxx/test/libcxx/transitive_includes/expected.cstdarg
A libcxx/test/libcxx/transitive_includes/expected.cstdbool
A libcxx/test/libcxx/transitive_includes/expected.cstddef
A libcxx/test/libcxx/transitive_includes/expected.cstdint
A libcxx/test/libcxx/transitive_includes/expected.cstdio
A libcxx/test/libcxx/transitive_includes/expected.cstdlib
A libcxx/test/libcxx/transitive_includes/expected.cstring
A libcxx/test/libcxx/transitive_includes/expected.ctgmath
A libcxx/test/libcxx/transitive_includes/expected.ctime
A libcxx/test/libcxx/transitive_includes/expected.cuchar
A libcxx/test/libcxx/transitive_includes/expected.cwchar
A libcxx/test/libcxx/transitive_includes/expected.cwctype
A libcxx/test/libcxx/transitive_includes/expected.deque
A libcxx/test/libcxx/transitive_includes/expected.exception
A libcxx/test/libcxx/transitive_includes/expected.execution
A libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
A libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
A libcxx/test/libcxx/transitive_includes/expected.experimental_deque
A libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
A libcxx/test/libcxx/transitive_includes/expected.experimental_functional
A libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
A libcxx/test/libcxx/transitive_includes/expected.experimental_list
A libcxx/test/libcxx/transitive_includes/expected.experimental_map
A libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
A libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
A libcxx/test/libcxx/transitive_includes/expected.experimental_regex
A libcxx/test/libcxx/transitive_includes/expected.experimental_set
A libcxx/test/libcxx/transitive_includes/expected.experimental_simd
A libcxx/test/libcxx/transitive_includes/expected.experimental_string
A libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
A libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
A libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
A libcxx/test/libcxx/transitive_includes/expected.experimental_utility
A libcxx/test/libcxx/transitive_includes/expected.experimental_vector
A libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
A libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
A libcxx/test/libcxx/transitive_includes/expected.filesystem
A libcxx/test/libcxx/transitive_includes/expected.format
A libcxx/test/libcxx/transitive_includes/expected.forward_list
A libcxx/test/libcxx/transitive_includes/expected.fstream
A libcxx/test/libcxx/transitive_includes/expected.functional
A libcxx/test/libcxx/transitive_includes/expected.future
A libcxx/test/libcxx/transitive_includes/expected.initializer_list
A libcxx/test/libcxx/transitive_includes/expected.iomanip
A libcxx/test/libcxx/transitive_includes/expected.ios
A libcxx/test/libcxx/transitive_includes/expected.iosfwd
A libcxx/test/libcxx/transitive_includes/expected.iostream
A libcxx/test/libcxx/transitive_includes/expected.istream
A libcxx/test/libcxx/transitive_includes/expected.iterator
A libcxx/test/libcxx/transitive_includes/expected.latch
A libcxx/test/libcxx/transitive_includes/expected.limits
A libcxx/test/libcxx/transitive_includes/expected.list
A libcxx/test/libcxx/transitive_includes/expected.locale
A libcxx/test/libcxx/transitive_includes/expected.map
A libcxx/test/libcxx/transitive_includes/expected.memory
A libcxx/test/libcxx/transitive_includes/expected.mutex
A libcxx/test/libcxx/transitive_includes/expected.new
A libcxx/test/libcxx/transitive_includes/expected.numbers
A libcxx/test/libcxx/transitive_includes/expected.numeric
A libcxx/test/libcxx/transitive_includes/expected.optional
A libcxx/test/libcxx/transitive_includes/expected.ostream
A libcxx/test/libcxx/transitive_includes/expected.queue
A libcxx/test/libcxx/transitive_includes/expected.random
A libcxx/test/libcxx/transitive_includes/expected.ranges
A libcxx/test/libcxx/transitive_includes/expected.ratio
A libcxx/test/libcxx/transitive_includes/expected.regex
A libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
A libcxx/test/libcxx/transitive_includes/expected.semaphore
A libcxx/test/libcxx/transitive_includes/expected.set
A libcxx/test/libcxx/transitive_includes/expected.shared_mutex
A libcxx/test/libcxx/transitive_includes/expected.span
A libcxx/test/libcxx/transitive_includes/expected.sstream
A libcxx/test/libcxx/transitive_includes/expected.stack
A libcxx/test/libcxx/transitive_includes/expected.stdexcept
A libcxx/test/libcxx/transitive_includes/expected.streambuf
A libcxx/test/libcxx/transitive_includes/expected.string
A libcxx/test/libcxx/transitive_includes/expected.string_view
A libcxx/test/libcxx/transitive_includes/expected.strstream
A libcxx/test/libcxx/transitive_includes/expected.system_error
A libcxx/test/libcxx/transitive_includes/expected.thread
A libcxx/test/libcxx/transitive_includes/expected.tuple
A libcxx/test/libcxx/transitive_includes/expected.type_traits
A libcxx/test/libcxx/transitive_includes/expected.typeindex
A libcxx/test/libcxx/transitive_includes/expected.typeinfo
A libcxx/test/libcxx/transitive_includes/expected.unordered_map
A libcxx/test/libcxx/transitive_includes/expected.unordered_set
A libcxx/test/libcxx/transitive_includes/expected.utility
A libcxx/test/libcxx/transitive_includes/expected.valarray
A libcxx/test/libcxx/transitive_includes/expected.variant
A libcxx/test/libcxx/transitive_includes/expected.vector
A libcxx/test/libcxx/transitive_includes/expected.version
M libcxx/utils/generate_header_tests.py
Log Message:
-----------
[libc++] Add a test to pin down the set of transitive public includes
A situation that happens fairly often in libc++ is that we remove some
transitive includes in a header (either purposefully or not) and that
ends up breaking users. Of course, we want to be able to remove our
transitive includes, however it's also good to have a grip on that
to know which commit changed what and when. Furthermore, it's good
to accumulate include removals for a couple of releases to avoid
breaking users at every release for this reason.
This commit adds a test that should break whenever we remove an
include. Hence, it should allow us to track which headers include
which other headers transitively, giving us a traceable way to
remove headers.
Differential Revision: https://reviews.llvm.org/D128236
More information about the All-commits
mailing list