[libcxx-commits] [PATCH] D153832: [libc++][Modules] std.functional.__functional.invoke and std.type_traits.underlying_type can't export std.type_traits

Ian Anderson via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 26 21:28:47 PDT 2023


iana created this revision.
iana added reviewers: ldionne, Mordante, Bigcheese.
Herald added subscribers: ributzka, arichardson.
Herald added a project: All.
iana requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

__functional/invoke.h currently only includes __type_traits/invoke.h and not all of type_traits. Keep it using the specific header, and update its export. Similarly, __type_traits/underlying_type.h currently only includes __type_traits/is_enum.h, so update its export as well. This requires adding lots of export statements to the module map to keep the transitive includes working. Adding direct includes to the headers fixes check-cxx, but leaves many `run-buildbot generic-modules` tests failing, some even with linker errors.

Add a tool to print the include paths from one header/source to a target header file to assist in adding the necessary chain of exports.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153832

Files:
  libcxx/include/module.modulemap.in
  libcxx/utils/find_transitive_includes.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153832.534831.patch
Type: text/x-patch
Size: 36747 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230627/71cf8fed/attachment-0001.bin>


More information about the libcxx-commits mailing list