[libc++][Modules] std.functional.__functional.invoke and std.type_traits.underlying_t...
authorIan Anderson <iana@apple.com>
Sun, 4 Jun 2023 21:21:50 +0000 (14:21 -0700)
committerIan Anderson <iana@apple.com>
Mon, 3 Jul 2023 20:59:59 +0000 (13:59 -0700)
commitebd2ed2aa88d582aff553e7fbab513d9dad9d0aa
tree60afb3d227cf48d678407fed56caa4a4fe690a17
parent08bfc002885f874afb1e58814c27e2c461aa8130
[libc++][Modules] std.functional.__functional.invoke and std.type_traits.underlying_type can't export std.type_traits

`__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.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D153832
libcxx/include/module.modulemap.in