mirror of
https://github.com/intel/llvm.git
synced 2026-01-20 01:58:44 +08:00
The clang driver has a fairly fancy support for executing gcc instead of
clang itself. This dates back to clang's early days and while it looks like some of it is still used (for kext for example), other parts are probably dead. Remove the -ccc-clang-archs option and associated code. I don't think there is any remaining setup where clang doesn't support an architecture but it can expect an working gcc cross compiler to be available. A nice side effect is that tests no longer need to differentiate architectures that are included in production builds of clang and those that are not. llvm-svn: 165545
This commit is contained in:
@@ -123,8 +123,6 @@ def warn_drv_not_using_clang_cpp : Warning<
|
||||
"not using the clang preprocessor due to user override">;
|
||||
def warn_drv_not_using_clang_cxx : Warning<
|
||||
"not using the clang compiler for C++ inputs">;
|
||||
def warn_drv_not_using_clang_arch : Warning<
|
||||
"not using the clang compiler for the '%0' architecture">;
|
||||
def warn_drv_clang_unsupported : Warning<
|
||||
"the clang compiler does not support '%0'">;
|
||||
def warn_drv_assuming_mfloat_abi_is : Warning<
|
||||
|
||||
@@ -164,10 +164,6 @@ public:
|
||||
unsigned CCCUsePCH : 1;
|
||||
|
||||
private:
|
||||
/// Only use clang for the given architectures (only used when
|
||||
/// non-empty).
|
||||
std::set<llvm::Triple::ArchType> CCCClangArchs;
|
||||
|
||||
/// Certain options suppress the 'no input files' warning.
|
||||
bool SuppressMissingInputWarning : 1;
|
||||
|
||||
|
||||
@@ -99,9 +99,6 @@ def ccc_no_clang : Flag<"-ccc-no-clang">, CCCDriverOpt,
|
||||
HelpText<"Disable the clang compiler">;
|
||||
def ccc_no_clang_cpp : Flag<"-ccc-no-clang-cpp">, CCCDriverOpt,
|
||||
HelpText<"Disable the clang preprocessor">;
|
||||
def ccc_clang_archs : Separate<"-ccc-clang-archs">, CCCDriverOpt,
|
||||
HelpText<"Comma separate list of architectures to use the clang compiler for">,
|
||||
MetaVarName<"<arch-list>">;
|
||||
def ccc_pch_is_pch : Flag<"-ccc-pch-is-pch">, CCCDriverOpt,
|
||||
HelpText<"Use lazy PCH for precompiled headers">;
|
||||
def ccc_pch_is_pth : Flag<"-ccc-pch-is-pth">, CCCDriverOpt,
|
||||
|
||||
@@ -60,17 +60,6 @@ Driver::Driver(StringRef ClangExecutable,
|
||||
CCGenDiagnostics(false), CCCGenericGCCName(""), CheckInputsExist(true),
|
||||
CCCUseClang(true), CCCUseClangCXX(true), CCCUseClangCPP(true),
|
||||
ForcedClangUse(false), CCCUsePCH(true), SuppressMissingInputWarning(false) {
|
||||
if (IsProduction) {
|
||||
// In a "production" build, only use clang on architectures we expect to
|
||||
// work.
|
||||
//
|
||||
// During development its more convenient to always have the driver use
|
||||
// clang, but we don't want users to be confused when things don't work, or
|
||||
// to file bugs for things we don't support.
|
||||
CCCClangArchs.insert(llvm::Triple::x86);
|
||||
CCCClangArchs.insert(llvm::Triple::x86_64);
|
||||
CCCClangArchs.insert(llvm::Triple::arm);
|
||||
}
|
||||
|
||||
Name = llvm::sys::path::stem(ClangExecutable);
|
||||
Dir = llvm::sys::path::parent_path(ClangExecutable);
|
||||
@@ -293,26 +282,6 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
||||
options::OPT_ccc_pch_is_pth);
|
||||
CCCUseClang = !Args->hasArg(options::OPT_ccc_no_clang);
|
||||
CCCUseClangCPP = !Args->hasArg(options::OPT_ccc_no_clang_cpp);
|
||||
if (const Arg *A = Args->getLastArg(options::OPT_ccc_clang_archs)) {
|
||||
StringRef Cur = A->getValue(*Args);
|
||||
|
||||
CCCClangArchs.clear();
|
||||
while (!Cur.empty()) {
|
||||
std::pair<StringRef, StringRef> Split = Cur.split(',');
|
||||
|
||||
if (!Split.first.empty()) {
|
||||
llvm::Triple::ArchType Arch =
|
||||
llvm::Triple(Split.first, "", "").getArch();
|
||||
|
||||
if (Arch == llvm::Triple::UnknownArch)
|
||||
Diag(clang::diag::err_drv_invalid_arch_name) << Split.first;
|
||||
|
||||
CCCClangArchs.insert(Arch);
|
||||
}
|
||||
|
||||
Cur = Split.second;
|
||||
}
|
||||
}
|
||||
// FIXME: DefaultTargetTriple is used by the target-prefixed calls to as/ld
|
||||
// and getToolChain is const.
|
||||
if (const Arg *A = Args->getLastArg(options::OPT_target))
|
||||
@@ -1840,13 +1809,6 @@ bool Driver::ShouldUseClangCompiler(const Compilation &C, const JobAction &JA,
|
||||
types::isOnlyAcceptedByClang(JA.getType()))
|
||||
return true;
|
||||
|
||||
// Finally, don't use clang if this isn't one of the user specified archs to
|
||||
// build.
|
||||
if (!CCCClangArchs.empty() && !CCCClangArchs.count(Triple.getArch())) {
|
||||
Diag(clang::diag::warn_drv_not_using_clang_arch) << Triple.getArchName();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// RUN: %clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
// RUN: %clang -target mipsel-unknown-linux -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
|
||||
typedef struct {
|
||||
float f[3];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -S -o - -emit-llvm %s
|
||||
// RUN: %clang -target mipsel-unknown-linux -S -o - -emit-llvm %s
|
||||
|
||||
/*
|
||||
This checks that the frontend will accept both
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -S -o - -emit-llvm %s \
|
||||
// RUN: %clang -target mipsel-unknown-linux -S -o - -emit-llvm %s \
|
||||
// RUN: | FileCheck %s
|
||||
|
||||
// This checks that the frontend will accept inline asm constraints
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// RUN: %clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
// RUN: %clang -target mipsel-unknown-linux -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
|
||||
// check that
|
||||
// 1. vector arguments are passed in integer registers
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// RUN: %clang -target mipsel-unknown-linux -ccc-clang-archs mipsel -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
// RUN: %clang -target mipsel-unknown-linux -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
|
||||
|
||||
// vectors larger than 16-bytes are returned via the hidden pointer argument.
|
||||
// N64/N32 returns vectors whose size is equal to or smaller than 16-bytes in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
|
||||
class B0 {
|
||||
double d;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
|
||||
typedef long double LD;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
|
||||
class B {
|
||||
public:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// RUN: %clang -target mips64el-unknown-linux -ccc-clang-archs mips64el -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
// RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s
|
||||
|
||||
typedef struct {
|
||||
double d;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
// Check that we error when -faltivec is specified on non-ppc platforms.
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc -target powerpc-unk-unk -faltivec -fsyntax-only %s
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-linux-gnu -faltivec -fsyntax-only %s
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-linux-gnu -maltivec -fsyntax-only %s
|
||||
// RUN: %clang -target powerpc-unk-unk -faltivec -fsyntax-only %s
|
||||
// RUN: %clang -target powerpc64-linux-gnu -faltivec -fsyntax-only %s
|
||||
// RUN: %clang -target powerpc64-linux-gnu -maltivec -fsyntax-only %s
|
||||
|
||||
// RUN: %clang -target i386-pc-win32 -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target x86_64-unknown-freebsd -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target armv6-apple-darwin -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target armv7-apple-darwin -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -ccc-clang-archs mips -target mips-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -ccc-clang-archs mips64 -target mips64-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -ccc-clang-archs sparc -target sparc-unknown-solaris -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target mips-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target mips64-linux-gnu -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
// RUN: %clang -target sparc-unknown-solaris -faltivec -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: invalid argument '-faltivec' only allowed with 'ppc/ppc64'
|
||||
|
||||
@@ -36,18 +36,12 @@
|
||||
// CHECK09: "gcc::Preprocess", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.i"
|
||||
// CHECK09: "clang", inputs: ["{{.*}}.i"], output: (nothing)
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs i386 %s -S -arch ppc 2>&1 | FileCheck %s --check-prefix=CHECK10
|
||||
// CHECK10: "gcc::Compile", inputs: ["{{.*}}bindings.c"], output: "bindings.s"
|
||||
|
||||
// RUN: %clang -target i386-apple-darwin9 -ccc-print-bindings -ccc-clang-archs powerpc %s -S -arch ppc 2>&1 | FileCheck %s --check-prefix=CHECK11
|
||||
// RUN: %clang -target i386-apple-darwin9 -ccc-print-bindings %s -S -arch ppc 2>&1 | FileCheck %s --check-prefix=CHECK11
|
||||
// CHECK11: "clang", inputs: ["{{.*}}bindings.c"], output: "bindings.s"
|
||||
|
||||
// RUN: %clang -target powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "" %s -S 2>&1 | FileCheck %s --check-prefix=CHECK12
|
||||
// RUN: %clang -target powerpc-unknown-unknown -ccc-print-bindings %s -S 2>&1 | FileCheck %s --check-prefix=CHECK12
|
||||
// CHECK12: "clang", inputs: ["{{.*}}bindings.c"], output: "bindings.s"
|
||||
|
||||
// RUN: %clang -target powerpc-unknown-unknown -ccc-print-bindings -ccc-clang-archs "i386" %s -S 2>&1 | FileCheck %s --check-prefix=CHECK13
|
||||
// CHECK13: "gcc::Compile", inputs: ["{{.*}}bindings.c"], output: "bindings.s"
|
||||
|
||||
// Darwin bindings
|
||||
// RUN: %clang -target i386-apple-darwin9 -no-integrated-as -ccc-print-bindings %s 2>&1 | FileCheck %s --check-prefix=CHECK14
|
||||
// CHECK14: "clang", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.s"
|
||||
|
||||
@@ -54,31 +54,31 @@
|
||||
// ARMV5E: "-cc1"
|
||||
// ARMV5E: "-target-cpu" "arm1022e"
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: %clang -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: -### -S %s -mcpu=G5 2>&1 | FileCheck -check-prefix=PPCG5 %s
|
||||
// PPCG5: clang
|
||||
// PPCG5: "-cc1"
|
||||
// PPCG5: "-target-cpu" "g5"
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: %clang -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: -### -S %s -mcpu=power7 2>&1 | FileCheck -check-prefix=PPCPWR7 %s
|
||||
// PPCPWR7: clang
|
||||
// PPCPWR7: "-cc1"
|
||||
// PPCPWR7: "-target-cpu" "pwr7"
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: %clang -target powerpc64-unknown-linux-gnu \
|
||||
// RUN: -### -S %s 2>&1 | FileCheck -check-prefix=PPC64NS %s
|
||||
// PPC64NS: clang
|
||||
// PPC64NS: "-cc1"
|
||||
// PPC64NS: "-target-cpu" "ppc64"
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc -target powerpc-fsl-linux -### -S %s \
|
||||
// RUN: %clang -target powerpc-fsl-linux -### -S %s \
|
||||
// RUN: -mcpu=e500mc 2>&1 | FileCheck -check-prefix=PPCE500MC %s
|
||||
// PPCE500MC: clang
|
||||
// PPCE500MC: "-cc1"
|
||||
// PPCE500MC: "-target-cpu" "e500mc"
|
||||
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -target powerpc64-fsl-linux -### -S \
|
||||
// RUN: %clang -target powerpc64-fsl-linux -### -S \
|
||||
// RUN: %s -mcpu=e5500 2>&1 | FileCheck -check-prefix=PPCE5500 %s
|
||||
// PPCE5500: clang
|
||||
// PPCE5500: "-cc1"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// REQUIRES: ppc32-registered-target,ppc64-registered-target,mips-registered-target
|
||||
// RUN: %clang -ccc-clang-archs powerpc -no-canonical-prefixes \
|
||||
// RUN: %clang -no-canonical-prefixes \
|
||||
// RUN: -target powerpc-pc-freebsd8 %s \
|
||||
// RUN: --sysroot=%S/Inputs/basic_freebsd_tree -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PPC %s
|
||||
@@ -7,7 +7,7 @@
|
||||
// CHECK-PPC: ld{{.*}}" "--sysroot=[[SYSROOT:[^"]+]]"
|
||||
// CHECK-PPC: "--eh-frame-hdr" "-dynamic-linker" "{{.*}}ld-elf{{.*}}" "-o" "a.out" "{{.*}}crt1.o" "{{.*}}crti.o" "{{.*}}crtbegin.o" "-L[[SYSROOT]]/usr/lib" "{{.*}}.o" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" "{{.*}}crtend.o" "{{.*}}crtn.o"
|
||||
//
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -no-canonical-prefixes \
|
||||
// RUN: %clang -no-canonical-prefixes \
|
||||
// RUN: -target powerpc64-pc-freebsd8 %s \
|
||||
// RUN: --sysroot=%S/Inputs/basic_freebsd64_tree -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PPC64 %s
|
||||
@@ -48,25 +48,25 @@
|
||||
// and provide correct path to the dynamic linker for MIPS platforms.
|
||||
// Also verify that we tell the assembler to target the right ISA and ABI.
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-unknown-freebsd10.0 -ccc-clang-archs mips \
|
||||
// RUN: -target mips-unknown-freebsd10.0 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS %s
|
||||
// CHECK-MIPS: "{{[^" ]*}}ld{{[^" ]*}}"
|
||||
// CHECK-MIPS: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1"
|
||||
// CHECK-MIPS-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mipsel-unknown-freebsd10.0 -ccc-clang-archs mipsel \
|
||||
// RUN: -target mipsel-unknown-freebsd10.0 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPSEL %s
|
||||
// CHECK-MIPSEL: "{{[^" ]*}}ld{{[^" ]*}}"
|
||||
// CHECK-MIPSEL: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1"
|
||||
// CHECK-MIPSEL-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips64-unknown-freebsd10.0 -ccc-clang-archs mips64 \
|
||||
// RUN: -target mips64-unknown-freebsd10.0 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS64 %s
|
||||
// CHECK-MIPS64: "{{[^" ]*}}ld{{[^" ]*}}"
|
||||
// CHECK-MIPS64: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1"
|
||||
// CHECK-MIPS64-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips64el-unknown-freebsd10.0 -ccc-clang-archs mips64el \
|
||||
// RUN: -target mips64el-unknown-freebsd10.0 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS64EL %s
|
||||
// CHECK-MIPS64EL: "{{[^" ]*}}ld{{[^" ]*}}"
|
||||
// CHECK-MIPS64EL: "-dynamic-linker" "{{.*}}/libexec/ld-elf.so.1"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Check that we don't try to forward -Xclang or -mlinker-version to GCC.
|
||||
//
|
||||
// RUN: %clang -target powerpc-unknown-unknown \
|
||||
// RUN: -ccc-clang-archs i386 -c %s \
|
||||
// RUN: -c %s \
|
||||
// RUN: -Xclang foo-bar \
|
||||
// RUN: -mlinker-version=10 -### 2> %t
|
||||
// RUN: FileCheck < %t %s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// RUN: %clang -target le32-unknown-nacl -ccc-clang-archs le32 -ccc-echo %s -emit-llvm-only -c 2>&1 | FileCheck %s -check-prefix=ECHO
|
||||
// RUN: %clang -target le32-unknown-nacl -ccc-clang-archs le32 %s -emit-llvm -S -c -o - | FileCheck %s
|
||||
// RUN: %clang -target le32-unknown-nacl -ccc-clang-archs le32 %s -emit-llvm -S -c -pthread -o - | FileCheck %s -check-prefix=THREADS
|
||||
// RUN: %clang -target le32-unknown-nacl -ccc-echo %s -emit-llvm-only -c 2>&1 | FileCheck %s -check-prefix=ECHO
|
||||
// RUN: %clang -target le32-unknown-nacl %s -emit-llvm -S -c -o - | FileCheck %s
|
||||
// RUN: %clang -target le32-unknown-nacl %s -emit-llvm -S -c -pthread -o - | FileCheck %s -check-prefix=THREADS
|
||||
|
||||
// ECHO: {{.*}} -cc1 {{.*}}le32-unknown-nacl.c
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu"
|
||||
// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/include"
|
||||
// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
|
||||
// RUN: %clang -ccc-clang-archs powerpc -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: -target powerpc-linux-gnu \
|
||||
// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC %s
|
||||
@@ -59,7 +59,7 @@
|
||||
// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc-linux-gnu"
|
||||
// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/include"
|
||||
// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
|
||||
// RUN: %clang -ccc-clang-archs powerpc64 -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
|
||||
// RUN: -target powerpc64-linux-gnu \
|
||||
// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC64 %s
|
||||
|
||||
@@ -238,28 +238,28 @@
|
||||
// and provide correct path to the dynamic linker and emulation mode when build
|
||||
// for MIPS platforms.
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -ccc-clang-archs mips \
|
||||
// RUN: -target mips-linux-gnu \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS %s
|
||||
// CHECK-MIPS: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-MIPS: "-m" "elf32btsmip"
|
||||
// CHECK-MIPS: "-dynamic-linker" "{{.*}}/lib/ld.so.1"
|
||||
// CHECK-MIPS-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mipsel-linux-gnu -ccc-clang-archs mipsel \
|
||||
// RUN: -target mipsel-linux-gnu \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPSEL %s
|
||||
// CHECK-MIPSEL: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-MIPSEL: "-m" "elf32ltsmip"
|
||||
// CHECK-MIPSEL: "-dynamic-linker" "{{.*}}/lib/ld.so.1"
|
||||
// CHECK-MIPSEL-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips64-linux-gnu -ccc-clang-archs mips64 \
|
||||
// RUN: -target mips64-linux-gnu \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS64 %s
|
||||
// CHECK-MIPS64: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-MIPS64: "-m" "elf64btsmip"
|
||||
// CHECK-MIPS64: "-dynamic-linker" "{{.*}}/lib64/ld.so.1"
|
||||
// CHECK-MIPS64-NOT: "--hash-style={{gnu|both}}"
|
||||
// RUN: %clang %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips64el-linux-gnu -ccc-clang-archs mips64el \
|
||||
// RUN: -target mips64el-linux-gnu \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS64EL %s
|
||||
// CHECK-MIPS64EL: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-MIPS64EL: "-m" "elf64ltsmip"
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
// when build for MIPS platforms.
|
||||
//
|
||||
// Default
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-DEF %s
|
||||
// CHECK-DEF: "-mfloat-abi" "hard"
|
||||
//
|
||||
// -mhard-float
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -mhard-float \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-HARD %s
|
||||
// CHECK-HARD: "-mfloat-abi" "hard"
|
||||
//
|
||||
// -msoft-float
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -msoft-float \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-SOFT %s
|
||||
// CHECK-SOFT: "-msoft-float"
|
||||
@@ -23,13 +23,13 @@
|
||||
// CHECK-SOFT: "-target-feature" "+soft-float"
|
||||
//
|
||||
// -mfloat-abi=hard
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -mfloat-abi=hard \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ABI-HARD %s
|
||||
// CHECK-ABI-HARD: "-mfloat-abi" "hard"
|
||||
//
|
||||
// -mfloat-abi=soft
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -mfloat-abi=soft \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ABI-SOFT %s
|
||||
// CHECK-ABI-SOFT: "-msoft-float"
|
||||
@@ -37,7 +37,7 @@
|
||||
// CHECK-ABI-SOFT: "-target-feature" "+soft-float"
|
||||
//
|
||||
// -mfloat-abi=single
|
||||
// RUN: %clang -ccc-clang-archs mips -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: %clang -c %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target mips-linux-gnu -mfloat-abi=single \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ABI-SINGLE %s
|
||||
// CHECK-ABI-SINGLE: "-target-feature" "+single-float"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// RUN: %clang -no-canonical-prefixes -ccc-clang-archs "" -target i686-pc-openbsd %s -### 2>&1 \
|
||||
// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LD %s
|
||||
// CHECK-LD: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
|
||||
// CHECK-LD: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes -ccc-clang-archs "" -target i686-pc-openbsd -pg -pthread %s -### 2>&1 \
|
||||
// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -pg -pthread %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PG %s
|
||||
// CHECK-PG: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
|
||||
// CHECK-PG: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lpthread_p" "-lc_p" "-lgcc" "{{.*}}crtend.o"
|
||||
|
||||
@@ -18,7 +18,7 @@ This test serves two purposes:
|
||||
|
||||
The list of warnings below should NEVER grow. It should gradually shrink to 0.
|
||||
|
||||
CHECK: Warnings without flags (157):
|
||||
CHECK: Warnings without flags (156):
|
||||
CHECK-NEXT: ext_delete_void_ptr_operand
|
||||
CHECK-NEXT: ext_enum_friend
|
||||
CHECK-NEXT: ext_expected_semi_decl_list
|
||||
@@ -71,7 +71,6 @@ CHECK-NEXT: warn_delete_array_type
|
||||
CHECK-NEXT: warn_double_const_requires_fp64
|
||||
CHECK-NEXT: warn_drv_assuming_mfloat_abi_is
|
||||
CHECK-NEXT: warn_drv_clang_unsupported
|
||||
CHECK-NEXT: warn_drv_not_using_clang_arch
|
||||
CHECK-NEXT: warn_drv_not_using_clang_cpp
|
||||
CHECK-NEXT: warn_drv_not_using_clang_cxx
|
||||
CHECK-NEXT: warn_drv_objc_gc_unsupported
|
||||
|
||||
Reference in New Issue
Block a user