[libcxx-commits] [PATCH] D99309: [libc++] Header inclusion tests

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 24 16:43:51 PDT 2021


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, cjdb, libc++.
Quuxplusone added a project: libc++.
Herald added subscribers: lxfind, jfb, arphaman, arichardson.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

As mandated by the Standard's various synopses, e.g. [iterator.synopsis].
Searching the TeX source for '#include' is a good way to find all of these mandates.

The new tests are all autogenerated by utils/generate_header_inclusion_tests.py.
I was SHOCKED by how many mandates there are, and how many of them libc++ wasn't conforming with.

The `<iterator> --> <concepts>` edge is TODO'ed because that's D99041 <https://reviews.llvm.org/D99041> / D99044 <https://reviews.llvm.org/D99044>.
All the other TODO'ed edges are because one or the other header doesn't exist in libc++ at all, yet (<ranges>, <coroutine>, <syncstream>).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D99309

Files:
  libcxx/include/chrono
  libcxx/include/deque
  libcxx/include/filesystem
  libcxx/include/iterator
  libcxx/include/map
  libcxx/include/memory
  libcxx/include/optional
  libcxx/include/queue
  libcxx/include/regex
  libcxx/include/set
  libcxx/include/stack
  libcxx/include/streambuf
  libcxx/include/string
  libcxx/include/string_view
  libcxx/include/system_error
  libcxx/include/tuple
  libcxx/include/typeindex
  libcxx/include/unordered_map
  libcxx/include/unordered_set
  libcxx/include/utility
  libcxx/include/variant
  libcxx/include/vector
  libcxx/test/libcxx/inclusions/algorithm.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/array.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/bitset.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/chrono.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/cinttypes.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/complex.h.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/deque.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/filesystem.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/forward_list.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/ios.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/iostream.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/iterator.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/list.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/map.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/memory.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/optional.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/queue.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/random.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/regex.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/set.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/stack.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/string.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/string_view.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/system_error.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/tgmath.h.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/thread.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/tuple.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/typeindex.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/unordered_map.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/unordered_set.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/utility.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/valarray.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/variant.inclusions.pass.cpp
  libcxx/test/libcxx/inclusions/vector.inclusions.pass.cpp
  libcxx/utils/generate_header_inclusion_tests.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99309.333176.patch
Type: text/x-patch
Size: 59982 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210324/e1ab2f5e/attachment-0001.bin>


More information about the libcxx-commits mailing list