[clang] [flang] [llvm] [openmp] [Flang][OpenMP] Move builtin .mod generation into runtimes (PR #137828)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 17 06:07:20 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 flang/test/lit.cfg.py
``````````
</details>
<details>
<summary>
View the diff from darker here.
</summary>
``````````diff
--- lit.cfg.py 2025-07-17 12:09:57.000000 +0000
+++ lit.cfg.py 2025-07-17 13:06:52.649010 +0000
@@ -126,43 +126,57 @@
# Check for DEFAULT_SYSROOT, because when it is set -isysroot has no effect.
if config.default_sysroot:
config.available_features.add("default_sysroot")
-flang_exe = lit.util.which("flang", config.flang_llvm_tools_dir)
+flang_exe = lit.util.which("flang", config.flang_llvm_tools_dir)
if not flang_exe:
lit_config.fatal(f"Could not identify flang executable")
+
def get_resource_module_intrinsic_dir():
# Determine the intrinsic module search path that is added by the driver. If
# skipping the driver using -fc1, we need to append the path manually.
- flang_intrinsics_dir = subprocess.check_output([flang_exe, "-print-file-name=__fortran_builtins.mod"], text=True).strip()
+ flang_intrinsics_dir = subprocess.check_output(
+ [flang_exe, "-print-file-name=__fortran_builtins.mod"], text=True
+ ).strip()
if not flang_intrinsics_dir:
return None
flang_intrinsics_dir = os.path.dirname(flang_intrinsics_dir)
return flang_intrinsics_dir
+
intrinsics_search_args = []
if flang_intrinsics_dir := get_resource_module_intrinsic_dir():
- intrinsics_search_args += ["-fintrinsic-modules-path",flang_intrinsics_dir]
+ intrinsics_search_args += ["-fintrinsic-modules-path", flang_intrinsics_dir]
lit_config.note(f"using default module intrinsics: {flang_intrinsics_dir}")
extra_intrinsics_search_args = []
if config.flang_intrinsic_modules_dir:
- extra_intrinsics_search_args += ["-fintrinsic-modules-path", config.flang_intrinsic_modules_dir]
- lit_config.note(f"using extra module intrinsics: {config.flang_intrinsic_modules_dir}")
-
-config.substitutions.append(("%intrinsic_module_flags", ' '.join(intrinsics_search_args + extra_intrinsics_search_args)))
+ extra_intrinsics_search_args += [
+ "-fintrinsic-modules-path",
+ config.flang_intrinsic_modules_dir,
+ ]
+ lit_config.note(
+ f"using extra module intrinsics: {config.flang_intrinsic_modules_dir}"
+ )
+
+config.substitutions.append(
+ (
+ "%intrinsic_module_flags",
+ " ".join(intrinsics_search_args + extra_intrinsics_search_args),
+ )
+)
# For each occurrence of a flang tool name, replace it with the full path to
# the build directory holding that tool.
tools = [
ToolSubst(
"bbc",
- command=FindTool("bbc"),
- extra_args=intrinsics_search_args + extra_intrinsics_search_args,
- unresolved="fatal",
+ command=FindTool("bbc"),
+ extra_args=intrinsics_search_args + extra_intrinsics_search_args,
+ unresolved="fatal",
),
ToolSubst(
"%flang",
command=FindTool("flang"),
extra_args=isysroot_flag + extra_intrinsics_search_args,
@@ -172,16 +186,15 @@
"%flang_fc1",
command=FindTool("flang"),
extra_args=["-fc1"] + intrinsics_search_args + extra_intrinsics_search_args,
unresolved="fatal",
),
-
# For not having intrinsic search paths to be added implicitly
ToolSubst(
- "%bbc_bare",
- command=FindTool("bbc"),
- unresolved="fatal",
+ "%bbc_bare",
+ command=FindTool("bbc"),
+ unresolved="fatal",
),
ToolSubst(
"%flang_bare",
command=FindTool("flang"),
extra_args=isysroot_flag,
@@ -223,14 +236,14 @@
config.environment["LIBPGMATH"] = True
# If intrinsic modules are not available, disable tests unless they are marked as 'module-independent'.
config.available_features.add("module-independent")
if config.have_flangrt_mod or config.flang_intrinsic_modules_dir:
- config.available_features.add("flangrt-modules")
-else:
- lit_config.warning(f"Intrinsic modules not available: disabling most tests")
- config.limit_to_features.add("module-independent")
+ config.available_features.add("flangrt-modules")
+else:
+ lit_config.warning(f"Intrinsic modules not available: disabling most tests")
+ config.limit_to_features.add("module-independent")
# Determine if OpenMP runtime was built (enable OpenMP tests via REQUIRES in test file)
openmp_flags_substitution = "-fopenmp"
if config.have_openmp_rtl:
config.available_features.add("openmp_runtime")
``````````
</details>
https://github.com/llvm/llvm-project/pull/137828
More information about the cfe-commits
mailing list