forked from OSchip/llvm-project
Revert "Revert "[Driver] Drop obsoleted Ubuntu 11.04 gcc detection""
This reverts commit 243333ef3e
.
This commit is contained in:
parent
f860187ea6
commit
dc3b438c8f
|
@ -2506,7 +2506,6 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
|
|||
const llvm::Triple &TargetTriple, const ArgList &Args,
|
||||
const std::string &LibDir, StringRef CandidateTriple,
|
||||
bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
|
||||
llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
|
||||
// Locations relative to the system lib directory where GCC's triple-specific
|
||||
// directories might reside.
|
||||
struct GCCLibSuffix {
|
||||
|
@ -2530,15 +2529,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
|
|||
// files in that location, not just GCC installation data.
|
||||
{CandidateTriple.str(), "..",
|
||||
TargetTriple.getVendor() == llvm::Triple::Freescale ||
|
||||
TargetTriple.getVendor() == llvm::Triple::OpenEmbedded},
|
||||
|
||||
// Deal with cases (on Ubuntu) where the system architecture could be i386
|
||||
// but the GCC target architecture could be (say) i686.
|
||||
// FIXME: It may be worthwhile to generalize this and look for a second
|
||||
// triple.
|
||||
{"i386-linux-gnu/gcc/" + CandidateTriple.str(), "../../..",
|
||||
(TargetArch == llvm::Triple::x86 &&
|
||||
TargetTriple.getOS() != llvm::Triple::Solaris)}};
|
||||
TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
|
||||
|
||||
for (auto &Suffix : Suffixes) {
|
||||
if (!Suffix.Active)
|
||||
|
|
|
@ -1,34 +1,31 @@
|
|||
// Test that gcc-toolchain option is working correctly
|
||||
//
|
||||
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t 2>&1 \
|
||||
// RUN: --target=i386-unknown-linux -stdlib=libstdc++ \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/ubuntu_11.04_multiarch_tree/usr \
|
||||
// RUN: --sysroot="" \
|
||||
// RUN: | FileCheck %s
|
||||
// RUN: --target=x86_64-linux-gnu --gcc-toolchain=%S/Inputs/ubuntu_14.04_multiarch_tree/usr | \
|
||||
// RUN: FileCheck %s
|
||||
//
|
||||
// Additionally check that the legacy spelling of the flag works.
|
||||
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t 2>&1 \
|
||||
// RUN: --target=i386-unknown-linux -stdlib=libstdc++ \
|
||||
// RUN: -gcc-toolchain %S/Inputs/ubuntu_11.04_multiarch_tree/usr \
|
||||
// RUN: --sysroot="" \
|
||||
// RUN: | FileCheck %s
|
||||
// RUN: --target=x86_64-linux-gnu -gcc-toolchain %S/Inputs/ubuntu_14.04_multiarch_tree/usr | \
|
||||
// RUN: FileCheck %s
|
||||
//
|
||||
// Test for header search toolchain detection.
|
||||
// CHECK: "-internal-isystem"
|
||||
// CHECK: "[[TOOLCHAIN:[^"]+]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5"
|
||||
// CHECK: "[[TOOLCHAIN:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8"
|
||||
// CHECK: "-internal-isystem"
|
||||
// CHECK: "[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/i686-linux-gnu"
|
||||
// CHECK: "[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8"
|
||||
// CHECK: "-internal-isystem"
|
||||
// CHECK: "[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/backward"
|
||||
// CHECK: "[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward"
|
||||
// CHECK: "-internal-isystem" "/usr/local/include"
|
||||
//
|
||||
// Test for linker toolchain detection. Note that only the '-L' flags will use
|
||||
// the same precise formatting of the path as the '-internal-system' flags
|
||||
// above, so we just blanket wildcard match the 'crtbegin.o'.
|
||||
// CHECK: "{{[^"]*}}ld{{(.exe)?}}"
|
||||
// CHECK: "{{[^"]*}}/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o"
|
||||
// CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5"
|
||||
// CHECK: "-L[[TOOLCHAIN]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.."
|
||||
// CHECK-SAME: "{{[^"]*}}/usr/lib/gcc/x86_64-linux-gnu/4.8{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-SAME: "-L[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8"
|
||||
/// On x86_64, there is an extra usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu but we should not test it.
|
||||
// CHECK-SAME: "-L[[TOOLCHAIN]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.."
|
||||
|
||||
/// Test we don't detect GCC installation under -B.
|
||||
// RUN: %clangxx -no-canonical-prefixes %s -### -o %t 2>&1 \
|
||||
|
|
|
@ -67,23 +67,6 @@
|
|||
// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v2"
|
||||
// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
|
||||
//
|
||||
// Test a very broken version of multiarch that shipped in Ubuntu 11.04.
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: -target i386-unknown-linux -stdlib=libstdc++ \
|
||||
// RUN: --sysroot=%S/Inputs/ubuntu_11.04_multiarch_tree \
|
||||
// RUN: --gcc-toolchain="" \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-11-04 %s
|
||||
// CHECK-UBUNTU-11-04: "{{.*}}clang{{.*}}" "-cc1"
|
||||
// CHECK-UBUNTU-11-04: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-UBUNTU-11-04: "-isysroot" "[[SYSROOT:[^"]+]]"
|
||||
// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5"
|
||||
// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/i686-linux-gnu"
|
||||
// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/backward"
|
||||
// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
|
||||
// CHECK-UBUNTU-11-04: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
|
||||
// CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/include"
|
||||
// CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
|
||||
//
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
|
||||
// RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \
|
||||
|
|
|
@ -565,21 +565,6 @@
|
|||
// CHECK-BASIC-LIBCXX-C-LINK: "--sysroot=[[SYSROOT]]"
|
||||
// CHECK-BASIC-LIBCXX-C-LINK: "-L[[SYSROOT]]/usr/bin/../lib"
|
||||
//
|
||||
// Test a very broken version of multiarch that shipped in Ubuntu 11.04.
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=i386-unknown-linux -rtlib=platform \
|
||||
// RUN: --gcc-toolchain="" \
|
||||
// RUN: --sysroot=%S/Inputs/ubuntu_11.04_multiarch_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-11-04 %s
|
||||
// CHECK-UBUNTU-11-04: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
|
||||
// CHECK-UBUNTU-11-04: "{{.*}}/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5"
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../i386-linux-gnu"
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu"
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.."
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/lib"
|
||||
// CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib"
|
||||
//
|
||||
// Check multi arch support on Ubuntu 12.04 LTS.
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=arm-unknown-linux-gnueabihf -rtlib=platform \
|
||||
|
|
Loading…
Reference in New Issue