Author: Fangrui Song
Date: 2021-10-06T10:49:25-07:00
New Revision: a2796f1e86555fc0848b060a3bc0fe03e4ecf93b

URL: 
https://github.com/llvm/llvm-project/commit/a2796f1e86555fc0848b060a3bc0fe03e4ecf93b
DIFF: 
https://github.com/llvm/llvm-project/commit/a2796f1e86555fc0848b060a3bc0fe03e4ecf93b.diff

LOG: [Driver][test] Add Debian multiarch lib/clang/14.0.0/x86_64-linux-gnu and 
include/x86_64-linux-gnu/c++/v1 tests

Added: 
    clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/bin/.keep
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/c++/v1/.keep
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/i386-linux-gnu/c++/v1/.keep
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/x86_64-linux-gnu/c++/v1/.keep
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/i386-linux-gnu/libclang_rt.builtins.a
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/x86_64-linux-gnu/libclang_rt.builtins.a
    
clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/i386-linux-gnu/.keep
    
clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/i386-linux-gnu/libclang_rt.builtins.a
    
clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/x86_64-linux-gnu/libclang_rt.builtins.a

Modified: 
    clang/test/Driver/linux-cross.cpp

Removed: 
    


################################################################################
diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/bin/.keep 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/bin/.keep
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/c++/v1/.keep
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/c++/v1/.keep
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/i386-linux-gnu/c++/v1/.keep
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/i386-linux-gnu/c++/v1/.keep
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/x86_64-linux-gnu/c++/v1/.keep
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/include/x86_64-linux-gnu/c++/v1/.keep
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/i386-linux-gnu/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/i386-linux-gnu/libclang_rt.builtins.a
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/x86_64-linux-gnu/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0/lib/x86_64-linux-gnu/libclang_rt.builtins.a
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/i386-linux-gnu/.keep
 
b/clang/test/Driver/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/i386-linux-gnu/.keep
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/i386-linux-gnu/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/i386-linux-gnu/libclang_rt.builtins.a
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git 
a/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/x86_64-linux-gnu/libclang_rt.builtins.a
 
b/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir_debian/lib/x86_64-linux-gnu/libclang_rt.builtins.a
new file mode 100644
index 000000000000..e69de29bb2d1

diff  --git a/clang/test/Driver/linux-cross.cpp 
b/clang/test/Driver/linux-cross.cpp
index 2d4025f32461..98e4b7cb1baa 100644
--- a/clang/test/Driver/linux-cross.cpp
+++ b/clang/test/Driver/linux-cross.cpp
@@ -151,6 +151,55 @@
 // DEBIAN_AARCH64-SAME: {{^}} "-L[[SYSROOT]]/lib"
 // DEBIAN_AARCH64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
 
+/// Test native x86-64 with -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on.
+/// FIXME -internal-isystem .*bin/../include/x86_64-linux-gnu/c++/v1 and 
-L[[PREFIX]]/bin/../lib/x86_64-linux-gnu are missing.
+// RUN: %clang -### %s --target=x86_64-linux-gnu 
--sysroot=%S/Inputs/debian_multiarch_tree \
+// RUN:   -ccc-install-dir 
%S/Inputs/debian_per_target_tree/usr/lib/llvm-14/bin 
-resource-dir=%S/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0 
\
+// RUN:   --stdlib=libc++ --rtlib=compiler-rt 2>&1 | FileCheck %s 
--check-prefix=DEBIAN_X86_64_PER_TARGET
+// DEBIAN_X86_64_PER_TARGET:      "-resource-dir" "[[RESOURCE:[^"]+]]"
+// DEBIAN_X86_64_PER_TARGET:      "-internal-isystem"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} 
"[[PREFIX:[^"]+llvm-14]]/bin/../include/c++/v1"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[RESOURCE]]/include"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[SYSROOT:[^"]+]]/usr/local/include"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
+
+// DEBIAN_X86_64_PER_TARGET:      "-L
+// DEBIAN_X86_64_PER_TARGET-SAME: 
{{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10"
+/// Debian patches MULTILIB_OSDIRNAMES (../lib64 -> ../lib), so gcc uses 'lib' 
instead of 'lib64'.
+/// This 
diff erence does not matter in practice.
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} 
"-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib64"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib/x86_64-linux-gnu"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib64"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} 
"-L[[SYSROOT]]/usr/lib/x86_64-linux-gnu"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib64"
+/// /usr/x86_64-linux-gnu does not exist, so there is no 
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/lib.
+/// -ccc-install-dir is not within sysroot. No bin/../lib.
+/// $sysroot/lib and $sysroot/usr/lib. Fallback when GCC installation is 
unavailable.
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib"
+// DEBIAN_X86_64_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
+
+/// Test -m32.
+/// FIXME -internal-isystem .*bin/../include/i386-linux-gnu/c++/v1 and 
-L[[PREFIX]]/bin/../lib/i386-linux-gnu are missing.
+// RUN: %clang -### %s --target=x86_64-linux-gnu -m32 
--sysroot=%S/Inputs/debian_multiarch_tree \
+// RUN:   -ccc-install-dir 
%S/Inputs/debian_per_target_tree/usr/lib/llvm-14/bin 
-resource-dir=%S/Inputs/debian_per_target_tree/usr/lib/llvm-14/lib/clang/14.0.0 
\
+// RUN:   --stdlib=libc++ --rtlib=compiler-rt 2>&1 | FileCheck %s 
--check-prefix=DEBIAN_X86_64_M32_PER_TARGET
+// DEBIAN_X86_64_M32_PER_TARGET:      "-resource-dir" "[[RESOURCE:[^"]+]]"
+// DEBIAN_X86_64_M32_PER_TARGET:      "-internal-isystem"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} 
"[[PREFIX:[^"]+llvm-14]]/bin/../include/c++/v1"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[RESOURCE]]/include"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[SYSROOT:[^"]+]]/usr/local/include"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-internal-isystem" 
"[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include"
+
+// DEBIAN_X86_64_M32_PER_TARGET:      "-L
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: 
{{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/32"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} 
"-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib32"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib/i386-linux-gnu"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib/../lib32"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} 
"-L[[SYSROOT]]/usr/lib/i386-linux-gnu"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/../lib32"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/lib"
+// DEBIAN_X86_64_M32_PER_TARGET-SAME: {{^}} "-L[[SYSROOT]]/usr/lib"
+
 /// LDSO_ARCH is i386 for all x86-32 variants.
 // RUN: %clang -### %s --target=i686-linux-musl --sysroot= \
 // RUN:   --stdlib=platform --rtlib=platform 2>&1 | FileCheck %s 
--check-prefix=MUSL_I686


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to