[libcxx] r289028 - Fix _LIBCPP_VERSION tests with modules on Darwin

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 7 22:37:42 PST 2016


Author: ericwf
Date: Thu Dec  8 00:37:41 2016
New Revision: 289028

URL: http://llvm.org/viewvc/llvm-project?rev=289028&view=rev
Log:
Fix _LIBCPP_VERSION tests with modules on Darwin

Modified:
    libcxx/trunk/include/module.modulemap

Modified: libcxx/trunk/include/module.modulemap
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/module.modulemap?rev=289028&r1=289027&r2=289028&view=diff
==============================================================================
--- libcxx/trunk/include/module.modulemap (original)
+++ libcxx/trunk/include/module.modulemap Thu Dec  8 00:37:41 2016
@@ -1,4 +1,12 @@
+// define the module for __config outside of the top level 'std' module
+// since __config may be included from C headers which may create an
+// include cycle.
+module std_config [system] [extern_c] {
+    header "__config"
+}
+
 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
@@ -463,11 +471,6 @@ module std [system] {
     export *
   }
 
-  // FIXME: We don't have modules for the <foo.h> headers, because they might
-  // be included from the C library's headers, and that would create a #include
-  // cycle. For the same reason, we don't have a module for __config.
-  //module __config { header "__config" export * }
-
   // FIXME: These should be private.
   module __bit_reference { header "__bit_reference" export * }
   module __debug { header "__debug" export * }




More information about the cfe-commits mailing list