[clang/lib] Add support for Squiid as target OS
Signed-off-by: Christoph Heiss <contact@christoph-heiss.at>
This commit is contained in:
parent
053d967c76
commit
68774ec554
|
@ -594,6 +594,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
|
||||||
return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
||||||
case llvm::Triple::PS5:
|
case llvm::Triple::PS5:
|
||||||
return new PS5OSTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
return new PS5OSTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
||||||
|
case llvm::Triple::Squiid:
|
||||||
|
return new SquiidTargetInfo<X86_64TargetInfo>(Triple, Opts);
|
||||||
default:
|
default:
|
||||||
return new X86_64TargetInfo(Triple, Opts);
|
return new X86_64TargetInfo(Triple, Opts);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1013,6 +1013,43 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Squiid target
|
||||||
|
template <typename Target>
|
||||||
|
class LLVM_LIBRARY_VISIBILITY SquiidTargetInfo : public OSTargetInfo<Target> {
|
||||||
|
protected:
|
||||||
|
void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
|
||||||
|
MacroBuilder &Builder) const override {
|
||||||
|
DefineStd(Builder, "unix", Opts);
|
||||||
|
Builder.defineMacro("__ELF__");
|
||||||
|
Builder.defineMacro("__SQUIID__");
|
||||||
|
if (Opts.POSIXThreads)
|
||||||
|
Builder.defineMacro("_REENTRANT");
|
||||||
|
if (Opts.CPlusPlus)
|
||||||
|
Builder.defineMacro("_GNU_SOURCE");
|
||||||
|
if (this->HasFloat128)
|
||||||
|
Builder.defineMacro("__FLOAT128__");
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
SquiidTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
|
||||||
|
: OSTargetInfo<Target>(Triple, Opts) {
|
||||||
|
this->WIntType = TargetInfo::UnsignedInt;
|
||||||
|
|
||||||
|
switch (Triple.getArch()) {
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
case llvm::Triple::x86:
|
||||||
|
case llvm::Triple::x86_64:
|
||||||
|
this->HasFloat128 = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *getStaticInitSectionSpecifier() const override {
|
||||||
|
return ".text.startup";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace targets
|
} // namespace targets
|
||||||
} // namespace clang
|
} // namespace clang
|
||||||
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_OSTARGETS_H
|
#endif // LLVM_CLANG_LIB_BASIC_TARGETS_OSTARGETS_H
|
||||||
|
|
|
@ -76,6 +76,7 @@ add_clang_library(clangDriver
|
||||||
ToolChains/RISCVToolchain.cpp
|
ToolChains/RISCVToolchain.cpp
|
||||||
ToolChains/Solaris.cpp
|
ToolChains/Solaris.cpp
|
||||||
ToolChains/SPIRV.cpp
|
ToolChains/SPIRV.cpp
|
||||||
|
ToolChains/Squiid.cpp
|
||||||
ToolChains/TCE.cpp
|
ToolChains/TCE.cpp
|
||||||
ToolChains/VEToolchain.cpp
|
ToolChains/VEToolchain.cpp
|
||||||
ToolChains/WebAssembly.cpp
|
ToolChains/WebAssembly.cpp
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
#include "ToolChains/RISCVToolchain.h"
|
#include "ToolChains/RISCVToolchain.h"
|
||||||
#include "ToolChains/SPIRV.h"
|
#include "ToolChains/SPIRV.h"
|
||||||
#include "ToolChains/Solaris.h"
|
#include "ToolChains/Solaris.h"
|
||||||
|
#include "ToolChains/Squiid.h"
|
||||||
#include "ToolChains/TCE.h"
|
#include "ToolChains/TCE.h"
|
||||||
#include "ToolChains/VEToolchain.h"
|
#include "ToolChains/VEToolchain.h"
|
||||||
#include "ToolChains/WebAssembly.h"
|
#include "ToolChains/WebAssembly.h"
|
||||||
|
@ -6066,6 +6067,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
|
||||||
case llvm::Triple::ShaderModel:
|
case llvm::Triple::ShaderModel:
|
||||||
TC = std::make_unique<toolchains::HLSLToolChain>(*this, Target, Args);
|
TC = std::make_unique<toolchains::HLSLToolChain>(*this, Target, Args);
|
||||||
break;
|
break;
|
||||||
|
case llvm::Triple::Squiid:
|
||||||
|
TC = std::make_unique<toolchains::Squiid>(*this, Target, Args);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// Of these targets, Hexagon is the only one that might have
|
// Of these targets, Hexagon is the only one that might have
|
||||||
// an OS of Linux, in which case it got handled above already.
|
// an OS of Linux, in which case it got handled above already.
|
||||||
|
|
|
@ -452,6 +452,8 @@ StringRef ToolChain::getOSLibName() const {
|
||||||
return "sunos";
|
return "sunos";
|
||||||
case llvm::Triple::AIX:
|
case llvm::Triple::AIX:
|
||||||
return "aix";
|
return "aix";
|
||||||
|
case llvm::Triple::Squiid:
|
||||||
|
return "squiid";
|
||||||
default:
|
default:
|
||||||
return getOS();
|
return getOS();
|
||||||
}
|
}
|
||||||
|
|
214
clang/lib/Driver/ToolChains/Squiid.cpp
Normal file
214
clang/lib/Driver/ToolChains/Squiid.cpp
Normal file
|
@ -0,0 +1,214 @@
|
||||||
|
//===--- Squiid.cpp - Squiid 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 "Squiid.h"
|
||||||
|
#include "CommonArgs.h"
|
||||||
|
#include "clang/Config/config.h"
|
||||||
|
#include "clang/Driver/Compilation.h"
|
||||||
|
#include "clang/Driver/Driver.h"
|
||||||
|
#include "clang/Driver/DriverDiagnostic.h"
|
||||||
|
#include "clang/Driver/Options.h"
|
||||||
|
#include "clang/Driver/SanitizerArgs.h"
|
||||||
|
#include "llvm/Option/ArgList.h"
|
||||||
|
#include "llvm/Support/FileSystem.h"
|
||||||
|
#include "llvm/Support/Path.h"
|
||||||
|
#include "llvm/Support/VirtualFileSystem.h"
|
||||||
|
|
||||||
|
using namespace clang::driver;
|
||||||
|
using namespace clang::driver::toolchains;
|
||||||
|
using namespace clang::driver::tools;
|
||||||
|
using namespace clang;
|
||||||
|
using namespace llvm::opt;
|
||||||
|
|
||||||
|
using tools::addMultilibFlag;
|
||||||
|
|
||||||
|
void squiid::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
|
const InputInfo &Output,
|
||||||
|
const InputInfoList &Inputs,
|
||||||
|
const ArgList &Args,
|
||||||
|
const char *LinkingOutput) const {
|
||||||
|
const toolchains::Squiid &ToolChain =
|
||||||
|
static_cast<const toolchains::Squiid &>(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);
|
||||||
|
|
||||||
|
const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
|
||||||
|
|
||||||
|
if (!D.SysRoot.empty())
|
||||||
|
CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
|
||||||
|
|
||||||
|
if (Args.hasArg(options::OPT_s))
|
||||||
|
CmdArgs.push_back("-s");
|
||||||
|
|
||||||
|
if (Args.hasArg(options::OPT_static))
|
||||||
|
CmdArgs.push_back("-Bstatic");
|
||||||
|
else if (Args.hasArg(options::OPT_shared))
|
||||||
|
CmdArgs.push_back("-shared");
|
||||||
|
|
||||||
|
CmdArgs.push_back("-o");
|
||||||
|
CmdArgs.push_back(Output.getFilename());
|
||||||
|
|
||||||
|
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) {
|
||||||
|
if (!Args.hasArg(options::OPT_shared)) {
|
||||||
|
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
|
||||||
|
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
|
||||||
|
CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Args.AddAllArgs(CmdArgs, options::OPT_L);
|
||||||
|
Args.AddAllArgs(CmdArgs, options::OPT_u);
|
||||||
|
|
||||||
|
ToolChain.AddFilePathLibArgs(Args, CmdArgs);
|
||||||
|
|
||||||
|
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 (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
|
||||||
|
if (D.CCCIsCXX()) {
|
||||||
|
if (ToolChain.ShouldLinkCXXStdlib(Args)) {
|
||||||
|
ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
|
||||||
|
CmdArgs.push_back("-lm");
|
||||||
|
CmdArgs.push_back("-lpthread");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
|
||||||
|
|
||||||
|
if (!Args.hasArg(options::OPT_nolibc))
|
||||||
|
CmdArgs.push_back("-lc");
|
||||||
|
}
|
||||||
|
|
||||||
|
C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
|
||||||
|
Exec, CmdArgs, Inputs, Output));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Squiid - Squiid tool chain which can call as(1) and ld(1) directly.
|
||||||
|
|
||||||
|
Squiid::Squiid(const Driver &D, const llvm::Triple &Triple,
|
||||||
|
const ArgList &Args)
|
||||||
|
: ToolChain(D, Triple, Args) {
|
||||||
|
getProgramPaths().push_back(getDriver().getInstalledDir());
|
||||||
|
if (getDriver().getInstalledDir() != D.Dir)
|
||||||
|
getProgramPaths().push_back(D.Dir);
|
||||||
|
|
||||||
|
if (!D.SysRoot.empty()) {
|
||||||
|
SmallString<128> P(D.SysRoot);
|
||||||
|
llvm::sys::path::append(P, "lib");
|
||||||
|
getFilePaths().push_back(std::string(P.str()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Squiid::ComputeEffectiveClangTriple(const ArgList &Args,
|
||||||
|
types::ID InputType) const {
|
||||||
|
llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
|
||||||
|
return Triple.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
Tool *Squiid::buildLinker() const {
|
||||||
|
return new tools::squiid::Linker(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolChain::RuntimeLibType Squiid::GetRuntimeLibType(const ArgList &Args) const {
|
||||||
|
return ToolChain::RLT_CompilerRT;
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolChain::UnwindLibType Squiid::GetUnwindLibType(const ArgList &Args) const {
|
||||||
|
return ToolChain::UNW_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolChain::CXXStdlibType Squiid::GetCXXStdlibType(const ArgList &Args) const {
|
||||||
|
return ToolChain::CST_Libcxx;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Squiid::addClangTargetOptions(const ArgList &DriverArgs,
|
||||||
|
ArgStringList &CC1Args,
|
||||||
|
Action::OffloadKind) const {
|
||||||
|
if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
|
||||||
|
options::OPT_fno_use_init_array, true))
|
||||||
|
CC1Args.push_back("-fno-use-init-array");
|
||||||
|
|
||||||
|
CC1Args.push_back("-mlong-double-64"); // for newlib + libc++ compat
|
||||||
|
|
||||||
|
CC1Args.push_back("-ffunction-sections"); // better to optimize binary sizes
|
||||||
|
CC1Args.push_back("-fdata-sections");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Squiid::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
||||||
|
ArgStringList &CC1Args) const {
|
||||||
|
const Driver &D = getDriver();
|
||||||
|
|
||||||
|
if (DriverArgs.hasArg(options::OPT_nostdinc))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
|
||||||
|
SmallString<128> P(D.ResourceDir);
|
||||||
|
llvm::sys::path::append(P, "include");
|
||||||
|
addSystemInclude(DriverArgs, CC1Args, P);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DriverArgs.hasArg(options::OPT_nostdlibinc))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!D.SysRoot.empty()) {
|
||||||
|
SmallString<128> P(D.SysRoot);
|
||||||
|
llvm::sys::path::append(P, "include");
|
||||||
|
addExternCSystemInclude(DriverArgs, CC1Args, P.str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Squiid::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
|
||||||
|
ArgStringList &CC1Args) const {
|
||||||
|
if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
|
||||||
|
DriverArgs.hasArg(options::OPT_nostdincxx))
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (GetCXXStdlibType(DriverArgs)) {
|
||||||
|
case ToolChain::CST_Libcxx: {
|
||||||
|
SmallString<128> P(getDriver().SysRoot);
|
||||||
|
llvm::sys::path::append(P, "include", "c++", "v1");
|
||||||
|
addSystemInclude(DriverArgs, CC1Args, P.str());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
llvm_unreachable("invalid stdlib name");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Squiid::AddCXXStdlibLibArgs(const ArgList &Args,
|
||||||
|
ArgStringList &CmdArgs) const {
|
||||||
|
switch (GetCXXStdlibType(Args)) {
|
||||||
|
case ToolChain::CST_Libcxx:
|
||||||
|
CmdArgs.push_back("-lc++");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ToolChain::CST_Libstdcxx:
|
||||||
|
llvm_unreachable("invalid stdlib name");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Squiid::getCompilerRTPath() const {
|
||||||
|
SmallString<128> Path(getDriver().SysRoot);
|
||||||
|
llvm::sys::path::append(Path, "lib", getOSLibName());
|
||||||
|
return std::string(Path.str());
|
||||||
|
}
|
107
clang/lib/Driver/ToolChains/Squiid.h
Normal file
107
clang/lib/Driver/ToolChains/Squiid.h
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
//===--- Squiid.h - Squiid 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_SQUIID_H
|
||||||
|
#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_SQUIID_H
|
||||||
|
|
||||||
|
#include "Gnu.h"
|
||||||
|
#include "clang/Basic/LangOptions.h"
|
||||||
|
#include "clang/Driver/Tool.h"
|
||||||
|
#include "clang/Driver/ToolChain.h"
|
||||||
|
#include "llvm/MC/MCTargetOptions.h"
|
||||||
|
|
||||||
|
namespace clang {
|
||||||
|
namespace driver {
|
||||||
|
namespace tools {
|
||||||
|
namespace squiid {
|
||||||
|
class LLVM_LIBRARY_VISIBILITY Linker : public Tool {
|
||||||
|
public:
|
||||||
|
Linker(const ToolChain &TC) : Tool("squiid::Linker", "ld.lld", 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 squiid
|
||||||
|
} // end namespace tools
|
||||||
|
|
||||||
|
namespace toolchains {
|
||||||
|
|
||||||
|
class LLVM_LIBRARY_VISIBILITY Squiid : public ToolChain {
|
||||||
|
public:
|
||||||
|
Squiid(const Driver &D, const llvm::Triple &Triple,
|
||||||
|
const llvm::opt::ArgList &Args);
|
||||||
|
|
||||||
|
bool HasNativeLLVMSupport() const override { return true; }
|
||||||
|
bool IsIntegratedAssemblerDefault() const override { return true; }
|
||||||
|
bool IsMathErrnoDefault() const override { return false; }
|
||||||
|
bool useRelaxRelocations() const override { return true; };
|
||||||
|
RuntimeLibType GetDefaultRuntimeLibType() const override {
|
||||||
|
return ToolChain::RLT_CompilerRT;
|
||||||
|
}
|
||||||
|
CXXStdlibType GetDefaultCXXStdlibType() const override {
|
||||||
|
return ToolChain::CST_Libcxx;
|
||||||
|
}
|
||||||
|
bool IsUnwindTablesDefault(const llvm::opt::ArgList &Args) const override {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
llvm::ExceptionHandling GetExceptionModel(const llvm::opt::ArgList &Args) const override {
|
||||||
|
return llvm::ExceptionHandling::SjLj;
|
||||||
|
}
|
||||||
|
bool isPICDefault() const override { return false; }
|
||||||
|
bool isPIEDefault() const override { return true; }
|
||||||
|
bool isPICDefaultForced() const override { return false; }
|
||||||
|
llvm::DebuggerKind getDefaultDebuggerTuning() const override {
|
||||||
|
return llvm::DebuggerKind::GDB;
|
||||||
|
}
|
||||||
|
|
||||||
|
LangOptions::StackProtectorMode GetDefaultStackProtectorLevel(bool KernelOrKext) const override {
|
||||||
|
return LangOptions::SSPStrong;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ComputeEffectiveClangTriple(const llvm::opt::ArgList &Args,
|
||||||
|
types::ID InputType) const override;
|
||||||
|
|
||||||
|
RuntimeLibType
|
||||||
|
GetRuntimeLibType(const llvm::opt::ArgList &Args) const override;
|
||||||
|
UnwindLibType
|
||||||
|
GetUnwindLibType(const llvm::opt::ArgList &Args) const override;
|
||||||
|
CXXStdlibType
|
||||||
|
GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
|
||||||
|
|
||||||
|
void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
|
||||||
|
llvm::opt::ArgStringList &CC1Args,
|
||||||
|
Action::OffloadKind DeviceOffloadKind) const override;
|
||||||
|
void
|
||||||
|
AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
|
||||||
|
llvm::opt::ArgStringList &CC1Args) const override;
|
||||||
|
void
|
||||||
|
AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
|
||||||
|
llvm::opt::ArgStringList &CC1Args) const override;
|
||||||
|
void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
|
||||||
|
llvm::opt::ArgStringList &CmdArgs) const override;
|
||||||
|
|
||||||
|
const char *getDefaultLinker() const override {
|
||||||
|
return "ld.lld";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual std::string getCompilerRTPath() const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Tool *buildLinker() const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // end namespace toolchains
|
||||||
|
} // end namespace driver
|
||||||
|
} // end namespace clang
|
||||||
|
|
||||||
|
#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_SQUIID_H
|
|
@ -242,6 +242,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||||
case llvm::Triple::PS5:
|
case llvm::Triple::PS5:
|
||||||
case llvm::Triple::ELFIAMCU:
|
case llvm::Triple::ELFIAMCU:
|
||||||
case llvm::Triple::Fuchsia:
|
case llvm::Triple::Fuchsia:
|
||||||
|
case llvm::Triple::Squiid:
|
||||||
break;
|
break;
|
||||||
case llvm::Triple::Win32:
|
case llvm::Triple::Win32:
|
||||||
if (triple.getEnvironment() != llvm::Triple::Cygnus)
|
if (triple.getEnvironment() != llvm::Triple::Cygnus)
|
||||||
|
@ -351,6 +352,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||||
case llvm::Triple::NaCl:
|
case llvm::Triple::NaCl:
|
||||||
case llvm::Triple::ELFIAMCU:
|
case llvm::Triple::ELFIAMCU:
|
||||||
case llvm::Triple::Fuchsia:
|
case llvm::Triple::Fuchsia:
|
||||||
|
case llvm::Triple::Squiid:
|
||||||
break;
|
break;
|
||||||
case llvm::Triple::PS4:
|
case llvm::Triple::PS4:
|
||||||
case llvm::Triple::PS5: {
|
case llvm::Triple::PS5: {
|
||||||
|
|
Loading…
Reference in a new issue