diff options
author | Fedor Sergeev <fedor.sergeev@azul.com> | 2018-01-23 12:23:52 +0000 |
---|---|---|
committer | Fedor Sergeev <fedor.sergeev@azul.com> | 2018-01-23 12:23:52 +0000 |
commit | faa0a82416d4569b4613ced7a3a3a4ff459f301d (patch) | |
tree | 02ed24b31e57c016b13b9532b00bbb0e43539dfd /clang/test/Driver/solaris-header-search.cpp | |
parent | 17e5794f11c72ed95a6208191ccc3efedbdd4794 (diff) | |
download | bcm5719-llvm-faa0a82416d4569b4613ced7a3a3a4ff459f301d.tar.gz bcm5719-llvm-faa0a82416d4569b4613ced7a3a3a4ff459f301d.zip |
[Solaris] gcc toolchain handling revamp
Summary:
General idea is to utilize generic (mostly Generic_GCC) code
and get rid of Solaris-specific handling as much as possible.
In particular:
- scanLibDirForGCCTripleSolaris was removed, relying on generic
CollectLibDirsAndTriples
- findBiarchMultilibs is now properly utilized to switch between
m32 and m64 include & lib paths on Solaris
- C system include handling copied from Linux (bar multilib hacks)
Fixes PR24606.
Reviewers: dlj, rafael, jyknight, theraven, tstellar
Reviewed By: jyknight
Subscribers: aaron.ballman, mgorny, krytarowski, ro, joerg, cfe-commits
Differential Revision: https://reviews.llvm.org/D35755
llvm-svn: 323193
Diffstat (limited to 'clang/test/Driver/solaris-header-search.cpp')
-rw-r--r-- | clang/test/Driver/solaris-header-search.cpp | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/clang/test/Driver/solaris-header-search.cpp b/clang/test/Driver/solaris-header-search.cpp index 667b2c05d43..38f768ccad7 100644 --- a/clang/test/Driver/solaris-header-search.cpp +++ b/clang/test/Driver/solaris-header-search.cpp @@ -1,11 +1,41 @@ -// Test that the C++ headers are found. +// Test that the C++ headers are found on Solaris with gcc toolchain detection // -// RUN: %clang -no-canonical-prefixes %s -### 2>&1 \ +// Sparc, 32bit +// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ // RUN: --target=sparc-sun-solaris2.11 \ -// RUN: --gcc-toolchain="" \ -// RUN: --sysroot=%S/Inputs/sparc-sun-solaris2.11 \ -// RUN: | FileCheck %s -// CHECK: "{{[^"]*}}clang{{[^"]*}}" "-cc1" -// CHECK: "-internal-isystem" "{{.*}}/usr/include/c++/v1/support/solaris" -// CHECK: "-internal-isystem" "{{.*}}/usr/gcc/4.8/include/c++/4.8.2" -// CHECK: "-internal-isystem" "{{.*}}/usr/gcc/4.8/include/c++/4.8.2/sparc-sun-solaris2.11" +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \ +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_SPARC %s +// CHECK_SOLARIS_SPARC: "{{[^"]*}}clang{{[^"]*}}" "-cc1" +// CHECK_SOLARIS_SPARC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK_SOLARIS_SPARC-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2" +// CHECK_SOLARIS_SPARC-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2/sparc-sun-solaris2.11" + +// Sparc, 64bit +// RUN: %clang -no-canonical-prefixes -m64 %s -### -fsyntax-only 2>&1 \ +// RUN: --target=sparc-sun-solaris2.11 \ +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree \ +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_SPARC64 %s +// CHECK_SOLARIS_SPARC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1" +// CHECK_SOLARIS_SPARC64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK_SOLARIS_SPARC64-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2" +// CHECK_SOLARIS_SPARC64-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.8/lib/gcc/sparc-sun-solaris2.11/4.8.2/../../../../include/c++/4.8.2/sparc-sun-solaris2.11/sparcv9" + +// Intel, 32bit +// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ +// RUN: --target=i386-pc-solaris2.11 \ +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \ +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_X86 %s +// CHECK_SOLARIS_X86: "{{[^"]*}}clang{{[^"]*}}" "-cc1" +// CHECK_SOLARIS_X86-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK_SOLARIS_X86-SAME: "-internal-isystem" "{{.*}}/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4" +// CHECK_SOLARIS_X86-SAME: "-internal-isystem" "{{.*}}/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4/i386-pc-solaris2.11" + +// Intel, 64bit +// RUN: %clang -no-canonical-prefixes -m64 %s -### -fsyntax-only 2>&1 \ +// RUN: --target=i386-pc-solaris2.11 \ +// RUN: --sysroot=%S/Inputs/solaris_x86_tree \ +// RUN: | FileCheck --check-prefix=CHECK_SOLARIS_X64 %s +// CHECK_SOLARIS_X64: "{{[^"]*}}clang{{[^"]*}}" "-cc1" +// CHECK_SOLARIS_X64-SAME: "-isysroot" "[[SYSROOT:[^"]+]]" +// CHECK_SOLARIS_X64-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4" +// CHECK_SOLARIS_X64-SAME: "-internal-isystem" "[[SYSROOT]]/usr/gcc/4.9/lib/gcc/i386-pc-solaris2.11/4.9.4/../../../../include/c++/4.9.4/i386-pc-solaris2.11/amd64" |