Skip to content

[clang][ModulesDriver] Add support for Clang modules to -fmodules-driver#187606

Merged
naveen-seth merged 5 commits intollvm:mainfrom
naveen-seth:modules-driver-clang-modules-only
Apr 8, 2026
Merged

[clang][ModulesDriver] Add support for Clang modules to -fmodules-driver#187606
naveen-seth merged 5 commits intollvm:mainfrom
naveen-seth:modules-driver-clang-modules-only

Conversation

@naveen-seth
Copy link
Copy Markdown
Contributor

This PR adds basic support for explicit module builds using Clang modules only, managed natively by the Clang driver.
(Caching of built modules is not included in this PR.)

RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' labels Mar 19, 2026
@naveen-seth naveen-seth added clang:modules C++20 modules and Clang Header Modules and removed clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' labels Mar 19, 2026
@llvmbot
Copy link
Copy Markdown
Member

llvmbot commented Mar 19, 2026

@llvm/pr-subscribers-clang-driver
@llvm/pr-subscribers-clang-modules

@llvm/pr-subscribers-clang

Author: Naveen Seth Hanig (naveen-seth)

Changes

This PR adds basic support for explicit module builds using Clang modules only, managed natively by the Clang driver.
(Caching of built modules is not included in this PR.)

RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system


Full diff: https://github.com/llvm/llvm-project/pull/187606.diff

3 Files Affected:

  • (modified) clang/lib/Driver/ModulesDriver.cpp (+9-5)
  • (added) clang/test/Driver/modules-driver-clang-modules-only.cpp (+75)
  • (modified) clang/test/Driver/modules-driver-manifest-input-args.cpp (+5-11)
diff --git a/clang/lib/Driver/ModulesDriver.cpp b/clang/lib/Driver/ModulesDriver.cpp
index 8740f9615d304..166c7749245c6 100644
--- a/clang/lib/Driver/ModulesDriver.cpp
+++ b/clang/lib/Driver/ModulesDriver.cpp
@@ -25,6 +25,7 @@
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/DepthFirstIterator.h"
 #include "llvm/ADT/DirectedGraph.h"
+#include "llvm/ADT/PostOrderIterator.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVectorExtras.h"
 #include "llvm/ADT/TypeSwitch.h"
@@ -1528,9 +1529,12 @@ void driver::modules::runModulesDriver(
   // TODO: Install all updated command-lines produced by the dependency scan.
   // TODO: Fix-up command-lines for named module imports.
 
-  // TODO: Sort the graph topologically before adding jobs back to the
-  // Compilation being built.
-  for (auto *N : Graph)
-    if (auto *JN = dyn_cast<JobNode>(N))
-      C.addCommand(std::move(JN->Job));
+  llvm::ReversePostOrderTraversal<CompilationGraph *> TopologicallySortedNodes(
+      &Graph);
+  assert(isa<RootNode>(*TopologicallySortedNodes.begin()) &&
+         "First node in topological order must be the root!");
+  auto TopologicallySortedJobNodes = llvm::map_range(
+      llvm::drop_begin(TopologicallySortedNodes), llvm::CastTo<JobNode>);
+  for (auto *JN : TopologicallySortedJobNodes)
+    C.addCommand(std::move(JN->Job));
 }
diff --git a/clang/test/Driver/modules-driver-clang-modules-only.cpp b/clang/test/Driver/modules-driver-clang-modules-only.cpp
new file mode 100644
index 0000000000000..e99ce7883afba
--- /dev/null
+++ b/clang/test/Driver/modules-driver-clang-modules-only.cpp
@@ -0,0 +1,75 @@
+// Checks that -fmodules-driver correctly handles compilations using Clang modules.
+
+// RUN: split-file %s %t
+// RUN: rm -rf %t/modules-cache
+// RUN: %clang -std=c++23 \
+// RUN: -fmodules-driver -Rmodules-driver \
+// RUN: -fmodules -Rmodule-import \
+// RUN: -fmodule-map-file=%t/module.modulemap \
+// RUN: -fmodules-cache-path=%t/modules-cache \
+// RUN: -fsyntax-only %t/main.cpp 2>&1 \
+// RUN: | sed 's:\\\\\?:/:g' \
+// RUN: | FileCheck -DPREFIX=%/t %s
+
+// The scan itself will also produce [-Rmodule-import] remarks.
+// Let's skip past them, we only care about the final -cc1 commands.
+// CHECK:       clang: remark: printing module dependency graph [-Rmodules-driver]
+// CHECK-NEXT:  digraph "Module Dependency Graph" {
+// CHECK:       }
+
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'root' from
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'direct1' into 'root'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive1' into 'direct1'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive2' into 'direct1'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'direct2' into 'root'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive2' into 'direct2'
+
+// (Because of missing include guards, this example would also run into
+// redefinition errors when compiling without modules.)
+
+/--- module.modulemap
+module root { header "root.h"}
+module transitive1 { header "transitive1.h" }
+module transitive2 { header "transitive2.h" }
+module direct1 { header "direct1.h" }
+module direct2 { header "direct2.h" }
+
+//--- root.h
+#include "direct1.h"
+#include "direct2.h"
+int fromRoot() {
+  return fromDirect1() + fromDirect2();
+}
+
+//--- direct1.h
+#include "transitive1.h"
+#include "transitive2.h"
+
+int fromDirect1() {
+  return fromTransitive1() + fromTransitive2();
+}
+
+//--- direct2.h
+#include "transitive2.h"
+
+int fromDirect2() {
+  return fromTransitive2() + 2;
+}
+
+//--- transitive1.h
+int fromTransitive1() {
+    return 20;
+}
+
+//--- transitive2.h
+
+int fromTransitive2() {
+    return 10;
+}
+
+//--- main.cpp
+#include "root.h"
+
+int main() {
+ fromRoot();
+}
diff --git a/clang/test/Driver/modules-driver-manifest-input-args.cpp b/clang/test/Driver/modules-driver-manifest-input-args.cpp
index 99765a1943faf..6e3c7ac4c3eff 100644
--- a/clang/test/Driver/modules-driver-manifest-input-args.cpp
+++ b/clang/test/Driver/modules-driver-manifest-input-args.cpp
@@ -25,18 +25,12 @@
 // RUN:   -fmodules-cache-path=%t/modules-cache \
 // RUN:   %t/main.cpp \
 // RUN:   -### 2>&1 \
-// RUN:   | sed 's:\\\\\?:/:g' \
-// RUN:   | FileCheck %s -check-prefix=MAIN-CC1 -check-prefix=STDLIB-MOD-CC1 -DPREFIX=%/t
+// RUN:   | sed 's/\\/\//g' \
+// RUN:   | FileCheck %s -DPREFIX=%/t
 
-// MAIN-CC1: "-cc1"
-// MAIN-CC1-SAME: "main.cpp"
-// MAIN-CC1-NOT: "-Wno-reserved-module-identifier"
-// MAIN-CC1-NOT: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
-
-// STDLIB-MOD-CC1: "-cc1"
-// STDLIB-MOD-CC1-SAME: "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/std.cppm"
-// STDLIB-MOD-CC1-SAME: "-Wno-reserved-module-identifier"
-// STDLIB-MOD-CC1-SAME: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
+// CHECK: "-cc1" {{.*}} "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/std.cppm"
+// CHECK-SAME: "-Wno-reserved-module-identifier"
+// CHECK-SAME: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
 
 //--- main.cpp
 import std;

@llvmbot
Copy link
Copy Markdown
Member

llvmbot commented Mar 19, 2026

@llvm/pr-subscribers-clang-driver

Author: Naveen Seth Hanig (naveen-seth)

Changes

This PR adds basic support for explicit module builds using Clang modules only, managed natively by the Clang driver.
(Caching of built modules is not included in this PR.)

RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system


Full diff: https://github.com/llvm/llvm-project/pull/187606.diff

3 Files Affected:

  • (modified) clang/lib/Driver/ModulesDriver.cpp (+9-5)
  • (added) clang/test/Driver/modules-driver-clang-modules-only.cpp (+75)
  • (modified) clang/test/Driver/modules-driver-manifest-input-args.cpp (+5-11)
diff --git a/clang/lib/Driver/ModulesDriver.cpp b/clang/lib/Driver/ModulesDriver.cpp
index 8740f9615d304..166c7749245c6 100644
--- a/clang/lib/Driver/ModulesDriver.cpp
+++ b/clang/lib/Driver/ModulesDriver.cpp
@@ -25,6 +25,7 @@
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/DepthFirstIterator.h"
 #include "llvm/ADT/DirectedGraph.h"
+#include "llvm/ADT/PostOrderIterator.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVectorExtras.h"
 #include "llvm/ADT/TypeSwitch.h"
@@ -1528,9 +1529,12 @@ void driver::modules::runModulesDriver(
   // TODO: Install all updated command-lines produced by the dependency scan.
   // TODO: Fix-up command-lines for named module imports.
 
-  // TODO: Sort the graph topologically before adding jobs back to the
-  // Compilation being built.
-  for (auto *N : Graph)
-    if (auto *JN = dyn_cast<JobNode>(N))
-      C.addCommand(std::move(JN->Job));
+  llvm::ReversePostOrderTraversal<CompilationGraph *> TopologicallySortedNodes(
+      &Graph);
+  assert(isa<RootNode>(*TopologicallySortedNodes.begin()) &&
+         "First node in topological order must be the root!");
+  auto TopologicallySortedJobNodes = llvm::map_range(
+      llvm::drop_begin(TopologicallySortedNodes), llvm::CastTo<JobNode>);
+  for (auto *JN : TopologicallySortedJobNodes)
+    C.addCommand(std::move(JN->Job));
 }
diff --git a/clang/test/Driver/modules-driver-clang-modules-only.cpp b/clang/test/Driver/modules-driver-clang-modules-only.cpp
new file mode 100644
index 0000000000000..e99ce7883afba
--- /dev/null
+++ b/clang/test/Driver/modules-driver-clang-modules-only.cpp
@@ -0,0 +1,75 @@
+// Checks that -fmodules-driver correctly handles compilations using Clang modules.
+
+// RUN: split-file %s %t
+// RUN: rm -rf %t/modules-cache
+// RUN: %clang -std=c++23 \
+// RUN: -fmodules-driver -Rmodules-driver \
+// RUN: -fmodules -Rmodule-import \
+// RUN: -fmodule-map-file=%t/module.modulemap \
+// RUN: -fmodules-cache-path=%t/modules-cache \
+// RUN: -fsyntax-only %t/main.cpp 2>&1 \
+// RUN: | sed 's:\\\\\?:/:g' \
+// RUN: | FileCheck -DPREFIX=%/t %s
+
+// The scan itself will also produce [-Rmodule-import] remarks.
+// Let's skip past them, we only care about the final -cc1 commands.
+// CHECK:       clang: remark: printing module dependency graph [-Rmodules-driver]
+// CHECK-NEXT:  digraph "Module Dependency Graph" {
+// CHECK:       }
+
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'root' from
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'direct1' into 'root'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive1' into 'direct1'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive2' into 'direct1'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'direct2' into 'root'
+// CHECK:      [[PREFIX]]/main.cpp:1:2: remark: importing module 'transitive2' into 'direct2'
+
+// (Because of missing include guards, this example would also run into
+// redefinition errors when compiling without modules.)
+
+/--- module.modulemap
+module root { header "root.h"}
+module transitive1 { header "transitive1.h" }
+module transitive2 { header "transitive2.h" }
+module direct1 { header "direct1.h" }
+module direct2 { header "direct2.h" }
+
+//--- root.h
+#include "direct1.h"
+#include "direct2.h"
+int fromRoot() {
+  return fromDirect1() + fromDirect2();
+}
+
+//--- direct1.h
+#include "transitive1.h"
+#include "transitive2.h"
+
+int fromDirect1() {
+  return fromTransitive1() + fromTransitive2();
+}
+
+//--- direct2.h
+#include "transitive2.h"
+
+int fromDirect2() {
+  return fromTransitive2() + 2;
+}
+
+//--- transitive1.h
+int fromTransitive1() {
+    return 20;
+}
+
+//--- transitive2.h
+
+int fromTransitive2() {
+    return 10;
+}
+
+//--- main.cpp
+#include "root.h"
+
+int main() {
+ fromRoot();
+}
diff --git a/clang/test/Driver/modules-driver-manifest-input-args.cpp b/clang/test/Driver/modules-driver-manifest-input-args.cpp
index 99765a1943faf..6e3c7ac4c3eff 100644
--- a/clang/test/Driver/modules-driver-manifest-input-args.cpp
+++ b/clang/test/Driver/modules-driver-manifest-input-args.cpp
@@ -25,18 +25,12 @@
 // RUN:   -fmodules-cache-path=%t/modules-cache \
 // RUN:   %t/main.cpp \
 // RUN:   -### 2>&1 \
-// RUN:   | sed 's:\\\\\?:/:g' \
-// RUN:   | FileCheck %s -check-prefix=MAIN-CC1 -check-prefix=STDLIB-MOD-CC1 -DPREFIX=%/t
+// RUN:   | sed 's/\\/\//g' \
+// RUN:   | FileCheck %s -DPREFIX=%/t
 
-// MAIN-CC1: "-cc1"
-// MAIN-CC1-SAME: "main.cpp"
-// MAIN-CC1-NOT: "-Wno-reserved-module-identifier"
-// MAIN-CC1-NOT: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
-
-// STDLIB-MOD-CC1: "-cc1"
-// STDLIB-MOD-CC1-SAME: "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/std.cppm"
-// STDLIB-MOD-CC1-SAME: "-Wno-reserved-module-identifier"
-// STDLIB-MOD-CC1-SAME: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
+// CHECK: "-cc1" {{.*}} "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/std.cppm"
+// CHECK-SAME: "-Wno-reserved-module-identifier"
+// CHECK-SAME: "-internal-isystem" "[[PREFIX]]/Inputs/usr/lib/x86_64-linux-gnu/../share/libc++/v1/"
 
 //--- main.cpp
 import std;

@naveen-seth naveen-seth added clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' labels Mar 19, 2026
This PR adds basic support for Clang modules to the -fmodules-driver
feature, enabling compilations with Clang modules managed natively by
the Clang driver.
Caching is not included in this PR.

RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
@naveen-seth naveen-seth force-pushed the modules-driver-clang-modules-only branch from 7aacab7 to c48ed20 Compare March 19, 2026 23:09
@naveen-seth naveen-seth requested a review from ChuanqiXu9 March 23, 2026 08:07
Copy link
Copy Markdown
Contributor

@qiongsiwu qiongsiwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! The code change looks reasonable to me. I have a few questions about the tests. Our new tests still pass even without the source change and that's a bit confusing to me.

Comment thread clang/test/Driver/modules-driver-clang-modules-only.cpp Outdated
Comment thread clang/test/Driver/modules-driver-manifest-input-args.cpp Outdated
@naveen-seth naveen-seth requested a review from qiongsiwu April 2, 2026 01:22
@naveen-seth
Copy link
Copy Markdown
Contributor Author

Gentle ping for review

@naveen-seth naveen-seth requested a review from cyndyishida April 7, 2026 17:25
Copy link
Copy Markdown
Contributor

@qiongsiwu qiongsiwu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Sorry about the delay! Overall LGTM! I have two inline comments.

Comment thread clang/lib/Driver/ModulesDriver.cpp Outdated
Comment thread clang/test/Driver/modules-driver-clang-modules-only.cpp
@naveen-seth naveen-seth requested a review from qiongsiwu April 8, 2026 22:52
@naveen-seth naveen-seth enabled auto-merge (squash) April 8, 2026 22:56
@naveen-seth naveen-seth merged commit 6cb4f39 into llvm:main Apr 8, 2026
9 of 10 checks passed
@llvm-ci
Copy link
Copy Markdown

llvm-ci commented Apr 9, 2026

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-hwasan running on sanitizer-buildbot12 while building clang at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/55/builds/26476

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 96687 tests, 72 workers --
Testing:  0.. 10
FAIL: Clang :: Driver/modules-driver-clang-modules-only.cpp (13642 of 96687)
******************** TEST 'Clang :: Driver/modules-driver-clang-modules-only.cpp' FAILED ********************
Exit Code: -6

Command Output (stdout):
--
# RUN: at line 3
split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# executed command: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -std=c++23    -fmodules-driver -Rmodules-driver    -fmodules -Rmodule-import    -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap    -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache    -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp 2>&1    | sed 's:\\\\\?:/:g'    | /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -std=c++23 -fmodules-driver -Rmodules-driver -fmodules -Rmodule-import -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp
# note: command had no output on stdout or stderr
# error: command failed with exit status: -6
# executed command: sed 's:\\\\\?:/:g'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# note: command had no output on stdout or stderr

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
51.11s: LLVM :: tools/llvm-exegesis/AArch64/all-opcodes.test
36.35s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
32.09s: Clang :: Preprocessor/riscv-target-features.c
31.84s: Clang :: Driver/arm-cortex-cpus-1.c
31.45s: Clang :: Driver/arm-cortex-cpus-2.c
30.77s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
28.12s: Clang :: CodeGen/X86/avx-builtins.c
28.05s: Clang :: CodeGen/X86/sse2-builtins.c
27.38s: Clang :: OpenMP/target_update_codegen.cpp
Step 11 (stage2/hwasan check) failure: stage2/hwasan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 96687 tests, 72 workers --
Testing:  0.. 10
FAIL: Clang :: Driver/modules-driver-clang-modules-only.cpp (13642 of 96687)
******************** TEST 'Clang :: Driver/modules-driver-clang-modules-only.cpp' FAILED ********************
Exit Code: -6

Command Output (stdout):
--
# RUN: at line 3
split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# executed command: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -std=c++23    -fmodules-driver -Rmodules-driver    -fmodules -Rmodule-import    -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap    -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache    -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp 2>&1    | sed 's:\\\\\?:/:g'    | /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -std=c++23 -fmodules-driver -Rmodules-driver -fmodules -Rmodule-import -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp
# note: command had no output on stdout or stderr
# error: command failed with exit status: -6
# executed command: sed 's:\\\\\?:/:g'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# note: command had no output on stdout or stderr

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
51.11s: LLVM :: tools/llvm-exegesis/AArch64/all-opcodes.test
36.35s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
32.09s: Clang :: Preprocessor/riscv-target-features.c
31.84s: Clang :: Driver/arm-cortex-cpus-1.c
31.45s: Clang :: Driver/arm-cortex-cpus-2.c
30.77s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
28.12s: Clang :: CodeGen/X86/avx-builtins.c
28.05s: Clang :: CodeGen/X86/sse2-builtins.c
27.38s: Clang :: OpenMP/target_update_codegen.cpp

@llvm-ci
Copy link
Copy Markdown

llvm-ci commented Apr 9, 2026

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-asan running on sanitizer-buildbot7 while building clang at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/24/builds/19293

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 96059 of 96688 tests, 72 workers --
Testing:  0.. 10
FAIL: Clang :: Driver/modules-driver-clang-modules-only.cpp (13885 of 96059)
******************** TEST 'Clang :: Driver/modules-driver-clang-modules-only.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
split-file /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# executed command: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang -std=c++23    -fmodules-driver -Rmodules-driver    -fmodules -Rmodule-import    -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap    -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache    -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp 2>&1    | sed 's:\\\\\?:/:g'    | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang -std=c++23 -fmodules-driver -Rmodules-driver -fmodules -Rmodule-import -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: sed 's:\\\\\?:/:g'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# note: command had no output on stdout or stderr

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
153.83s: Clang :: Preprocessor/riscv-target-features.c
136.12s: Clang :: Driver/arm-cortex-cpus-1.c
133.94s: Clang :: Driver/arm-cortex-cpus-2.c
129.75s: Clang :: OpenMP/target_update_codegen.cpp
125.86s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
122.96s: Clang :: Preprocessor/aarch64-target-features.c
120.18s: Clang :: Preprocessor/arm-target-features.c
104.88s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
103.74s: LLVM :: CodeGen/RISCV/attributes.ll
Step 11 (stage2/asan check) failure: stage2/asan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 96059 of 96688 tests, 72 workers --
Testing:  0.. 10
FAIL: Clang :: Driver/modules-driver-clang-modules-only.cpp (13885 of 96059)
******************** TEST 'Clang :: Driver/modules-driver-clang-modules-only.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
split-file /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# executed command: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang -std=c++23    -fmodules-driver -Rmodules-driver    -fmodules -Rmodule-import    -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap    -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache    -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp 2>&1    | sed 's:\\\\\?:/:g'    | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/clang -std=c++23 -fmodules-driver -Rmodules-driver -fmodules -Rmodule-import -fmodule-map-file=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/module.modulemap -fmodules-cache-path=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/modules-cache -fsyntax-only /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp/main.cpp
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: sed 's:\\\\\?:/:g'
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck -DPREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/tools/clang/test/Driver/Output/modules-driver-clang-modules-only.cpp.tmp --check-prefix=CHECK-REMARKS /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/test/Driver/modules-driver-clang-modules-only.cpp
# note: command had no output on stdout or stderr

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
153.83s: Clang :: Preprocessor/riscv-target-features.c
136.12s: Clang :: Driver/arm-cortex-cpus-1.c
133.94s: Clang :: Driver/arm-cortex-cpus-2.c
129.75s: Clang :: OpenMP/target_update_codegen.cpp
125.86s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
122.96s: Clang :: Preprocessor/aarch64-target-features.c
120.18s: Clang :: Preprocessor/arm-target-features.c
104.88s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
103.74s: LLVM :: CodeGen/RISCV/attributes.ll

@vitalybuka
Copy link
Copy Markdown
Collaborator

naveen-seth added a commit that referenced this pull request Apr 9, 2026
…ules-driver" due to memory leak (#191122)

Reverts #187606 due to a memory leak.
See
#187606 (comment)
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Apr 9, 2026
…es to -fmodules-driver" due to memory leak (#191122)

Reverts llvm/llvm-project#187606 due to a memory leak.
See
llvm/llvm-project#187606 (comment)
naveen-seth added a commit that referenced this pull request Apr 9, 2026
…dules-driver" (#191258)

This relands #187606 (reverted with #191122).

In the initial PR, the Clang module precompile jobs were created as
`CC1Command` objects instead of regular `Command` objects, which
introduced a memory leak.
(See discussion in https://reviews.llvm.org/D74447)

This has been fixed in this reland.
llvm-upstream-sync bot pushed a commit to sriyalamar/cpullvm-toolchain that referenced this pull request Apr 13, 2026
…es to -fmodules-driver" due to memory leak (#191122)

Reverts llvm/llvm-project#187606 due to a memory leak.
See
llvm/llvm-project#187606 (comment)
cpullvm-upstream-sync bot pushed a commit to navaneethshan/cpullvm-toolchain-1 that referenced this pull request Apr 13, 2026
…es to -fmodules-driver" due to memory leak (#191122)

Reverts llvm/llvm-project#187606 due to a memory leak.
See
llvm/llvm-project#187606 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang:modules C++20 modules and Clang Header Modules clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants