[libcxx-commits] [libcxx] [libc++] Add __assertion_handler to the modulemap (PR #131031)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Mar 20 11:01:48 PDT 2025


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

>From 755233dcabb0ad32e98b4fccab508fa5527d18de Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 12 Mar 2025 14:58:29 -0600
Subject: [PATCH 1/3] [libc++] Add __assertion_handler to the modulemap

That header is generated via CMake, but it is nonetheless present
in the final installation, so it should be covered by the modulemap.

rdar://131418726
---
 libcxx/include/module.modulemap | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 43072aa0fb0f1..cfe9917a57ecc 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -2285,6 +2285,9 @@ module std [system] {
     header "__assert"
     export *
   }
+  module assertion_handler {
+    header "__assertion_handler" // Generated via CMake
+  }
 
   module undef_macros {
     textual header "__undef_macros"

>From e1506d94bcdcc035ae289a29e30ad206c8ff8e56 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 19 Mar 2025 09:43:44 -0400
Subject: [PATCH 2/3] Make textual

---
 libcxx/include/module.modulemap | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index cfe9917a57ecc..37a5c9aa7a36d 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -2286,7 +2286,9 @@ module std [system] {
     export *
   }
   module assertion_handler {
-    header "__assertion_handler" // Generated via CMake
+    // This header is generated via CMake. It must be textual because it may be vendor-provided,
+    // which means that we can't know what to re-export (if anything) in advance.
+    textual header "__assertion_handler"
   }
 
   module undef_macros {

>From a0cd525ffdaecf90e4edb3e01a2314aa04bf03e8 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Thu, 20 Mar 2025 14:01:31 -0400
Subject: [PATCH 3/3] Try export*

---
 libcxx/include/module.modulemap | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 37a5c9aa7a36d..3c92732b52ecf 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -2286,9 +2286,8 @@ module std [system] {
     export *
   }
   module assertion_handler {
-    // This header is generated via CMake. It must be textual because it may be vendor-provided,
-    // which means that we can't know what to re-export (if anything) in advance.
-    textual header "__assertion_handler"
+    header "__assertion_handler" // generated via CMake
+    export *
   }
 
   module undef_macros {



More information about the libcxx-commits mailing list