#include "MSP430.h"
#include "CommonArgs.h"
#include "Gnu.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/InputInfo.h"
#include "clang/Driver/Multilib.h"
#include "clang/Driver/Options.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
usingnamespaceclang::driver;
usingnamespaceclang::driver::toolchains;
usingnamespaceclang::driver::tools;
usingnamespaceclang;
usingnamespacellvm::opt;
static bool isSupportedMCU(const StringRef MCU) { … }
static StringRef getSupportedHWMult(const Arg *MCU) { … }
static StringRef getHWMultLib(const ArgList &Args) { … }
void msp430::getMSP430TargetFeatures(const Driver &D, const ArgList &Args,
std::vector<StringRef> &Features) { … }
MSP430ToolChain::MSP430ToolChain(const Driver &D, const llvm::Triple &Triple,
const ArgList &Args)
: … { … }
std::string MSP430ToolChain::computeSysRoot() const { … }
void MSP430ToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
ArgStringList &CC1Args) const { … }
void MSP430ToolChain::addClangTargetOptions(const ArgList &DriverArgs,
ArgStringList &CC1Args,
Action::OffloadKind) const { … }
Tool *MSP430ToolChain::buildLinker() const { … }
void msp430::Linker::AddStartFiles(bool UseExceptions, const ArgList &Args,
ArgStringList &CmdArgs) const { … }
void msp430::Linker::AddDefaultLibs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const { … }
void msp430::Linker::AddEndFiles(bool UseExceptions, const ArgList &Args,
ArgStringList &CmdArgs) const { … }
static void AddSspArgs(const ArgList &Args, ArgStringList &CmdArgs) { … }
static void AddImplicitLinkerScript(const std::string SysRoot,
const ArgList &Args,
ArgStringList &CmdArgs) { … }
void msp430::Linker::ConstructJob(Compilation &C, const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const { … }