https://github.com/lenary updated 
https://github.com/llvm/llvm-project/pull/238147

>From 467096fa01bcb8fb3cd8b8d9e289bf1f3a834b01 Mon Sep 17 00:00:00 2001
From: Sam Elliott <[email protected]>
Date: Mon, 2 Nov 2026 15:43:12 -0800
Subject: [PATCH 1/3] [clang][NFC] Test Linux Multilib Resource Dirs

This is another follow-up to 78820cb91605693b7d768be4ebc8b66181d3e9c3 to
show the behaviour of resource dir resolution after that change.

Assisted-by: AI
---
 .../multilib_linux_tree/resource/include/.keep      |  1 +
 .../debug/libclang_rt.builtins.a                    |  1 +
 clang/test/Driver/linux-multilib.yaml               | 13 +++++++++++++
 3 files changed, 15 insertions(+)
 create mode 100644 
clang/test/Driver/Inputs/multilib_linux_tree/resource/include/.keep
 create mode 100644 
clang/test/Driver/Inputs/multilib_linux_tree/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a

diff --git 
a/clang/test/Driver/Inputs/multilib_linux_tree/resource/include/.keep 
b/clang/test/Driver/Inputs/multilib_linux_tree/resource/include/.keep
new file mode 100644
index 00000000000000..8b137891791fe9
--- /dev/null
+++ b/clang/test/Driver/Inputs/multilib_linux_tree/resource/include/.keep
@@ -0,0 +1 @@
+
diff --git 
a/clang/test/Driver/Inputs/multilib_linux_tree/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/multilib_linux_tree/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
new file mode 100644
index 00000000000000..8b137891791fe9
--- /dev/null
+++ 
b/clang/test/Driver/Inputs/multilib_linux_tree/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
@@ -0,0 +1 @@
+
diff --git a/clang/test/Driver/linux-multilib.yaml 
b/clang/test/Driver/linux-multilib.yaml
index 888a816214933a..95a9858cce94a7 100644
--- a/clang/test/Driver/linux-multilib.yaml
+++ b/clang/test/Driver/linux-multilib.yaml
@@ -1,12 +1,25 @@
 # Basic selection where -fmultilib-flag=debug selects the debug variant.
+# Linux keeps builtin headers in ResourceDir/include, while the selected YAML
+# directory selects the target-specific include directory.
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \
 # RUN:     --target=x86_64-linux-gnu -fmultilib-flag=debug --sysroot= \
 # RUN:     -ccc-install-dir %S/Inputs/multilib_linux_tree/usr/bin \
+# RUN:     -resource-dir=%S/Inputs/multilib_linux_tree/resource \
 # RUN:   | FileCheck --check-prefix=CHECK-DEBUG %s
 # CHECK-DEBUG:      "-cc1" "-triple" "x86_64-unknown-linux-gnu"
+# CHECK-DEBUG:      "-internal-isystem" "{{.*}}/resource/include"
 # CHECK-DEBUG:      "-internal-isystem" 
"{{[^"]*}}{{[/\\]}}x86_64-unknown-linux-gnu/debug"
 # CHECK-DEBUG:      "-L{{[^"]*}}/debug"
 
+# The selected YAML directory is also appended to Clang's per-target runtime
+# directory when resolving compiler-rt libraries.
+# RUN: %clang --multi-lib-config=%s -print-libgcc-file-name \
+# RUN:     --target=x86_64-linux-gnu -fmultilib-flag=debug \
+# RUN:     -resource-dir=%S/Inputs/multilib_linux_tree/resource \
+# RUN:     --rtlib=compiler-rt \
+# RUN:   | FileCheck --check-prefix=CHECK-RESOURCE-LIB %s
+# CHECK-RESOURCE-LIB: 
{{.*}}/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
+
 # Default behavior where no variant path is prepended.
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \
 # RUN:     --target=x86_64-linux-gnu --sysroot= \

>From 94e96c1f56c600fb3d4f5a6dcdf1e888086b0fbb Mon Sep 17 00:00:00 2001
From: Sam Elliott <[email protected]>
Date: Mon, 2 Nov 2026 15:48:26 -0800
Subject: [PATCH 2/3] Add Mingw tests too

---
 .../Inputs/multilib_mingw_tree/resource/include/.keep |  1 +
 .../debug/libclang_rt.builtins.a                      |  1 +
 clang/test/Driver/mingw-multilib.yaml                 | 11 +++++++++++
 3 files changed, 13 insertions(+)
 create mode 100644 
clang/test/Driver/Inputs/multilib_mingw_tree/resource/include/.keep
 create mode 100644 
clang/test/Driver/Inputs/multilib_mingw_tree/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a

diff --git 
a/clang/test/Driver/Inputs/multilib_mingw_tree/resource/include/.keep 
b/clang/test/Driver/Inputs/multilib_mingw_tree/resource/include/.keep
new file mode 100644
index 00000000000000..8b137891791fe9
--- /dev/null
+++ b/clang/test/Driver/Inputs/multilib_mingw_tree/resource/include/.keep
@@ -0,0 +1 @@
+
diff --git 
a/clang/test/Driver/Inputs/multilib_mingw_tree/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/multilib_mingw_tree/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
new file mode 100644
index 00000000000000..8b137891791fe9
--- /dev/null
+++ 
b/clang/test/Driver/Inputs/multilib_mingw_tree/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
@@ -0,0 +1 @@
+
diff --git a/clang/test/Driver/mingw-multilib.yaml 
b/clang/test/Driver/mingw-multilib.yaml
index 941f20861c7893..c5a0514a154834 100644
--- a/clang/test/Driver/mingw-multilib.yaml
+++ b/clang/test/Driver/mingw-multilib.yaml
@@ -2,11 +2,22 @@
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \
 # RUN:     --target=x86_64-w64-windows-gnu -fmultilib-flag=debug \
 # RUN:     -ccc-install-dir %S/Inputs/multilib_mingw_tree/bin \
+# RUN:     -resource-dir=%S/Inputs/multilib_mingw_tree/resource \
 # RUN:   | FileCheck --check-prefix=CHECK-DEBUG %s
 # CHECK-DEBUG:      "-cc1" "-triple" "x86_64-w64-windows-gnu"
+# CHECK-DEBUG:      "-internal-isystem" "{{.*}}/resource/include"
 # CHECK-DEBUG:      "-internal-isystem" 
"{{[^"]*}}{{[/\\]}}x86_64-w64-windows-gnu/debug"
 # CHECK-DEBUG:      "-L{{[^"]*}}/debug"
 
+# The selected YAML directory is also appended to Clang's per-target runtime
+# directory when resolving compiler-rt libraries.
+# RUN: %clang --multi-lib-config=%s -print-libgcc-file-name \
+# RUN:     --target=x86_64-w64-windows-gnu -fmultilib-flag=debug \
+# RUN:     -resource-dir=%S/Inputs/multilib_mingw_tree/resource \
+# RUN:     --rtlib=compiler-rt \
+# RUN:   | FileCheck --check-prefix=CHECK-RESOURCE-LIB %s
+# CHECK-RESOURCE-LIB: 
{{.*}}/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
+
 # Default behavior where no variant path is prepended.
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \
 # RUN:     --target=x86_64-w64-windows-gnu \

>From b5fb449154c6618905da8cc4c78e5739c9dc5a59 Mon Sep 17 00:00:00 2001
From: Sam Elliott <[email protected]>
Date: Mon, 2 Nov 2026 16:59:45 -0800
Subject: [PATCH 3/3] Windows path separator matching

---
 clang/test/Driver/linux-multilib.yaml | 4 ++--
 clang/test/Driver/mingw-multilib.yaml | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang/test/Driver/linux-multilib.yaml 
b/clang/test/Driver/linux-multilib.yaml
index 95a9858cce94a7..33dae5a8c652f6 100644
--- a/clang/test/Driver/linux-multilib.yaml
+++ b/clang/test/Driver/linux-multilib.yaml
@@ -7,7 +7,7 @@
 # RUN:     -resource-dir=%S/Inputs/multilib_linux_tree/resource \
 # RUN:   | FileCheck --check-prefix=CHECK-DEBUG %s
 # CHECK-DEBUG:      "-cc1" "-triple" "x86_64-unknown-linux-gnu"
-# CHECK-DEBUG:      "-internal-isystem" "{{.*}}/resource/include"
+# CHECK-DEBUG:      "-internal-isystem" 
"{{.*}}{{[/\\]}}resource{{[/\\]+}}include"
 # CHECK-DEBUG:      "-internal-isystem" 
"{{[^"]*}}{{[/\\]}}x86_64-unknown-linux-gnu/debug"
 # CHECK-DEBUG:      "-L{{[^"]*}}/debug"
 
@@ -18,7 +18,7 @@
 # RUN:     -resource-dir=%S/Inputs/multilib_linux_tree/resource \
 # RUN:     --rtlib=compiler-rt \
 # RUN:   | FileCheck --check-prefix=CHECK-RESOURCE-LIB %s
-# CHECK-RESOURCE-LIB: 
{{.*}}/resource/lib/x86_64-unknown-linux-gnu/debug/libclang_rt.builtins.a
+# CHECK-RESOURCE-LIB: 
{{.*}}{{[/\\]}}resource{{[/\\]+}}lib{{[/\\]+}}x86_64-unknown-linux-gnu/debug{{[/\\]+}}libclang_rt.builtins.a
 
 # Default behavior where no variant path is prepended.
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \
diff --git a/clang/test/Driver/mingw-multilib.yaml 
b/clang/test/Driver/mingw-multilib.yaml
index c5a0514a154834..00bad7f30d87af 100644
--- a/clang/test/Driver/mingw-multilib.yaml
+++ b/clang/test/Driver/mingw-multilib.yaml
@@ -5,7 +5,7 @@
 # RUN:     -resource-dir=%S/Inputs/multilib_mingw_tree/resource \
 # RUN:   | FileCheck --check-prefix=CHECK-DEBUG %s
 # CHECK-DEBUG:      "-cc1" "-triple" "x86_64-w64-windows-gnu"
-# CHECK-DEBUG:      "-internal-isystem" "{{.*}}/resource/include"
+# CHECK-DEBUG:      "-internal-isystem" "{{.*}}resource{{[/\\]+}}include"
 # CHECK-DEBUG:      "-internal-isystem" 
"{{[^"]*}}{{[/\\]}}x86_64-w64-windows-gnu/debug"
 # CHECK-DEBUG:      "-L{{[^"]*}}/debug"
 
@@ -16,7 +16,7 @@
 # RUN:     -resource-dir=%S/Inputs/multilib_mingw_tree/resource \
 # RUN:     --rtlib=compiler-rt \
 # RUN:   | FileCheck --check-prefix=CHECK-RESOURCE-LIB %s
-# CHECK-RESOURCE-LIB: 
{{.*}}/resource/lib/x86_64-w64-windows-gnu/debug/libclang_rt.builtins.a
+# CHECK-RESOURCE-LIB: 
{{.*}}{{[/\\]}}resource{{[/\\]+}}lib{{[/\\]+}}x86_64-w64-windows-gnu/debug{{[/\\]+}}libclang_rt.builtins.a
 
 # Default behavior where no variant path is prepended.
 # RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c %s -### -o 
/dev/null 2>&1 \

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to