[libcxx-commits] [PATCH] D128236: [libc++] Add a test to pin down the set of transitive public includes
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 20 17:51:34 PDT 2022
ldionne created this revision.
Herald added subscribers: miyuki, arphaman, arichardson.
Herald added a project: All.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D128236
Files:
libcxx/test/libcxx/transitive_includes.sh.cpp
libcxx/test/libcxx/transitive_includes/expected.algorithm
libcxx/test/libcxx/transitive_includes/expected.any
libcxx/test/libcxx/transitive_includes/expected.array
libcxx/test/libcxx/transitive_includes/expected.atomic
libcxx/test/libcxx/transitive_includes/expected.barrier
libcxx/test/libcxx/transitive_includes/expected.bit
libcxx/test/libcxx/transitive_includes/expected.bitset
libcxx/test/libcxx/transitive_includes/expected.cassert
libcxx/test/libcxx/transitive_includes/expected.ccomplex
libcxx/test/libcxx/transitive_includes/expected.cctype
libcxx/test/libcxx/transitive_includes/expected.cerrno
libcxx/test/libcxx/transitive_includes/expected.cfenv
libcxx/test/libcxx/transitive_includes/expected.cfloat
libcxx/test/libcxx/transitive_includes/expected.charconv
libcxx/test/libcxx/transitive_includes/expected.chrono
libcxx/test/libcxx/transitive_includes/expected.cinttypes
libcxx/test/libcxx/transitive_includes/expected.ciso646
libcxx/test/libcxx/transitive_includes/expected.climits
libcxx/test/libcxx/transitive_includes/expected.clocale
libcxx/test/libcxx/transitive_includes/expected.cmath
libcxx/test/libcxx/transitive_includes/expected.codecvt
libcxx/test/libcxx/transitive_includes/expected.compare
libcxx/test/libcxx/transitive_includes/expected.complex
libcxx/test/libcxx/transitive_includes/expected.complex.h
libcxx/test/libcxx/transitive_includes/expected.concepts
libcxx/test/libcxx/transitive_includes/expected.condition_variable
libcxx/test/libcxx/transitive_includes/expected.coroutine
libcxx/test/libcxx/transitive_includes/expected.csetjmp
libcxx/test/libcxx/transitive_includes/expected.csignal
libcxx/test/libcxx/transitive_includes/expected.cstdarg
libcxx/test/libcxx/transitive_includes/expected.cstdbool
libcxx/test/libcxx/transitive_includes/expected.cstddef
libcxx/test/libcxx/transitive_includes/expected.cstdint
libcxx/test/libcxx/transitive_includes/expected.cstdio
libcxx/test/libcxx/transitive_includes/expected.cstdlib
libcxx/test/libcxx/transitive_includes/expected.cstring
libcxx/test/libcxx/transitive_includes/expected.ctgmath
libcxx/test/libcxx/transitive_includes/expected.ctime
libcxx/test/libcxx/transitive_includes/expected.ctype.h
libcxx/test/libcxx/transitive_includes/expected.cuchar
libcxx/test/libcxx/transitive_includes/expected.cwchar
libcxx/test/libcxx/transitive_includes/expected.cwctype
libcxx/test/libcxx/transitive_includes/expected.deque
libcxx/test/libcxx/transitive_includes/expected.errno.h
libcxx/test/libcxx/transitive_includes/expected.exception
libcxx/test/libcxx/transitive_includes/expected.execution
libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/expected.experimental_list
libcxx/test/libcxx/transitive_includes/expected.experimental_map
libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/expected.experimental_set
libcxx/test/libcxx/transitive_includes/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/expected.experimental_string
libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/expected.fenv.h
libcxx/test/libcxx/transitive_includes/expected.filesystem
libcxx/test/libcxx/transitive_includes/expected.float.h
libcxx/test/libcxx/transitive_includes/expected.format
libcxx/test/libcxx/transitive_includes/expected.forward_list
libcxx/test/libcxx/transitive_includes/expected.fstream
libcxx/test/libcxx/transitive_includes/expected.functional
libcxx/test/libcxx/transitive_includes/expected.future
libcxx/test/libcxx/transitive_includes/expected.initializer_list
libcxx/test/libcxx/transitive_includes/expected.inttypes.h
libcxx/test/libcxx/transitive_includes/expected.iomanip
libcxx/test/libcxx/transitive_includes/expected.ios
libcxx/test/libcxx/transitive_includes/expected.iosfwd
libcxx/test/libcxx/transitive_includes/expected.iostream
libcxx/test/libcxx/transitive_includes/expected.istream
libcxx/test/libcxx/transitive_includes/expected.iterator
libcxx/test/libcxx/transitive_includes/expected.latch
libcxx/test/libcxx/transitive_includes/expected.limits
libcxx/test/libcxx/transitive_includes/expected.limits.h
libcxx/test/libcxx/transitive_includes/expected.list
libcxx/test/libcxx/transitive_includes/expected.locale
libcxx/test/libcxx/transitive_includes/expected.locale.h
libcxx/test/libcxx/transitive_includes/expected.map
libcxx/test/libcxx/transitive_includes/expected.math.h
libcxx/test/libcxx/transitive_includes/expected.memory
libcxx/test/libcxx/transitive_includes/expected.mutex
libcxx/test/libcxx/transitive_includes/expected.new
libcxx/test/libcxx/transitive_includes/expected.numbers
libcxx/test/libcxx/transitive_includes/expected.numeric
libcxx/test/libcxx/transitive_includes/expected.optional
libcxx/test/libcxx/transitive_includes/expected.ostream
libcxx/test/libcxx/transitive_includes/expected.queue
libcxx/test/libcxx/transitive_includes/expected.random
libcxx/test/libcxx/transitive_includes/expected.ranges
libcxx/test/libcxx/transitive_includes/expected.ratio
libcxx/test/libcxx/transitive_includes/expected.regex
libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/expected.semaphore
libcxx/test/libcxx/transitive_includes/expected.set
libcxx/test/libcxx/transitive_includes/expected.setjmp.h
libcxx/test/libcxx/transitive_includes/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/expected.span
libcxx/test/libcxx/transitive_includes/expected.sstream
libcxx/test/libcxx/transitive_includes/expected.stack
libcxx/test/libcxx/transitive_includes/expected.stdatomic.h
libcxx/test/libcxx/transitive_includes/expected.stdbool.h
libcxx/test/libcxx/transitive_includes/expected.stddef.h
libcxx/test/libcxx/transitive_includes/expected.stdexcept
libcxx/test/libcxx/transitive_includes/expected.stdint.h
libcxx/test/libcxx/transitive_includes/expected.stdio.h
libcxx/test/libcxx/transitive_includes/expected.stdlib.h
libcxx/test/libcxx/transitive_includes/expected.streambuf
libcxx/test/libcxx/transitive_includes/expected.string
libcxx/test/libcxx/transitive_includes/expected.string.h
libcxx/test/libcxx/transitive_includes/expected.string_view
libcxx/test/libcxx/transitive_includes/expected.strstream
libcxx/test/libcxx/transitive_includes/expected.system_error
libcxx/test/libcxx/transitive_includes/expected.tgmath.h
libcxx/test/libcxx/transitive_includes/expected.thread
libcxx/test/libcxx/transitive_includes/expected.tuple
libcxx/test/libcxx/transitive_includes/expected.type_traits
libcxx/test/libcxx/transitive_includes/expected.typeindex
libcxx/test/libcxx/transitive_includes/expected.typeinfo
libcxx/test/libcxx/transitive_includes/expected.uchar.h
libcxx/test/libcxx/transitive_includes/expected.unordered_map
libcxx/test/libcxx/transitive_includes/expected.unordered_set
libcxx/test/libcxx/transitive_includes/expected.utility
libcxx/test/libcxx/transitive_includes/expected.valarray
libcxx/test/libcxx/transitive_includes/expected.variant
libcxx/test/libcxx/transitive_includes/expected.vector
libcxx/test/libcxx/transitive_includes/expected.version
libcxx/test/libcxx/transitive_includes/expected.wchar.h
libcxx/test/libcxx/transitive_includes/expected.wctype.h
libcxx/utils/generate_header_tests.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D128236.438510.patch
Type: text/x-patch
Size: 507741 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220621/92981751/attachment-0001.bin>
More information about the libcxx-commits
mailing list