[libcxx-commits] [libcxx] [libc++] Narrow the exports for common_type (PR #111681)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Oct 9 11:58:02 PDT 2024


https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/111681

>From 103582fae3bb401f5730fd251302596ea3af9dd8 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 9 Oct 2024 10:00:13 -0400
Subject: [PATCH] [libc++] Narrow the exports for common_type

Based on a comment in #99473, it seems like `export *` may be overkill.
---
 libcxx/include/module.modulemap | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 22a1313498e73e..3ea91274a9cc9a 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -73,9 +73,9 @@ module std_core [system] {
     module common_reference                           { header "__type_traits/common_reference.h" }
     module common_type {
       header "__type_traits/common_type.h"
-      // We need to export everything from this module because common_type inherits from __builtin_common_type,
-      // which needs to be re-exported.
-      export *
+      // We need to export those because common_type inherits from either of those based on __builtin_common_type.
+      export std_core.type_traits.type_identity
+      export std_core.utility_core.empty
     }
     module conditional                                { header "__type_traits/conditional.h" }
     module conjunction                                { header "__type_traits/conjunction.h" }



More information about the libcxx-commits mailing list