[libcxx-commits] [PATCH] D150503: [libc++][PSTL] Make the PSTL submodules only have one header
Ian Anderson via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri May 12 18:37:31 PDT 2023
iana created this revision.
iana added reviewers: ldionne, philnik, Mordante, Bigcheese.
Herald added a subscriber: ributzka.
Herald added a project: All.
iana requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
Module map generation for the private detail headers is easier done if each private header is by itself in a submodule. Move the __algorithm/pstl_backends into their own submodules.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D150503
Files:
libcxx/include/module.modulemap.in
libcxx/test/libcxx/lint/lint_modulemap.sh.py
Index: libcxx/test/libcxx/lint/lint_modulemap.sh.py
===================================================================
--- libcxx/test/libcxx/lint/lint_modulemap.sh.py
+++ libcxx/test/libcxx/lint/lint_modulemap.sh.py
@@ -29,6 +29,9 @@
elif re.match(r'^\s*module (\w+)_fwd\s+[{] private header "__fwd/\1[.]h" [}]', line):
# It's a private submodule with forward declarations, such as <__fwd/span.h>.
pass
+ elif re.match(r'^\s*module (?:\w+_)*(\w+)\s+[{] private (textual )?header "__(\w+/)*\1[.]h" [}]', line):
+ # It's a private pstl submodule, such as <__algorithm/pstl_backends/cpu_backend.h>
+ pass
else:
okay = False
print("LINE DOESN'T MATCH REGEX in libcxx/include/module.modulemap.in!")
Index: libcxx/include/module.modulemap.in
===================================================================
--- libcxx/include/module.modulemap.in
+++ libcxx/include/module.modulemap.in
@@ -320,13 +320,22 @@
module partition_point { private header "__algorithm/partition_point.h" }
module pop_heap { private header "__algorithm/pop_heap.h" }
module prev_permutation { private header "__algorithm/prev_permutation.h" }
- module pstl {
- private header "__algorithm/pstl_backends/cpu_backend.h"
+ module pstl_backends_cpu_backend { private header "__algorithm/pstl_backends/cpu_backend.h" }
+ module pstl_backends_cpu_backends_any_of {
private header "__algorithm/pstl_backends/cpu_backends/any_of.h"
+ }
+ module pstl_backends_cpu_backends_backend {
private header "__algorithm/pstl_backends/cpu_backends/backend.h"
- private header "__algorithm/pstl_backends/cpu_backends/fill.h"
+ export *
+ }
+ module pstl_backends_cpu_backends_fill { private header "__algorithm/pstl_backends/cpu_backends/fill.h" }
+ module pstl_backends_cpu_backends_find_if {
private header "__algorithm/pstl_backends/cpu_backends/find_if.h"
+ }
+ module pstl_backends_cpu_backends_for_each {
private header "__algorithm/pstl_backends/cpu_backends/for_each.h"
+ }
+ module pstl_backends_cpu_backends_serial {
private header "__algorithm/pstl_backends/cpu_backends/serial.h"
}
module push_heap { private header "__algorithm/push_heap.h" }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150503.521856.patch
Type: text/x-patch
Size: 2523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230513/e320e3c8/attachment.bin>
More information about the libcxx-commits
mailing list