[llvm-branch-commits] [libcxx] [libc++] Implements the new FTM header test generator. (PR #134542)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun Apr 6 08:06:24 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {darker}-->
:warning: Python code formatter, darker found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
darker --check --diff -r HEAD~1...HEAD libcxx/test/libcxx/feature_test_macro/generate_header_test.sh.py libcxx/test/libcxx/feature_test_macro/implemented_standard_library_headers.sh.py libcxx/test/libcxx/feature_test_macro/standard_library_headers.sh.py libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py libcxx/test/libcxx/feature_test_macro/version_header.sh.py libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py libcxx/utils/generate_feature_test_macro_components.py
``````````
</details>
<details>
<summary>
View the diff from darker here.
</summary>
``````````diff
--- utils/generate_feature_test_macro_components.py 2025-04-06 13:51:32.000000 +0000
+++ utils/generate_feature_test_macro_components.py 2025-04-06 15:05:58.615892 +0000
@@ -2075,10 +2075,11 @@
)
)
return "\n\n".join(result)
+
#
# The templates used to create a FTM test file
#
@@ -2342,16 +2343,17 @@
assert (
len(papers) > 0
), f"{feature['name']}[{std}][{value}] has no entries"
for paper in papers:
if paper["implemented"]:
- for header in self.ftm_metadata[feature["name"]].headers:
+ for header in self.ftm_metadata[
+ feature["name"]
+ ].headers:
result.add(header)
break
return result
-
def is_implemented(self, ftm: Ftm, std: Std) -> bool:
"""Has the FTM `ftm` been implemented in the dialect `std`?"""
# When a paper for C++20 has not been implemented in libc++, then there will be no
@@ -2473,11 +2475,10 @@
)
)
return result
-
def generate_header_test_ftm(self, std: Std, ftm: Ftm, value: FtmHeaderTest) -> str:
"""Adds a single `ftm` test for C++ `std` based on the status information in `value`.
When std == None this test is generating the TEST_STD_VER < MIN. Where
MIN is the minimum version that has a FTM defined. (In the real data
@@ -2512,11 +2513,11 @@
self.generate_header_test_ftm(std, ftm, value)
for element in data
for ftm, value in element.items()
)
- def generate_lit_markup(self, header:str) -> str:
+ def generate_lit_markup(self, header: str) -> str:
if not header in lit_markup.keys():
return ""
return "\n".join(f"// {markup}" for markup in lit_markup[header]) + "\n\n"
``````````
</details>
https://github.com/llvm/llvm-project/pull/134542
More information about the llvm-branch-commits
mailing list