[libcxx-commits] [PATCH] D142805: Don't re-export top-level modules.

Vassil Vassilev via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Jan 28 04:22:54 PST 2023


v.g.vassilev created this revision.
v.g.vassilev added reviewers: ldionne, ChuanqiXu.
Herald added a project: All.
v.g.vassilev requested review of this revision.

In https://reviews.llvm.org/D119036 we fixed some of the infrastructure by removing the `textual` keyword.

The underlying issue of PR50592 was that clang can re-export only submodules but under some conditions we needed to re-export the standalone module `std_config` via `std`.

This patch provides a better fix to the symptom D119036 <https://reviews.llvm.org/D119036> fixed.


https://reviews.llvm.org/D142805

Files:
  libcxx/include/module.modulemap.in


Index: libcxx/include/module.modulemap.in
===================================================================
--- libcxx/include/module.modulemap.in
+++ libcxx/include/module.modulemap.in
@@ -2,12 +2,11 @@
 // since __config may be included from C headers which may create an
 // include cycle.
 module std_config [system] [extern_c] {
-  header "__config"
+  textual header "__config"
   export *
 }
 
 module std [system] {
-  export std_config
   // FIXME: The standard does not require that each of these submodules
   // re-exports its imported modules. We should provide an alternative form of
   // export that issues a warning if a name from the submodule is used, and


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142805.492992.patch
Type: text/x-patch
Size: 677 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230128/7f71363e/attachment-0001.bin>


More information about the libcxx-commits mailing list