mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-14 14:56:47 +00:00
Remove Bitrig: Clang Changes
Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned. Differential Revision: https://reviews.llvm.org/D35708 llvm-svn: 308797
This commit is contained in:
parent
ebba592682
commit
2b9657b570
@ -153,8 +153,6 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
|
||||
return new NetBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::OpenBSD:
|
||||
return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::Bitrig:
|
||||
return new BitrigTargetInfo<ARMleTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::RTEMS:
|
||||
return new RTEMSTargetInfo<ARMleTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::NaCl:
|
||||
@ -189,8 +187,6 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
|
||||
return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::OpenBSD:
|
||||
return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::Bitrig:
|
||||
return new BitrigTargetInfo<ARMbeTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::RTEMS:
|
||||
return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::NaCl:
|
||||
@ -421,8 +417,6 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
|
||||
return new NetBSDI386TargetInfo(Triple, Opts);
|
||||
case llvm::Triple::OpenBSD:
|
||||
return new OpenBSDI386TargetInfo(Triple, Opts);
|
||||
case llvm::Triple::Bitrig:
|
||||
return new BitrigI386TargetInfo(Triple, Opts);
|
||||
case llvm::Triple::FreeBSD:
|
||||
return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::KFreeBSD:
|
||||
@ -478,8 +472,6 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
|
||||
return new NetBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::OpenBSD:
|
||||
return new OpenBSDX86_64TargetInfo(Triple, Opts);
|
||||
case llvm::Triple::Bitrig:
|
||||
return new BitrigX86_64TargetInfo(Triple, Opts);
|
||||
case llvm::Triple::FreeBSD:
|
||||
return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
||||
case llvm::Triple::Fuchsia:
|
||||
|
@ -95,10 +95,10 @@ class LLVM_LIBRARY_VISIBILITY ARMTargetInfo : public TargetInfo {
|
||||
DoubleAlign = LongLongAlign = LongDoubleAlign = SuitableAlign = 64;
|
||||
const llvm::Triple &T = getTriple();
|
||||
|
||||
// size_t is unsigned long on MachO-derived environments, NetBSD,
|
||||
// OpenBSD and Bitrig.
|
||||
// size_t is unsigned long on MachO-derived environments, NetBSD, and
|
||||
// OpenBSD.
|
||||
if (T.isOSBinFormatMachO() || T.getOS() == llvm::Triple::NetBSD ||
|
||||
T.getOS() == llvm::Triple::OpenBSD || T.getOS() == llvm::Triple::Bitrig)
|
||||
T.getOS() == llvm::Triple::OpenBSD)
|
||||
SizeType = UnsignedLong;
|
||||
else
|
||||
SizeType = UnsignedInt;
|
||||
|
@ -423,39 +423,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
// Bitrig Target
|
||||
template <typename Target>
|
||||
class LLVM_LIBRARY_VISIBILITY BitrigTargetInfo : public OSTargetInfo<Target> {
|
||||
protected:
|
||||
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
|
||||
MacroBuilder &Builder) const override {
|
||||
// Bitrig defines; list based off of gcc output
|
||||
|
||||
Builder.defineMacro("__Bitrig__");
|
||||
DefineStd(Builder, "unix", Opts);
|
||||
Builder.defineMacro("__ELF__");
|
||||
if (Opts.POSIXThreads)
|
||||
Builder.defineMacro("_REENTRANT");
|
||||
|
||||
switch (Triple.getArch()) {
|
||||
default:
|
||||
break;
|
||||
case llvm::Triple::arm:
|
||||
case llvm::Triple::armeb:
|
||||
case llvm::Triple::thumb:
|
||||
case llvm::Triple::thumbeb:
|
||||
Builder.defineMacro("__ARM_DWARF_EH__");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
BitrigTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
|
||||
: OSTargetInfo<Target>(Triple, Opts) {
|
||||
this->MCountName = "__mcount";
|
||||
}
|
||||
};
|
||||
|
||||
// PSP Target
|
||||
template <typename Target>
|
||||
class LLVM_LIBRARY_VISIBILITY PSPTargetInfo : public OSTargetInfo<Target> {
|
||||
|
@ -617,17 +617,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY BitrigI386TargetInfo
|
||||
: public BitrigTargetInfo<X86_32TargetInfo> {
|
||||
public:
|
||||
BitrigI386TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
|
||||
: BitrigTargetInfo<X86_32TargetInfo>(Triple, Opts) {
|
||||
SizeType = UnsignedLong;
|
||||
IntPtrType = SignedLong;
|
||||
PtrDiffType = SignedLong;
|
||||
}
|
||||
};
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY DarwinI386TargetInfo
|
||||
: public DarwinTargetInfo<X86_32TargetInfo> {
|
||||
public:
|
||||
@ -1112,16 +1101,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY BitrigX86_64TargetInfo
|
||||
: public BitrigTargetInfo<X86_64TargetInfo> {
|
||||
public:
|
||||
BitrigX86_64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
|
||||
: BitrigTargetInfo<X86_64TargetInfo>(Triple, Opts) {
|
||||
IntMaxType = SignedLongLong;
|
||||
Int64Type = SignedLongLong;
|
||||
}
|
||||
};
|
||||
|
||||
// x86_32 Android target
|
||||
class LLVM_LIBRARY_VISIBILITY AndroidX86_32TargetInfo
|
||||
: public LinuxTargetInfo<X86_32TargetInfo> {
|
||||
|
@ -1903,7 +1903,6 @@ bool X86_32TargetCodeGenInfo::isStructReturnInRegABI(
|
||||
case llvm::Triple::DragonFly:
|
||||
case llvm::Triple::FreeBSD:
|
||||
case llvm::Triple::OpenBSD:
|
||||
case llvm::Triple::Bitrig:
|
||||
case llvm::Triple::Win32:
|
||||
return true;
|
||||
default:
|
||||
|
@ -31,7 +31,6 @@ add_clang_library(clangDriver
|
||||
ToolChains/Ananas.cpp
|
||||
ToolChains/AMDGPU.cpp
|
||||
ToolChains/AVR.cpp
|
||||
ToolChains/Bitrig.cpp
|
||||
ToolChains/BareMetal.cpp
|
||||
ToolChains/Clang.cpp
|
||||
ToolChains/CloudABI.cpp
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include "ToolChains/AMDGPU.h"
|
||||
#include "ToolChains/AVR.h"
|
||||
#include "ToolChains/Ananas.h"
|
||||
#include "ToolChains/Bitrig.h"
|
||||
#include "ToolChains/Clang.h"
|
||||
#include "ToolChains/CloudABI.h"
|
||||
#include "ToolChains/Contiki.h"
|
||||
@ -3815,9 +3814,6 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
|
||||
case llvm::Triple::OpenBSD:
|
||||
TC = llvm::make_unique<toolchains::OpenBSD>(*this, Target, Args);
|
||||
break;
|
||||
case llvm::Triple::Bitrig:
|
||||
TC = llvm::make_unique<toolchains::Bitrig>(*this, Target, Args);
|
||||
break;
|
||||
case llvm::Triple::NetBSD:
|
||||
TC = llvm::make_unique<toolchains::NetBSD>(*this, Target, Args);
|
||||
break;
|
||||
|
@ -101,8 +101,6 @@ const char *x86::getX86TargetCPU(const ArgList &Args,
|
||||
return "i486";
|
||||
case llvm::Triple::Haiku:
|
||||
return "i586";
|
||||
case llvm::Triple::Bitrig:
|
||||
return "i686";
|
||||
default:
|
||||
// Fallback to p4.
|
||||
return "pentium4";
|
||||
|
@ -1,190 +0,0 @@
|
||||
//===--- Bitrig.cpp - Bitrig ToolChain Implementations ----------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "Bitrig.h"
|
||||
#include "CommonArgs.h"
|
||||
#include "clang/Driver/Compilation.h"
|
||||
#include "clang/Driver/Options.h"
|
||||
#include "llvm/Option/ArgList.h"
|
||||
|
||||
using namespace clang::driver;
|
||||
using namespace clang::driver::toolchains;
|
||||
using namespace clang::driver::tools;
|
||||
using namespace clang;
|
||||
using namespace llvm::opt;
|
||||
|
||||
void bitrig::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
const InputInfoList &Inputs,
|
||||
const ArgList &Args,
|
||||
const char *LinkingOutput) const {
|
||||
claimNoWarnArgs(Args);
|
||||
ArgStringList CmdArgs;
|
||||
|
||||
Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
|
||||
|
||||
CmdArgs.push_back("-o");
|
||||
CmdArgs.push_back(Output.getFilename());
|
||||
|
||||
for (const auto &II : Inputs)
|
||||
CmdArgs.push_back(II.getFilename());
|
||||
|
||||
const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("as"));
|
||||
C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
|
||||
}
|
||||
|
||||
void bitrig::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
const InputInfoList &Inputs,
|
||||
const ArgList &Args,
|
||||
const char *LinkingOutput) const {
|
||||
const Driver &D = getToolChain().getDriver();
|
||||
ArgStringList CmdArgs;
|
||||
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_shared)) {
|
||||
CmdArgs.push_back("-e");
|
||||
CmdArgs.push_back("__start");
|
||||
}
|
||||
|
||||
if (Args.hasArg(options::OPT_static)) {
|
||||
CmdArgs.push_back("-Bstatic");
|
||||
} else {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
CmdArgs.push_back("--eh-frame-hdr");
|
||||
CmdArgs.push_back("-Bdynamic");
|
||||
if (Args.hasArg(options::OPT_shared)) {
|
||||
CmdArgs.push_back("-shared");
|
||||
} else {
|
||||
CmdArgs.push_back("-dynamic-linker");
|
||||
CmdArgs.push_back("/usr/libexec/ld.so");
|
||||
}
|
||||
}
|
||||
|
||||
if (Output.isFilename()) {
|
||||
CmdArgs.push_back("-o");
|
||||
CmdArgs.push_back(Output.getFilename());
|
||||
} else {
|
||||
assert(Output.isNothing() && "Invalid output.");
|
||||
}
|
||||
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) {
|
||||
if (!Args.hasArg(options::OPT_shared)) {
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("gcrt0.o")));
|
||||
else
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crt0.o")));
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));
|
||||
} else {
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crtbeginS.o")));
|
||||
}
|
||||
}
|
||||
|
||||
Args.AddAllArgs(CmdArgs,
|
||||
{options::OPT_L, options::OPT_T_Group, options::OPT_e});
|
||||
|
||||
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
|
||||
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
|
||||
if (D.CCCIsCXX()) {
|
||||
getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back("-lm_p");
|
||||
else
|
||||
CmdArgs.push_back("-lm");
|
||||
}
|
||||
|
||||
if (Args.hasArg(options::OPT_pthread)) {
|
||||
if (!Args.hasArg(options::OPT_shared) && Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back("-lpthread_p");
|
||||
else
|
||||
CmdArgs.push_back("-lpthread");
|
||||
}
|
||||
|
||||
if (!Args.hasArg(options::OPT_shared)) {
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back("-lc_p");
|
||||
else
|
||||
CmdArgs.push_back("-lc");
|
||||
}
|
||||
|
||||
StringRef MyArch;
|
||||
switch (getToolChain().getArch()) {
|
||||
case llvm::Triple::arm:
|
||||
MyArch = "arm";
|
||||
break;
|
||||
case llvm::Triple::x86:
|
||||
MyArch = "i386";
|
||||
break;
|
||||
case llvm::Triple::x86_64:
|
||||
MyArch = "amd64";
|
||||
break;
|
||||
default:
|
||||
llvm_unreachable("Unsupported architecture");
|
||||
}
|
||||
CmdArgs.push_back(Args.MakeArgString("-lclang_rt." + MyArch));
|
||||
}
|
||||
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) {
|
||||
if (!Args.hasArg(options::OPT_shared))
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crtend.o")));
|
||||
else
|
||||
CmdArgs.push_back(
|
||||
Args.MakeArgString(getToolChain().GetFilePath("crtendS.o")));
|
||||
}
|
||||
|
||||
const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath());
|
||||
C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
|
||||
}
|
||||
|
||||
/// Bitrig - Bitrig tool chain which can call as(1) and ld(1) directly.
|
||||
|
||||
Bitrig::Bitrig(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
: Generic_ELF(D, Triple, Args) {
|
||||
getFilePaths().push_back(getDriver().Dir + "/../lib");
|
||||
getFilePaths().push_back("/usr/lib");
|
||||
}
|
||||
|
||||
Tool *Bitrig::buildAssembler() const {
|
||||
return new tools::bitrig::Assembler(*this);
|
||||
}
|
||||
|
||||
Tool *Bitrig::buildLinker() const { return new tools::bitrig::Linker(*this); }
|
||||
|
||||
ToolChain::CXXStdlibType Bitrig::GetDefaultCXXStdlibType() const {
|
||||
return ToolChain::CST_Libcxx;
|
||||
}
|
||||
|
||||
void Bitrig::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
|
||||
llvm::opt::ArgStringList &CC1Args) const {
|
||||
std::string Triple = getTriple().str();
|
||||
if (StringRef(Triple).startswith("amd64"))
|
||||
Triple = "x86_64" + Triple.substr(5);
|
||||
addLibStdCXXIncludePaths(getDriver().SysRoot, "/usr/include/c++/stdc++",
|
||||
Triple, "", "", "", DriverArgs, CC1Args);
|
||||
}
|
||||
|
||||
void Bitrig::AddCXXStdlibLibArgs(const ArgList &Args,
|
||||
ArgStringList &CmdArgs) const {
|
||||
switch (GetCXXStdlibType(Args)) {
|
||||
case ToolChain::CST_Libcxx:
|
||||
CmdArgs.push_back("-lc++");
|
||||
CmdArgs.push_back("-lc++abi");
|
||||
CmdArgs.push_back("-lpthread");
|
||||
break;
|
||||
case ToolChain::CST_Libstdcxx:
|
||||
CmdArgs.push_back("-lstdc++");
|
||||
break;
|
||||
}
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
//===--- Bitrig.h - Bitrig ToolChain Implementations ------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BITRIG_H
|
||||
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BITRIG_H
|
||||
|
||||
#include "Gnu.h"
|
||||
#include "clang/Driver/Driver.h"
|
||||
#include "clang/Driver/ToolChain.h"
|
||||
|
||||
namespace clang {
|
||||
namespace driver {
|
||||
namespace tools {
|
||||
/// bitrig -- Directly call GNU Binutils assembler and linker
|
||||
namespace bitrig {
|
||||
class LLVM_LIBRARY_VISIBILITY Assembler : public GnuTool {
|
||||
public:
|
||||
Assembler(const ToolChain &TC)
|
||||
: GnuTool("bitrig::Assembler", "assembler", TC) {}
|
||||
|
||||
bool hasIntegratedCPP() const override { return false; }
|
||||
|
||||
void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output, const InputInfoList &Inputs,
|
||||
const llvm::opt::ArgList &TCArgs,
|
||||
const char *LinkingOutput) const override;
|
||||
};
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY Linker : public GnuTool {
|
||||
public:
|
||||
Linker(const ToolChain &TC) : GnuTool("bitrig::Linker", "linker", TC) {}
|
||||
|
||||
bool hasIntegratedCPP() const override { return false; }
|
||||
bool isLinkJob() const override { return true; }
|
||||
|
||||
void ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output, const InputInfoList &Inputs,
|
||||
const llvm::opt::ArgList &TCArgs,
|
||||
const char *LinkingOutput) const override;
|
||||
};
|
||||
} // end namespace bitrig
|
||||
} // end namespace tools
|
||||
|
||||
namespace toolchains {
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY Bitrig : public Generic_ELF {
|
||||
public:
|
||||
Bitrig(const Driver &D, const llvm::Triple &Triple,
|
||||
const llvm::opt::ArgList &Args);
|
||||
|
||||
bool IsMathErrnoDefault() const override { return false; }
|
||||
bool IsObjCNonFragileABIDefault() const override { return true; }
|
||||
|
||||
CXXStdlibType GetDefaultCXXStdlibType() const override;
|
||||
void addLibStdCxxIncludePaths(
|
||||
const llvm::opt::ArgList &DriverArgs,
|
||||
llvm::opt::ArgStringList &CC1Args) const override;
|
||||
void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
|
||||
llvm::opt::ArgStringList &CmdArgs) const override;
|
||||
unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override {
|
||||
return 1;
|
||||
}
|
||||
|
||||
protected:
|
||||
Tool *buildAssembler() const override;
|
||||
Tool *buildLinker() const override;
|
||||
};
|
||||
|
||||
} // end namespace toolchains
|
||||
} // end namespace driver
|
||||
} // end namespace clang
|
||||
|
||||
#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BITRIG_H
|
@ -213,7 +213,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
case llvm::Triple::FreeBSD:
|
||||
case llvm::Triple::NetBSD:
|
||||
case llvm::Triple::OpenBSD:
|
||||
case llvm::Triple::Bitrig:
|
||||
case llvm::Triple::NaCl:
|
||||
case llvm::Triple::PS4:
|
||||
case llvm::Triple::ELFIAMCU:
|
||||
|
@ -32,7 +32,6 @@ static bool isArc4RandomAvailable(const ASTContext &Ctx) {
|
||||
T.getOS() == llvm::Triple::FreeBSD ||
|
||||
T.getOS() == llvm::Triple::NetBSD ||
|
||||
T.getOS() == llvm::Triple::OpenBSD ||
|
||||
T.getOS() == llvm::Triple::Bitrig ||
|
||||
T.getOS() == llvm::Triple::DragonFly;
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
|
||||
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s
|
||||
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s
|
||||
// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-bitrig | FileCheck %s
|
||||
|
||||
typedef int _Atomic_word;
|
||||
_Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {
|
||||
|
@ -1,29 +0,0 @@
|
||||
// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LD-C %s
|
||||
// CHECK-LD-C: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-LD-C: ld{{.*}}" {{.*}} "-lc" "-lclang_rt.amd64"
|
||||
|
||||
// RUN: %clangxx -stdlib=platform -no-canonical-prefixes -target amd64-pc-bitrig %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LD-CXX-STDLIB %s
|
||||
// CHECK-LD-CXX-STDLIB: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-LD-CXX-STDLIB: ld{{.*}}" {{.*}} "-lc++" "-lc++abi" "-lpthread" "-lm" "-lc" "-lclang_rt.amd64"
|
||||
|
||||
// RUN: %clangxx -stdlib=libstdc++ -no-canonical-prefixes -target amd64-pc-bitrig %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LD-CXX %s
|
||||
// CHECK-LD-CXX: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-LD-CXX: ld{{.*}}" {{.*}} "-lstdc++" "-lm" "-lc" "-lclang_rt.amd64"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig -pthread %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PTHREAD %s
|
||||
// CHECK-PTHREAD: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-PTHREAD: ld{{.*}}" {{.*}} "{{.*}}crtbegin.o" {{.*}}.o" "-lpthread" "-lc" "-lclang_rt.amd64" "{{.*}}crtend.o"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig -pg -pthread %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PG-PTHREAD %s
|
||||
// CHECK-PG-PTHREAD: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-PG-PTHREAD: ld{{.*}}" {{.*}} "{{.*}}crtbegin.o" {{.*}}.o" "-lpthread_p" "-lc_p" "-lclang_rt.amd64" "{{.*}}crtend.o"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes -target amd64-pc-bitrig -shared -pg -pthread %s -### 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-PG-PTHREAD-SHARED %s
|
||||
// CHECK-PG-PTHREAD-SHARED: clang{{.*}}" "-cc1" "-triple" "amd64-pc-bitrig"
|
||||
// CHECK-PG-PTHREAD-SHARED: ld{{.*}}" {{.*}} "{{.*}}crtbeginS.o" {{.*}}.o" "-lpthread" "-lclang_rt.amd64" "{{.*}}crtendS.o"
|
@ -28,10 +28,6 @@
|
||||
// RUN: %clang -target armv7-apple-ios -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
|
||||
// RUN: %clang -target arm64-apple-ios -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
|
||||
// RUN: %clang -target arm64-apple-ios -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
|
||||
// RUN: %clang -target armv7-unknown-bitrig-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-BIGRIG
|
||||
// RUN: %clang -target armv7-unknown-bitrig-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-BIGRIG
|
||||
// RUN: %clang -target aarch64-unknown-bitrig-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-BITRIG
|
||||
// RUN: %clang -target aarch64-unknown-bitrig-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-BITRIG
|
||||
// RUN: %clang -target armv7-unknown-rtems-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-RTEMS
|
||||
// RUN: %clang -target armv7-unknown-rtems-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-RTEMS
|
||||
// RUN: %clang -target aarch64-unknown-rtems-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-RTEMS
|
||||
@ -71,10 +67,6 @@ int f() {
|
||||
// CHECK-ARM64-EABI-OPENBSD-NOT: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
|
||||
// CHECK-ARM-EABI-MEABI-GNU-NOT: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="mcount"{{.*}} }
|
||||
// CHECK-ARM-EABI-MEABI-GNU: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
|
||||
// CHECK-ARM-EABI-BITRIG: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="__mcount"{{.*}} }
|
||||
// CHECK-ARM-EABI-BITRIG-NOT: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
|
||||
// CHECK-ARM54-EABI-BITRIG: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="mcount"{{.*}} }
|
||||
// CHECK-ARM54-EABI-BITRIG-NOT: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
|
||||
// CHECK-ARM-EABI-RTEMS: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="mcount"{{.*}} }
|
||||
// CHECK-ARM-EABI-RTEMS-NOT: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
|
||||
// CHECK-ARM64-EABI-RTEMS: attributes #{{[0-9]+}} = { {{.*}}"counting-function"="mcount"{{.*}} }
|
||||
|
@ -2413,13 +2413,6 @@
|
||||
// RUN: %clang -target x86_64-apple-darwin -arch armv7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s
|
||||
// ARM-MACHO-NO-EABI-NOT: #define __ARM_EABI__ 1
|
||||
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv7-bitrig-gnueabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-BITRIG %s
|
||||
// ARM-BITRIG:#define __ARM_DWARF_EH__ 1
|
||||
// ARM-BITRIG:#define __SIZEOF_SIZE_T__ 4
|
||||
// ARM-BITRIG:#define __SIZE_MAX__ 4294967295UL
|
||||
// ARM-BITRIG:#define __SIZE_TYPE__ long unsigned int
|
||||
// ARM-BITRIG:#define __SIZE_WIDTH__ 32
|
||||
|
||||
// Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default.
|
||||
|
||||
// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMHWDIV-ARM %s
|
||||
|
@ -19,8 +19,4 @@
|
||||
// Haiku does not suppport TLS.
|
||||
// RUN: not %clang_cc1 -triple i586-pc-haiku -fsyntax-only %s
|
||||
|
||||
// Bitrig suppports TLS.
|
||||
// RUN: %clang_cc1 -triple x86_64-pc-bitrig -fsyntax-only %s
|
||||
// RUN: %clang_cc1 -triple armv6-unknown-bitrig -fsyntax-only %s
|
||||
|
||||
__thread int x;
|
||||
|
Loading…
x
Reference in New Issue
Block a user