mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 18:16:04 +00:00
Delete CloudABI support
After this D108637 and with FreeBSD -current and now 14 dropping support for CloudABI I think it is time to consider deleting the CloudABI support. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D158920
This commit is contained in:
parent
09f4c6967f
commit
5165593a97
@ -399,7 +399,6 @@ clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
|
||||
clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
|
||||
clang/lib/Driver/ToolChains/AVR.cpp
|
||||
clang/lib/Driver/ToolChains/AVR.h
|
||||
clang/lib/Driver/ToolChains/CloudABI.cpp
|
||||
clang/lib/Driver/ToolChains/CommonArgs.h
|
||||
clang/lib/Driver/ToolChains/CrossWindows.h
|
||||
clang/lib/Driver/ToolChains/DragonFly.h
|
||||
|
@ -142,9 +142,6 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
|
||||
return std::make_unique<DarwinAArch64TargetInfo>(Triple, Opts);
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
return std::make_unique<CloudABITargetInfo<AArch64leTargetInfo>>(Triple,
|
||||
Opts);
|
||||
case llvm::Triple::FreeBSD:
|
||||
return std::make_unique<FreeBSDTargetInfo<AArch64leTargetInfo>>(Triple,
|
||||
Opts);
|
||||
@ -202,9 +199,6 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
|
||||
return std::make_unique<DarwinARMTargetInfo>(Triple, Opts);
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
return std::make_unique<CloudABITargetInfo<ARMleTargetInfo>>(Triple,
|
||||
Opts);
|
||||
case llvm::Triple::Linux:
|
||||
switch (Triple.getEnvironment()) {
|
||||
default:
|
||||
@ -541,9 +535,6 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
|
||||
return std::make_unique<DarwinI386TargetInfo>(Triple, Opts);
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
return std::make_unique<CloudABITargetInfo<X86_32TargetInfo>>(Triple,
|
||||
Opts);
|
||||
case llvm::Triple::Linux: {
|
||||
switch (Triple.getEnvironment()) {
|
||||
default:
|
||||
@ -603,9 +594,6 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
|
||||
return std::make_unique<DarwinX86_64TargetInfo>(Triple, Opts);
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
return std::make_unique<CloudABITargetInfo<X86_64TargetInfo>>(Triple,
|
||||
Opts);
|
||||
case llvm::Triple::Linux: {
|
||||
switch (Triple.getEnvironment()) {
|
||||
default:
|
||||
|
@ -34,22 +34,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
// CloudABI Target
|
||||
template <typename Target>
|
||||
class LLVM_LIBRARY_VISIBILITY CloudABITargetInfo : public OSTargetInfo<Target> {
|
||||
protected:
|
||||
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
|
||||
MacroBuilder &Builder) const override {
|
||||
Builder.defineMacro("__CloudABI__");
|
||||
|
||||
// CloudABI uses ISO/IEC 10646:2012 for wchar_t, char16_t and char32_t.
|
||||
Builder.defineMacro("__STDC_ISO_10646__", "201206L");
|
||||
}
|
||||
|
||||
public:
|
||||
using OSTargetInfo<Target>::OSTargetInfo;
|
||||
};
|
||||
|
||||
void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
|
||||
const llvm::Triple &Triple, StringRef &PlatformName,
|
||||
VersionTuple &PlatformMinVersion);
|
||||
|
@ -47,7 +47,6 @@ add_clang_library(clangDriver
|
||||
ToolChains/AVR.cpp
|
||||
ToolChains/BareMetal.cpp
|
||||
ToolChains/Clang.cpp
|
||||
ToolChains/CloudABI.cpp
|
||||
ToolChains/CommonArgs.cpp
|
||||
ToolChains/CrossWindows.cpp
|
||||
ToolChains/CSKYToolChain.cpp
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "ToolChains/BareMetal.h"
|
||||
#include "ToolChains/CSKYToolChain.h"
|
||||
#include "ToolChains/Clang.h"
|
||||
#include "ToolChains/CloudABI.h"
|
||||
#include "ToolChains/CrossWindows.h"
|
||||
#include "ToolChains/Cuda.h"
|
||||
#include "ToolChains/Darwin.h"
|
||||
@ -6150,9 +6149,6 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
|
||||
case llvm::Triple::Haiku:
|
||||
TC = std::make_unique<toolchains::Haiku>(*this, Target, Args);
|
||||
break;
|
||||
case llvm::Triple::CloudABI:
|
||||
TC = std::make_unique<toolchains::CloudABI>(*this, Target, Args);
|
||||
break;
|
||||
case llvm::Triple::Darwin:
|
||||
case llvm::Triple::MacOSX:
|
||||
case llvm::Triple::IOS:
|
||||
|
@ -466,8 +466,7 @@ static bool useFramePointerForTargetByDefault(const ArgList &Args,
|
||||
return !areOptimizationsEnabled(Args);
|
||||
}
|
||||
|
||||
if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI ||
|
||||
Triple.isOSHurd()) {
|
||||
if (Triple.isOSLinux() || Triple.isOSHurd()) {
|
||||
switch (Triple.getArch()) {
|
||||
// Don't use a frame pointer on linux if optimizing for certain targets.
|
||||
case llvm::Triple::arm:
|
||||
|
@ -1,151 +0,0 @@
|
||||
//===--- CloudABI.cpp - CloudABI ToolChain Implementations ------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "CloudABI.h"
|
||||
#include "CommonArgs.h"
|
||||
#include "clang/Driver/Compilation.h"
|
||||
#include "clang/Driver/Driver.h"
|
||||
#include "clang/Driver/InputInfo.h"
|
||||
#include "clang/Driver/Options.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/Option/ArgList.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
|
||||
using namespace clang::driver;
|
||||
using namespace clang::driver::tools;
|
||||
using namespace clang::driver::toolchains;
|
||||
using namespace clang;
|
||||
using namespace llvm::opt;
|
||||
|
||||
void cloudabi::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
const InputInfo &Output,
|
||||
const InputInfoList &Inputs,
|
||||
const ArgList &Args,
|
||||
const char *LinkingOutput) const {
|
||||
const ToolChain &ToolChain = getToolChain();
|
||||
const Driver &D = ToolChain.getDriver();
|
||||
ArgStringList CmdArgs;
|
||||
|
||||
// Silence warning for "clang -g foo.o -o foo"
|
||||
Args.ClaimAllArgs(options::OPT_g_Group);
|
||||
// and "clang -emit-llvm foo.o -o foo"
|
||||
Args.ClaimAllArgs(options::OPT_emit_llvm);
|
||||
// and for "clang -w foo.o -o foo". Other warning options are already
|
||||
// handled somewhere else.
|
||||
Args.ClaimAllArgs(options::OPT_w);
|
||||
|
||||
if (!D.SysRoot.empty())
|
||||
CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
|
||||
|
||||
// CloudABI only supports static linkage.
|
||||
CmdArgs.push_back("-Bstatic");
|
||||
CmdArgs.push_back("--no-dynamic-linker");
|
||||
|
||||
// Provide PIE linker flags in case PIE is default for the architecture.
|
||||
if (ToolChain.isPIEDefault(Args)) {
|
||||
CmdArgs.push_back("-pie");
|
||||
CmdArgs.push_back("-zrelro");
|
||||
}
|
||||
|
||||
CmdArgs.push_back("--eh-frame-hdr");
|
||||
CmdArgs.push_back("--gc-sections");
|
||||
|
||||
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)) {
|
||||
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
|
||||
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtbegin.o")));
|
||||
}
|
||||
|
||||
Args.AddAllArgs(CmdArgs, options::OPT_L);
|
||||
ToolChain.AddFilePathLibArgs(Args, CmdArgs);
|
||||
Args.AddAllArgs(CmdArgs,
|
||||
{options::OPT_T_Group, options::OPT_s, options::OPT_t,
|
||||
options::OPT_Z_Flag, options::OPT_r});
|
||||
|
||||
if (D.isUsingLTO()) {
|
||||
assert(!Inputs.empty() && "Must have at least one input.");
|
||||
addLTOOptions(ToolChain, Args, CmdArgs, Output, Inputs[0],
|
||||
D.getLTOMode() == LTOK_Thin);
|
||||
}
|
||||
|
||||
AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
|
||||
|
||||
if (ToolChain.ShouldLinkCXXStdlib(Args))
|
||||
ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
|
||||
CmdArgs.push_back("-lc");
|
||||
CmdArgs.push_back("-lcompiler_rt");
|
||||
}
|
||||
|
||||
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles))
|
||||
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
|
||||
|
||||
const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
|
||||
C.addCommand(std::make_unique<Command>(JA, *this,
|
||||
ResponseFileSupport::AtFileCurCP(),
|
||||
Exec, CmdArgs, Inputs, Output));
|
||||
}
|
||||
|
||||
// CloudABI - CloudABI tool chain which can call ld(1) directly.
|
||||
|
||||
CloudABI::CloudABI(const Driver &D, const llvm::Triple &Triple,
|
||||
const ArgList &Args)
|
||||
: Generic_ELF(D, Triple, Args) {
|
||||
SmallString<128> P(getDriver().Dir);
|
||||
llvm::sys::path::append(P, "..", getTriple().str(), "lib");
|
||||
getFilePaths().push_back(std::string(P.str()));
|
||||
}
|
||||
|
||||
void CloudABI::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
|
||||
llvm::opt::ArgStringList &CC1Args) const {
|
||||
SmallString<128> P(getDriver().Dir);
|
||||
llvm::sys::path::append(P, "..", getTriple().str(), "include/c++/v1");
|
||||
addSystemInclude(DriverArgs, CC1Args, P.str());
|
||||
}
|
||||
|
||||
void CloudABI::AddCXXStdlibLibArgs(const ArgList &Args,
|
||||
ArgStringList &CmdArgs) const {
|
||||
CmdArgs.push_back("-lc++");
|
||||
if (Args.hasArg(options::OPT_fexperimental_library))
|
||||
CmdArgs.push_back("-lc++experimental");
|
||||
CmdArgs.push_back("-lc++abi");
|
||||
CmdArgs.push_back("-lunwind");
|
||||
}
|
||||
|
||||
Tool *CloudABI::buildLinker() const {
|
||||
return new tools::cloudabi::Linker(*this);
|
||||
}
|
||||
|
||||
bool CloudABI::isPIEDefault(const llvm::opt::ArgList &Args) const {
|
||||
// Only enable PIE on architectures that support PC-relative
|
||||
// addressing. PC-relative addressing is required, as the process
|
||||
// startup code must be able to relocate itself.
|
||||
switch (getTriple().getArch()) {
|
||||
case llvm::Triple::aarch64:
|
||||
case llvm::Triple::x86_64:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
SanitizerMask CloudABI::getSupportedSanitizers() const {
|
||||
SanitizerMask Res = ToolChain::getSupportedSanitizers();
|
||||
Res |= SanitizerKind::SafeStack;
|
||||
return Res;
|
||||
}
|
||||
|
||||
SanitizerMask CloudABI::getDefaultSanitizers() const {
|
||||
return SanitizerKind::SafeStack;
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
//===--- CloudABI.h - CloudABI ToolChain Implementations --------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_CLOUDABI_H
|
||||
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_CLOUDABI_H
|
||||
|
||||
#include "Gnu.h"
|
||||
#include "clang/Driver/Tool.h"
|
||||
#include "clang/Driver/ToolChain.h"
|
||||
|
||||
namespace clang {
|
||||
namespace driver {
|
||||
namespace tools {
|
||||
|
||||
/// cloudabi -- Directly call GNU Binutils linker
|
||||
namespace cloudabi {
|
||||
class LLVM_LIBRARY_VISIBILITY Linker : public Tool {
|
||||
public:
|
||||
Linker(const ToolChain &TC) : Tool("cloudabi::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 cloudabi
|
||||
} // end namespace tools
|
||||
|
||||
namespace toolchains {
|
||||
|
||||
class LLVM_LIBRARY_VISIBILITY CloudABI : public Generic_ELF {
|
||||
public:
|
||||
CloudABI(const Driver &D, const llvm::Triple &Triple,
|
||||
const llvm::opt::ArgList &Args);
|
||||
bool HasNativeLLVMSupport() const override { return true; }
|
||||
|
||||
bool IsMathErrnoDefault() const override { return false; }
|
||||
bool IsObjCNonFragileABIDefault() const override { return true; }
|
||||
|
||||
CXXStdlibType
|
||||
GetCXXStdlibType(const llvm::opt::ArgList &Args) const override {
|
||||
return ToolChain::CST_Libcxx;
|
||||
}
|
||||
void addLibCxxIncludePaths(
|
||||
const llvm::opt::ArgList &DriverArgs,
|
||||
llvm::opt::ArgStringList &CC1Args) const override;
|
||||
void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
|
||||
llvm::opt::ArgStringList &CmdArgs) const override;
|
||||
|
||||
bool isPIEDefault(const llvm::opt::ArgList &Args) const override;
|
||||
SanitizerMask getSupportedSanitizers() const override;
|
||||
SanitizerMask getDefaultSanitizers() const override;
|
||||
|
||||
protected:
|
||||
Tool *buildLinker() const override;
|
||||
};
|
||||
|
||||
} // end namespace toolchains
|
||||
} // end namespace driver
|
||||
} // end namespace clang
|
||||
|
||||
#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_CLOUDABI_H
|
@ -584,9 +584,9 @@ llvm::StringRef tools::getLTOParallelism(const ArgList &Args, const Driver &D) {
|
||||
return LtoJobsArg->getValue();
|
||||
}
|
||||
|
||||
// CloudABI and PS4/PS5 use -ffunction-sections and -fdata-sections by default.
|
||||
// PS4/PS5 uses -ffunction-sections and -fdata-sections by default.
|
||||
bool tools::isUseSeparateSections(const llvm::Triple &Triple) {
|
||||
return Triple.getOS() == llvm::Triple::CloudABI || Triple.isPS();
|
||||
return Triple.isPS();
|
||||
}
|
||||
|
||||
void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
|
||||
|
@ -231,7 +231,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
|
||||
if (HSOpts.UseStandardSystemIncludes) {
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
case llvm::Triple::ELFIAMCU:
|
||||
break;
|
||||
case llvm::Triple::Win32:
|
||||
@ -271,13 +270,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
}
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI: {
|
||||
// <sysroot>/<triple>/include
|
||||
SmallString<128> P = StringRef(HSOpts.ResourceDir);
|
||||
llvm::sys::path::append(P, "../../..", triple.str(), "include");
|
||||
AddPath(P, System, false);
|
||||
break;
|
||||
}
|
||||
case llvm::Triple::RTEMS:
|
||||
break;
|
||||
case llvm::Triple::Win32:
|
||||
@ -295,7 +287,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
}
|
||||
|
||||
switch (os) {
|
||||
case llvm::Triple::CloudABI:
|
||||
case llvm::Triple::RTEMS:
|
||||
case llvm::Triple::ELFIAMCU:
|
||||
break;
|
||||
|
@ -27,7 +27,6 @@ using namespace ento;
|
||||
static bool isArc4RandomAvailable(const ASTContext &Ctx) {
|
||||
const llvm::Triple &T = Ctx.getTargetInfo().getTriple();
|
||||
return T.getVendor() == llvm::Triple::Apple ||
|
||||
T.getOS() == llvm::Triple::CloudABI ||
|
||||
T.isOSFreeBSD() ||
|
||||
T.isOSNetBSD() ||
|
||||
T.isOSOpenBSD() ||
|
||||
|
@ -17,25 +17,6 @@
|
||||
// RUN: -analyzer-checker=security.insecureAPI \
|
||||
// RUN: -analyzer-checker=security.FloatLoopCounter
|
||||
|
||||
// RUN: %clang_analyze_cc1 -triple x86_64-unknown-cloudabi %s -verify -Wno-fortify-source \
|
||||
// RUN: -analyzer-checker=security.insecureAPI \
|
||||
// RUN: -analyzer-checker=security.FloatLoopCounter
|
||||
|
||||
// RUN: %clang_analyze_cc1 -triple x86_64-unknown-cloudabi %s -verify -Wno-fortify-source \
|
||||
// RUN: -DUSE_BUILTINS \
|
||||
// RUN: -analyzer-checker=security.insecureAPI \
|
||||
// RUN: -analyzer-checker=security.FloatLoopCounter
|
||||
|
||||
// RUN: %clang_analyze_cc1 -triple x86_64-unknown-cloudabi %s -verify -Wno-fortify-source \
|
||||
// RUN: -DVARIANT \
|
||||
// RUN: -analyzer-checker=security.insecureAPI \
|
||||
// RUN: -analyzer-checker=security.FloatLoopCounter
|
||||
|
||||
// RUN: %clang_analyze_cc1 -triple x86_64-unknown-cloudabi %s -verify -Wno-fortify-source \
|
||||
// RUN: -DUSE_BUILTINS -DVARIANT \
|
||||
// RUN: -analyzer-checker=security.insecureAPI \
|
||||
// RUN: -analyzer-checker=security.FloatLoopCounter
|
||||
|
||||
#ifdef USE_BUILTINS
|
||||
# define BUILTIN(f) __builtin_ ## f
|
||||
#else /* USE_BUILTINS */
|
||||
|
@ -1,14 +0,0 @@
|
||||
// RUN: %clang %s -### -target x86_64-unknown-cloudabi 2>&1 | FileCheck %s -check-prefix=SAFESTACK
|
||||
// SAFESTACK: "-cc1" "-triple" "x86_64-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections" {{.*}} "-fsanitize=safe-stack"
|
||||
// SAFESTACK: "-Bstatic" "--no-dynamic-linker" "-pie" "-zrelro" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc" "-lcompiler_rt" "crtend.o"
|
||||
|
||||
// RUN: %clang %s -### -target x86_64-unknown-cloudabi -fno-sanitize=safe-stack 2>&1 | FileCheck %s -check-prefix=NOSAFESTACK
|
||||
// NOSAFESTACK: "-cc1" "-triple" "x86_64-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections"
|
||||
// NOSAFESTACK-NOT: "-fsanitize=safe-stack"
|
||||
// NOSAFESTACK: "-Bstatic" "--no-dynamic-linker" "-pie" "-zrelro" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc" "-lcompiler_rt" "crtend.o"
|
||||
|
||||
// PIE shouldn't be enabled on i686. Just on architectures that provide
|
||||
// PC-relative addressing.
|
||||
// RUN: %clang %s -### -target i686-unknown-cloudabi 2>&1 | FileCheck %s -check-prefix=NOPIE
|
||||
// NOPIE: "-cc1" "-triple" "i686-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections" {{.*}} "-fsanitize=safe-stack"
|
||||
// NOPIE: "-Bstatic" "--no-dynamic-linker" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc" "-lcompiler_rt" "crtend.o"
|
@ -1,14 +0,0 @@
|
||||
// RUN: %clangxx %s -### -target x86_64-unknown-cloudabi 2>&1 | FileCheck %s -check-prefix=SAFESTACK
|
||||
// SAFESTACK: "-cc1" "-triple" "x86_64-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections" {{.*}} "-fsanitize=safe-stack"
|
||||
// SAFESTACK: "-Bstatic" "--no-dynamic-linker" "-pie" "-zrelro" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc++" "-lc++abi" "-lunwind" "-lc" "-lcompiler_rt" "crtend.o"
|
||||
|
||||
// RUN: %clangxx %s -### -target x86_64-unknown-cloudabi -fno-sanitize=safe-stack 2>&1 | FileCheck %s -check-prefix=NOSAFESTACK
|
||||
// NOSAFESTACK: "-cc1" "-triple" "x86_64-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections"
|
||||
// NOSAFESTACK-NOT: "-fsanitize=safe-stack"
|
||||
// NOSAFESTACK: "-Bstatic" "--no-dynamic-linker" "-pie" "-zrelro" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc++" "-lc++abi" "-lunwind" "-lc" "-lcompiler_rt" "crtend.o"
|
||||
|
||||
// PIE shouldn't be enabled on i686. Just on architectures that provide
|
||||
// PC-relative addressing.
|
||||
// RUN: %clangxx %s -### -target i686-unknown-cloudabi 2>&1 | FileCheck %s -check-prefix=NOPIE
|
||||
// NOPIE: "-cc1" "-triple" "i686-unknown-cloudabi" {{.*}} "-ffunction-sections" "-fdata-sections" {{.*}} "-fsanitize=safe-stack"
|
||||
// NOPIE: "-Bstatic" "--no-dynamic-linker" "--eh-frame-hdr" "--gc-sections" "-o" "a.out" "crt0.o" "crtbegin.o" "{{.*}}" "{{.*}}" "-lc++" "-lc++abi" "-lunwind" "-lc" "-lcompiler_rt" "crtend.o"
|
@ -47,13 +47,6 @@
|
||||
// CHECK-NO-MIX-OMIT-FP-PG: '-fomit-frame-pointer' not allowed with '-pg'
|
||||
// CHECK-MIX-NO-OMIT-FP-PG-NOT: '-fomit-frame-pointer' not allowed with '-pg'
|
||||
|
||||
// CloudABI follows the same rules as Linux.
|
||||
// RUN: %clang -### -target x86_64-unknown-cloudabi -S -O1 %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=KEEP-NONE %s
|
||||
|
||||
// RUN: %clang -### -target x86_64-unknown-cloudabi -S %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=KEEP-ALL %s
|
||||
|
||||
// NetBSD follows the same rules as Linux.
|
||||
// RUN: %clang -### -target x86_64-unknown-netbsd -S -O1 %s 2>&1 | \
|
||||
// RUN: FileCheck --check-prefix=KEEP-NONE %s
|
||||
|
@ -716,10 +716,6 @@
|
||||
// RUN: %clang --target=powerpc64le-unknown-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s -check-prefix=CHECK-SANM
|
||||
// CHECK-SANM: "-fsanitize=memory"
|
||||
|
||||
// RUN: %clang --target=aarch64-unknown-cloudabi -fsanitize=safe-stack %s -### 2>&1 | FileCheck %s -check-prefix=SAFESTACK-CLOUDABI
|
||||
// RUN: %clang --target=x86_64-unknown-cloudabi -fsanitize=safe-stack %s -### 2>&1 | FileCheck %s -check-prefix=SAFESTACK-CLOUDABI
|
||||
// SAFESTACK-CLOUDABI: "-fsanitize=safe-stack"
|
||||
|
||||
// RUN: %clang --target=x86_64--freebsd -fsanitize=kernel-address %s -### 2>&1 | FileCheck %s -check-prefix=KERNEL-ADDRESS-FREEBSD
|
||||
// RUN: %clang --target=aarch64--freebsd -fsanitize=kernel-address %s -### 2>&1 | FileCheck %s -check-prefix=KERNEL-ADDRESS-FREEBSD
|
||||
// KERNEL-ADDRESS-FREEBSD: "-fsanitize=kernel-address"
|
||||
|
@ -32,10 +32,6 @@
|
||||
// RUN: %clang -target armv7-unknown-rtems-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target aarch64-unknown-rtems-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target aarch64-unknown-rtems-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target armv7-unknown-cloudabi-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target armv7-unknown-cloudabi-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target aarch64-unknown-cloudabi-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,MCOUNT
|
||||
// RUN: %clang -target aarch64-unknown-cloudabi-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,MCOUNT
|
||||
|
||||
int f() {
|
||||
return 0;
|
||||
|
@ -1177,11 +1177,6 @@
|
||||
// ARMEABIHARDFP:#define __arm 1
|
||||
// ARMEABIHARDFP:#define __arm__ 1
|
||||
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv6-unknown-cloudabi-eabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARMV6-CLOUDABI %s
|
||||
//
|
||||
// ARMV6-CLOUDABI:#define __CloudABI__ 1
|
||||
// ARMV6-CLOUDABI:#define __arm__ 1
|
||||
|
||||
// RUN: %clang -E -dM -ffreestanding -target arm-netbsd-eabi %s -o - | FileCheck -match-full-lines -check-prefix ARM-NETBSD %s
|
||||
|
||||
// ARM-NETBSD-NOT:#define _LP64
|
||||
|
@ -1001,312 +1001,6 @@
|
||||
// X32:#define __x86_64 1
|
||||
// X32:#define __x86_64__ 1
|
||||
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=x86_64-unknown-cloudabi < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-CLOUDABI %s
|
||||
//
|
||||
// X86_64-CLOUDABI:#define _LP64 1
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_ACQUIRE 2
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_ACQ_REL 4
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_CONSUME 1
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_RELAXED 0
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_RELEASE 3
|
||||
// X86_64-CLOUDABI:#define __ATOMIC_SEQ_CST 5
|
||||
// X86_64-CLOUDABI:#define __BIGGEST_ALIGNMENT__ 16
|
||||
// X86_64-CLOUDABI:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
// X86_64-CLOUDABI:#define __CHAR16_TYPE__ unsigned short
|
||||
// X86_64-CLOUDABI:#define __CHAR32_TYPE__ unsigned int
|
||||
// X86_64-CLOUDABI:#define __CHAR_BIT__ 8
|
||||
// X86_64-CLOUDABI:#define __CONSTANT_CFSTRINGS__ 1
|
||||
// X86_64-CLOUDABI:#define __CloudABI__ 1
|
||||
// X86_64-CLOUDABI:#define __DBL_DECIMAL_DIG__ 17
|
||||
// X86_64-CLOUDABI:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
|
||||
// X86_64-CLOUDABI:#define __DBL_DIG__ 15
|
||||
// X86_64-CLOUDABI:#define __DBL_EPSILON__ 2.2204460492503131e-16
|
||||
// X86_64-CLOUDABI:#define __DBL_HAS_DENORM__ 1
|
||||
// X86_64-CLOUDABI:#define __DBL_HAS_INFINITY__ 1
|
||||
// X86_64-CLOUDABI:#define __DBL_HAS_QUIET_NAN__ 1
|
||||
// X86_64-CLOUDABI:#define __DBL_MANT_DIG__ 53
|
||||
// X86_64-CLOUDABI:#define __DBL_MAX_10_EXP__ 308
|
||||
// X86_64-CLOUDABI:#define __DBL_MAX_EXP__ 1024
|
||||
// X86_64-CLOUDABI:#define __DBL_MAX__ 1.7976931348623157e+308
|
||||
// X86_64-CLOUDABI:#define __DBL_MIN_10_EXP__ (-307)
|
||||
// X86_64-CLOUDABI:#define __DBL_MIN_EXP__ (-1021)
|
||||
// X86_64-CLOUDABI:#define __DBL_MIN__ 2.2250738585072014e-308
|
||||
// X86_64-CLOUDABI:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
|
||||
// X86_64-CLOUDABI:#define __ELF__ 1
|
||||
// X86_64-CLOUDABI:#define __FINITE_MATH_ONLY__ 0
|
||||
// X86_64-CLOUDABI:#define __FLT_DECIMAL_DIG__ 9
|
||||
// X86_64-CLOUDABI:#define __FLT_DENORM_MIN__ 1.40129846e-45F
|
||||
// X86_64-CLOUDABI:#define __FLT_DIG__ 6
|
||||
// X86_64-CLOUDABI:#define __FLT_EPSILON__ 1.19209290e-7F
|
||||
// X86_64-CLOUDABI:#define __FLT_HAS_DENORM__ 1
|
||||
// X86_64-CLOUDABI:#define __FLT_HAS_INFINITY__ 1
|
||||
// X86_64-CLOUDABI:#define __FLT_HAS_QUIET_NAN__ 1
|
||||
// X86_64-CLOUDABI:#define __FLT_MANT_DIG__ 24
|
||||
// X86_64-CLOUDABI:#define __FLT_MAX_10_EXP__ 38
|
||||
// X86_64-CLOUDABI:#define __FLT_MAX_EXP__ 128
|
||||
// X86_64-CLOUDABI:#define __FLT_MAX__ 3.40282347e+38F
|
||||
// X86_64-CLOUDABI:#define __FLT_MIN_10_EXP__ (-37)
|
||||
// X86_64-CLOUDABI:#define __FLT_MIN_EXP__ (-125)
|
||||
// X86_64-CLOUDABI:#define __FLT_MIN__ 1.17549435e-38F
|
||||
// X86_64-CLOUDABI:#define __FLT_RADIX__ 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||
// X86_64-CLOUDABI:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||
// X86_64-CLOUDABI:#define __GNUC_MINOR__ 2
|
||||
// X86_64-CLOUDABI:#define __GNUC_PATCHLEVEL__ 1
|
||||
// X86_64-CLOUDABI:#define __GNUC_STDC_INLINE__ 1
|
||||
// X86_64-CLOUDABI:#define __GNUC__ 4
|
||||
// X86_64-CLOUDABI:#define __GXX_ABI_VERSION 1002
|
||||
// X86_64-CLOUDABI:#define __INT16_C_SUFFIX__
|
||||
// X86_64-CLOUDABI:#define __INT16_FMTd__ "hd"
|
||||
// X86_64-CLOUDABI:#define __INT16_FMTi__ "hi"
|
||||
// X86_64-CLOUDABI:#define __INT16_MAX__ 32767
|
||||
// X86_64-CLOUDABI:#define __INT16_TYPE__ short
|
||||
// X86_64-CLOUDABI:#define __INT32_C_SUFFIX__
|
||||
// X86_64-CLOUDABI:#define __INT32_FMTd__ "d"
|
||||
// X86_64-CLOUDABI:#define __INT32_FMTi__ "i"
|
||||
// X86_64-CLOUDABI:#define __INT32_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __INT32_TYPE__ int
|
||||
// X86_64-CLOUDABI:#define __INT64_C_SUFFIX__ L
|
||||
// X86_64-CLOUDABI:#define __INT64_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __INT64_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __INT64_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __INT64_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __INT8_C_SUFFIX__
|
||||
// X86_64-CLOUDABI:#define __INT8_FMTd__ "hhd"
|
||||
// X86_64-CLOUDABI:#define __INT8_FMTi__ "hhi"
|
||||
// X86_64-CLOUDABI:#define __INT8_MAX__ 127
|
||||
// X86_64-CLOUDABI:#define __INT8_TYPE__ signed char
|
||||
// X86_64-CLOUDABI:#define __INTMAX_C_SUFFIX__ L
|
||||
// X86_64-CLOUDABI:#define __INTMAX_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __INTMAX_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __INTMAX_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __INTMAX_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __INTMAX_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __INTPTR_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __INTPTR_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __INTPTR_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __INTPTR_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __INTPTR_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __INT_FAST16_FMTd__ "hd"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST16_FMTi__ "hi"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST16_MAX__ 32767
|
||||
// X86_64-CLOUDABI:#define __INT_FAST16_TYPE__ short
|
||||
// X86_64-CLOUDABI:#define __INT_FAST32_FMTd__ "d"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST32_FMTi__ "i"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST32_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __INT_FAST32_TYPE__ int
|
||||
// X86_64-CLOUDABI:#define __INT_FAST64_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST64_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST64_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __INT_FAST64_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __INT_FAST8_FMTd__ "hhd"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST8_FMTi__ "hhi"
|
||||
// X86_64-CLOUDABI:#define __INT_FAST8_MAX__ 127
|
||||
// X86_64-CLOUDABI:#define __INT_FAST8_TYPE__ signed char
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST16_FMTd__ "hd"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST16_FMTi__ "hi"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST16_MAX__ 32767
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST16_TYPE__ short
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST32_FMTd__ "d"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST32_FMTi__ "i"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST32_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST32_TYPE__ int
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST64_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST64_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST64_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST64_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST8_FMTd__ "hhd"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST8_FMTi__ "hhi"
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST8_MAX__ 127
|
||||
// X86_64-CLOUDABI:#define __INT_LEAST8_TYPE__ signed char
|
||||
// X86_64-CLOUDABI:#define __INT_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __LDBL_DECIMAL_DIG__ 21
|
||||
// X86_64-CLOUDABI:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
|
||||
// X86_64-CLOUDABI:#define __LDBL_DIG__ 18
|
||||
// X86_64-CLOUDABI:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
|
||||
// X86_64-CLOUDABI:#define __LDBL_HAS_DENORM__ 1
|
||||
// X86_64-CLOUDABI:#define __LDBL_HAS_INFINITY__ 1
|
||||
// X86_64-CLOUDABI:#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
// X86_64-CLOUDABI:#define __LDBL_MANT_DIG__ 64
|
||||
// X86_64-CLOUDABI:#define __LDBL_MAX_10_EXP__ 4932
|
||||
// X86_64-CLOUDABI:#define __LDBL_MAX_EXP__ 16384
|
||||
// X86_64-CLOUDABI:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
|
||||
// X86_64-CLOUDABI:#define __LDBL_MIN_10_EXP__ (-4931)
|
||||
// X86_64-CLOUDABI:#define __LDBL_MIN_EXP__ (-16381)
|
||||
// X86_64-CLOUDABI:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
|
||||
// X86_64-CLOUDABI:#define __LITTLE_ENDIAN__ 1
|
||||
// X86_64-CLOUDABI:#define __LONG_LONG_MAX__ 9223372036854775807LL
|
||||
// X86_64-CLOUDABI:#define __LONG_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __LP64__ 1
|
||||
// X86_64-CLOUDABI:#define __MMX__ 1
|
||||
// X86_64-CLOUDABI:#define __NO_INLINE__ 1
|
||||
// X86_64-CLOUDABI:#define __NO_MATH_INLINES 1
|
||||
// X86_64-CLOUDABI:#define __ORDER_BIG_ENDIAN__ 4321
|
||||
// X86_64-CLOUDABI:#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||
// X86_64-CLOUDABI:#define __ORDER_PDP_ENDIAN__ 3412
|
||||
// X86_64-CLOUDABI:#define __POINTER_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||
// X86_64-CLOUDABI:#define __PTRDIFF_FMTd__ "ld"
|
||||
// X86_64-CLOUDABI:#define __PTRDIFF_FMTi__ "li"
|
||||
// X86_64-CLOUDABI:#define __PTRDIFF_MAX__ 9223372036854775807L
|
||||
// X86_64-CLOUDABI:#define __PTRDIFF_TYPE__ long int
|
||||
// X86_64-CLOUDABI:#define __PTRDIFF_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __REGISTER_PREFIX__
|
||||
// X86_64-CLOUDABI:#define __SCHAR_MAX__ 127
|
||||
// X86_64-CLOUDABI:#define __SHRT_MAX__ 32767
|
||||
// X86_64-CLOUDABI:#define __SIG_ATOMIC_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __SIG_ATOMIC_WIDTH__ 32
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_DOUBLE__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_FLOAT__ 4
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_INT128__ 16
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_INT__ 4
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_LONG_DOUBLE__ 16
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_LONG_LONG__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_LONG__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_POINTER__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_PTRDIFF_T__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_SHORT__ 2
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_SIZE_T__ 8
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_WCHAR_T__ 4
|
||||
// X86_64-CLOUDABI:#define __SIZEOF_WINT_T__ 4
|
||||
// X86_64-CLOUDABI:#define __SIZE_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __SIZE_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __SIZE_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __SIZE_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __SIZE_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __SIZE_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __SIZE_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __SSE2_MATH__ 1
|
||||
// X86_64-CLOUDABI:#define __SSE2__ 1
|
||||
// X86_64-CLOUDABI:#define __SSE_MATH__ 1
|
||||
// X86_64-CLOUDABI:#define __SSE__ 1
|
||||
// X86_64-CLOUDABI:#define __STDC_HOSTED__ 0
|
||||
// X86_64-CLOUDABI:#define __STDC_ISO_10646__ 201206L
|
||||
// X86_64-CLOUDABI:#define __STDC_UTF_16__ 1
|
||||
// X86_64-CLOUDABI:#define __STDC_UTF_32__ 1
|
||||
// X86_64-CLOUDABI:#define __STDC_VERSION__ 201710L
|
||||
// X86_64-CLOUDABI:#define __STDC__ 1
|
||||
// X86_64-CLOUDABI:#define __UINT16_C_SUFFIX__
|
||||
// X86_64-CLOUDABI:#define __UINT16_FMTX__ "hX"
|
||||
// X86_64-CLOUDABI:#define __UINT16_FMTo__ "ho"
|
||||
// X86_64-CLOUDABI:#define __UINT16_FMTu__ "hu"
|
||||
// X86_64-CLOUDABI:#define __UINT16_FMTx__ "hx"
|
||||
// X86_64-CLOUDABI:#define __UINT16_MAX__ 65535
|
||||
// X86_64-CLOUDABI:#define __UINT16_TYPE__ unsigned short
|
||||
// X86_64-CLOUDABI:#define __UINT32_C_SUFFIX__ U
|
||||
// X86_64-CLOUDABI:#define __UINT32_FMTX__ "X"
|
||||
// X86_64-CLOUDABI:#define __UINT32_FMTo__ "o"
|
||||
// X86_64-CLOUDABI:#define __UINT32_FMTu__ "u"
|
||||
// X86_64-CLOUDABI:#define __UINT32_FMTx__ "x"
|
||||
// X86_64-CLOUDABI:#define __UINT32_MAX__ 4294967295U
|
||||
// X86_64-CLOUDABI:#define __UINT32_TYPE__ unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT64_C_SUFFIX__ UL
|
||||
// X86_64-CLOUDABI:#define __UINT64_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __UINT64_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __UINT64_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __UINT64_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __UINT64_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __UINT64_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT8_C_SUFFIX__
|
||||
// X86_64-CLOUDABI:#define __UINT8_FMTX__ "hhX"
|
||||
// X86_64-CLOUDABI:#define __UINT8_FMTo__ "hho"
|
||||
// X86_64-CLOUDABI:#define __UINT8_FMTu__ "hhu"
|
||||
// X86_64-CLOUDABI:#define __UINT8_FMTx__ "hhx"
|
||||
// X86_64-CLOUDABI:#define __UINT8_MAX__ 255
|
||||
// X86_64-CLOUDABI:#define __UINT8_TYPE__ unsigned char
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_C_SUFFIX__ UL
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINTMAX_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINTPTR_WIDTH__ 64
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_FMTX__ "hX"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_FMTo__ "ho"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_FMTu__ "hu"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_FMTx__ "hx"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_MAX__ 65535
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST16_TYPE__ unsigned short
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_FMTX__ "X"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_FMTo__ "o"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_FMTu__ "u"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_FMTx__ "x"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_MAX__ 4294967295U
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST32_TYPE__ unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST64_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_FMTX__ "hhX"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_FMTo__ "hho"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_FMTu__ "hhu"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_FMTx__ "hhx"
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_MAX__ 255
|
||||
// X86_64-CLOUDABI:#define __UINT_FAST8_TYPE__ unsigned char
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_FMTX__ "hX"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_FMTo__ "ho"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_FMTu__ "hu"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_FMTx__ "hx"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_MAX__ 65535
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST16_TYPE__ unsigned short
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_FMTX__ "X"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_FMTo__ "o"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_FMTu__ "u"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_FMTx__ "x"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_MAX__ 4294967295U
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST32_TYPE__ unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_FMTX__ "lX"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_FMTo__ "lo"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_FMTu__ "lu"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_FMTx__ "lx"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_FMTX__ "hhX"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_FMTo__ "hho"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_FMTu__ "hhu"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_FMTx__ "hhx"
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_MAX__ 255
|
||||
// X86_64-CLOUDABI:#define __UINT_LEAST8_TYPE__ unsigned char
|
||||
// X86_64-CLOUDABI:#define __USER_LABEL_PREFIX__
|
||||
// X86_64-CLOUDABI:#define __VERSION__ "{{.*}}Clang{{.*}}
|
||||
// X86_64-CLOUDABI:#define __WCHAR_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __WCHAR_TYPE__ int
|
||||
// X86_64-CLOUDABI:#define __WCHAR_WIDTH__ 32
|
||||
// X86_64-CLOUDABI:#define __WINT_MAX__ 2147483647
|
||||
// X86_64-CLOUDABI:#define __WINT_TYPE__ int
|
||||
// X86_64-CLOUDABI:#define __WINT_WIDTH__ 32
|
||||
// X86_64-CLOUDABI:#define __amd64 1
|
||||
// X86_64-CLOUDABI:#define __amd64__ 1
|
||||
// X86_64-CLOUDABI:#define __clang__ 1
|
||||
// X86_64-CLOUDABI:#define __clang_literal_encoding__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __clang_major__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __clang_minor__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __clang_patchlevel__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __clang_version__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __clang_wide_literal_encoding__ {{.*}}
|
||||
// X86_64-CLOUDABI:#define __llvm__ 1
|
||||
// X86_64-CLOUDABI:#define __x86_64 1
|
||||
// X86_64-CLOUDABI:#define __x86_64__ 1
|
||||
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-LINUX %s
|
||||
//
|
||||
// X86_64-LINUX:#define _LP64 1
|
||||
|
@ -10,7 +10,6 @@
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64_32-darwin
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64-darwin
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64-cloudabi
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64-freebsd
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64-fuchsia
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64-linux
|
||||
@ -26,7 +25,6 @@
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple aarch64_be-netbsd
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm-darwin
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm-cloudabi
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm-freebsd
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm-fuchsia
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple arm-linux
|
||||
@ -135,7 +133,6 @@
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple tcele
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-darwin
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-cloudabi
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-linux
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-linux-android
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-dragonfly
|
||||
@ -156,7 +153,6 @@
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple i686-hurd
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64-darwin
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64-cloudabi
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64-linux
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64-linux-android
|
||||
// RUN: %clang_cc1 %s -Eonly -Wsystem-headers -Werror -triple x86_64-linux-openhos
|
||||
|
@ -71,8 +71,6 @@ public:
|
||||
|
||||
static uint8_t getOSABI(Triple::OSType OSType) {
|
||||
switch (OSType) {
|
||||
case Triple::CloudABI:
|
||||
return ELF::ELFOSABI_CLOUDABI;
|
||||
case Triple::HermitCore:
|
||||
return ELF::ELFOSABI_STANDALONE;
|
||||
case Triple::PS4:
|
||||
|
@ -184,7 +184,6 @@ public:
|
||||
enum OSType {
|
||||
UnknownOS,
|
||||
|
||||
CloudABI,
|
||||
Darwin,
|
||||
DragonFly,
|
||||
FreeBSD,
|
||||
|
@ -208,7 +208,6 @@ StringRef Triple::getOSTypeName(OSType Kind) {
|
||||
case AMDHSA: return "amdhsa";
|
||||
case AMDPAL: return "amdpal";
|
||||
case CUDA: return "cuda";
|
||||
case CloudABI: return "cloudabi";
|
||||
case Darwin: return "darwin";
|
||||
case DragonFly: return "dragonfly";
|
||||
case DriverKit: return "driverkit";
|
||||
@ -570,7 +569,6 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
|
||||
|
||||
static Triple::OSType parseOS(StringRef OSName) {
|
||||
return StringSwitch<Triple::OSType>(OSName)
|
||||
.StartsWith("cloudabi", Triple::CloudABI)
|
||||
.StartsWith("darwin", Triple::Darwin)
|
||||
.StartsWith("dragonfly", Triple::DragonFly)
|
||||
.StartsWith("freebsd", Triple::FreeBSD)
|
||||
|
@ -319,12 +319,6 @@ TEST(TripleTest, ParsedIDs) {
|
||||
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
|
||||
EXPECT_EQ(Triple::UnknownOS, T.getOS());
|
||||
|
||||
T = Triple("x86_64-unknown-cloudabi");
|
||||
EXPECT_EQ(Triple::x86_64, T.getArch());
|
||||
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
|
||||
EXPECT_EQ(Triple::CloudABI, T.getOS());
|
||||
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
|
||||
|
||||
T = Triple("x86_64-unknown-fuchsia");
|
||||
EXPECT_EQ(Triple::x86_64, T.getArch());
|
||||
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
|
||||
|
@ -63,7 +63,6 @@ static_library("Driver") {
|
||||
"ToolChains/BareMetal.cpp",
|
||||
"ToolChains/CSKYToolChain.cpp",
|
||||
"ToolChains/Clang.cpp",
|
||||
"ToolChains/CloudABI.cpp",
|
||||
"ToolChains/CommonArgs.cpp",
|
||||
"ToolChains/CrossWindows.cpp",
|
||||
"ToolChains/Cuda.cpp",
|
||||
|
Loading…
x
Reference in New Issue
Block a user