[libcxx-commits] [libcxx] [libc++][modules] Use submodules for stop_token (PR #107441)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 5 11:17:50 PDT 2024


https://github.com/ldionne created https://github.com/llvm/llvm-project/pull/107441

The std_stop_token module was initially created with private headers, however it turns out that some headers under __stop_token are used outside of __stop_token (e.g. in <condition_variable>), so these must be submodules after all.

>From b1329bd96418252b871b913dcd1816977ccc3f8b Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Thu, 5 Sep 2024 14:16:15 -0400
Subject: [PATCH] [libc++][modules] Use submodules for stop_token

The std_stop_token module was initially created with private headers,
however it turns out that some headers under __stop_token are used
outside of __stop_token (e.g. in <condition_variable>), so these
must be submodules after all.
---
 libcxx/include/module.modulemap | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 3abc11723a5a92..2bed6b1a90a18b 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -294,13 +294,13 @@ module std_stdexcept [system] {
 }
 module std_stop_token [system] {
   header "stop_token"
-  private header "__stop_token/atomic_unique_lock.h"
-  private header "__stop_token/intrusive_list_view.h"
-  private header "__stop_token/intrusive_shared_ptr.h"
-  private header "__stop_token/stop_callback.h"
-  private header "__stop_token/stop_source.h"
-  private header "__stop_token/stop_state.h"
-  private header "__stop_token/stop_token.h"
+  module atomic_unique_lock     { header "__stop_token/atomic_unique_lock.h" }
+  module intrusive_list_view    { header "__stop_token/intrusive_list_view.h" }
+  module intrusive_shared_ptr   { header "__stop_token/intrusive_shared_ptr.h" }
+  module stop_callback          { header "__stop_token/stop_callback.h" }
+  module stop_source            { header "__stop_token/stop_source.h" }
+  module stop_state             { header "__stop_token/stop_state.h" }
+  module stop_token             { header "__stop_token/stop_token.h" }
   export *
 }
 module std_streambuf [system] {



More information about the libcxx-commits mailing list