[libcxx-commits] [PATCH] D142690: [DRAFT][libc++] Fixes the Clang modular build.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jan 27 08:45:14 PST 2023


Mordante updated this revision to Diff 492779.
Mordante added a comment.

Rebased and improve fixes.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142690/new/

https://reviews.llvm.org/D142690

Files:
  clang/lib/run_the_clang_CI
  libcxx/include/module.modulemap.in
  libcxx/utils/ci/generate-buildkite-pipeline


Index: libcxx/utils/ci/generate-buildkite-pipeline
===================================================================
--- libcxx/utils/ci/generate-buildkite-pipeline
+++ libcxx/utils/ci/generate-buildkite-pipeline
@@ -19,7 +19,7 @@
   CLANG_CHANGED=true
 fi
 
-if [[ "${CLANG_CHANGED}" == "true" && "${LIBCXX_CHANGED}" != "true" ]]; then
+if [[ "${CLANG_CHANGED}" == "true" ]]; then
   cat libcxx/utils/ci/buildkite-pipeline-clang.yml
 else
   cat libcxx/utils/ci/buildkite-pipeline.yml
Index: libcxx/include/module.modulemap.in
===================================================================
--- libcxx/include/module.modulemap.in
+++ libcxx/include/module.modulemap.in
@@ -755,13 +755,19 @@
       module derived_from               { private header "__concepts/derived_from.h" }
       module destructible               { private header "__concepts/destructible.h" }
       module different_from             { private header "__concepts/different_from.h" }
-      module equality_comparable        { private header "__concepts/equality_comparable.h" }
+      module equality_comparable {
+        private header "__concepts/equality_comparable.h"
+        export type_traits.common_reference
+      }
       module invocable                  { private header "__concepts/invocable.h" }
       module movable                    { private header "__concepts/movable.h" }
       module predicate                  { private header "__concepts/predicate.h" }
       module regular                    { private header "__concepts/regular.h" }
       module relation                   { private header "__concepts/relation.h" }
-      module same_as                    { private header "__concepts/same_as.h" }
+      module same_as {
+        private header "__concepts/same_as.h"
+        export type_traits.is_same
+      }
       module semiregular                { private header "__concepts/semiregular.h" }
       module swappable                  { private header "__concepts/swappable.h" }
       module totally_ordered            { private header "__concepts/totally_ordered.h" }
@@ -979,7 +985,11 @@
       module back_insert_iterator  { private header "__iterator/back_insert_iterator.h" }
       module bounded_iter          { private header "__iterator/bounded_iter.h" }
       module common_iterator       { private header "__iterator/common_iterator.h" }
-      module concepts              { private header "__iterator/concepts.h" }
+      module concepts {
+        private header "__iterator/concepts.h"
+        export concepts.equality_comparable
+        export type_traits.common_reference
+      }
       module counted_iterator      { private header "__iterator/counted_iterator.h" }
       module data                  { private header "__iterator/data.h" }
       module default_sentinel      { private header "__iterator/default_sentinel.h" }
@@ -1416,7 +1426,10 @@
     module extent                              { private header "__type_traits/extent.h" }
     module has_unique_object_representation    { private header "__type_traits/has_unique_object_representation.h" }
     module has_virtual_destructor              { private header "__type_traits/has_virtual_destructor.h" }
-    module integral_constant                   { private header "__type_traits/integral_constant.h" }
+    module integral_constant                   {
+      private header "__type_traits/integral_constant.h"
+      export type_traits.common_reference
+    }
     module is_abstract                         { private header "__type_traits/is_abstract.h" }
     module is_aggregate                        { private header "__type_traits/is_aggregate.h" }
     module is_allocator                        { private header "__type_traits/is_allocator.h" }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142690.492779.patch
Type: text/x-patch
Size: 3766 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230127/697f0262/attachment.bin>


More information about the libcxx-commits mailing list