[libcxx-commits] [libcxx] 064f68f - Don't re-export top-level modules

Vassil Vassilev via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 6 09:35:06 PST 2023


Author: Vassil Vassilev
Date: 2023-02-06T17:33:54Z
New Revision: 064f68f7c45129a90d996a540f8a64d8ef3d3542

URL: https://github.com/llvm/llvm-project/commit/064f68f7c45129a90d996a540f8a64d8ef3d3542
DIFF: https://github.com/llvm/llvm-project/commit/064f68f7c45129a90d996a540f8a64d8ef3d3542.diff

LOG: Don't re-export top-level modules

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 fixed.

Differential revision: https://reviews.llvm.org/D142805

Added: 
    

Modified: 
    libcxx/include/module.modulemap.in

Removed: 
    


################################################################################
diff  --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index 999675069fe73..d1e3b7098dd6a 100644
--- a/libcxx/include/module.modulemap.in
+++ b/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


        


More information about the libcxx-commits mailing list