[all-commits] [llvm/llvm-project] 9992b3: [libc++][Modules] Remove explicit exports from mod...
Ian Anderson via All-commits
all-commits at lists.llvm.org
Wed Jul 5 09:52:17 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9992b386bf3c4972494c5e4f571dff24db59a383
https://github.com/llvm/llvm-project/commit/9992b386bf3c4972494c5e4f571dff24db59a383
Author: Ian Anderson <iana at apple.com>
Date: 2023-07-05 (Wed, 05 Jul 2023)
Changed paths:
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++][Modules] Remove explicit exports from modules that `export *`
This may be a clang bug, but explicit exports interfere with `export *`, especially in local submodule visibility mode. For example, exporting `depr.stdint_h` from `cstdint` causes std::int32_t to become an "unresolved using declaration" in LSV if `cstdint` and `stdint.h` are promoted to top level modules. This was previously worked around by exporting `Darwin.C.stdint` in `depr.stdint_h`, but that only works on Apple platforms, and it stops working when `cstdint` and `stdint.h` are promoted to top level modules.
Remove all of the explicit `export` statements in modules that have `export *`.
Reviewed By: ldionne, Mordante, #libc
Differential Revision: https://reviews.llvm.org/D153212
More information about the All-commits
mailing list