diff options
Diffstat (limited to 'lib/Driver')
-rw-r--r-- | lib/Driver/ArgList.cpp | 34 | ||||
-rw-r--r-- | lib/Driver/Compilation.cpp | 4 | ||||
-rw-r--r-- | lib/Driver/Driver.cpp | 32 | ||||
-rw-r--r-- | lib/Driver/OptTable.cpp | 6 | ||||
-rw-r--r-- | lib/Driver/ToolChain.cpp | 18 | ||||
-rw-r--r-- | lib/Driver/ToolChains.cpp | 61 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 143 |
7 files changed, 150 insertions, 148 deletions
diff --git a/lib/Driver/ArgList.cpp b/lib/Driver/ArgList.cpp index b8af9cc47e..86da885a40 100644 --- a/lib/Driver/ArgList.cpp +++ b/lib/Driver/ArgList.cpp @@ -117,8 +117,8 @@ bool ArgList::hasFlag(OptSpecifier Pos, OptSpecifier Neg, bool Default) const { return Default; } -llvm::StringRef ArgList::getLastArgValue(OptSpecifier Id, - llvm::StringRef Default) const { +StringRef ArgList::getLastArgValue(OptSpecifier Id, + StringRef Default) const { if (Arg *A = getLastArg(Id)) return A->getValue(*this); return Default; @@ -129,7 +129,7 @@ int ArgList::getLastArgIntValue(OptSpecifier Id, int Default, int Res = Default; if (Arg *A = getLastArg(Id)) { - if (llvm::StringRef(A->getValue(*this)).getAsInteger(10, Res)) + if (StringRef(A->getValue(*this)).getAsInteger(10, Res)) Diags.Report(diag::err_drv_invalid_int_value) << A->getAsString(*this) << A->getValue(*this); } @@ -138,7 +138,7 @@ int ArgList::getLastArgIntValue(OptSpecifier Id, int Default, } std::vector<std::string> ArgList::getAllArgValues(OptSpecifier Id) const { - llvm::SmallVector<const char *, 16> Values; + SmallVector<const char *, 16> Values; AddAllArgValues(Values, Id); return std::vector<std::string>(Values.begin(), Values.end()); } @@ -177,7 +177,7 @@ void ArgList::AddAllArgsTranslated(ArgStringList &Output, OptSpecifier Id0, (*it)->claim(); if (Joined) { - Output.push_back(MakeArgString(llvm::StringRef(Translation) + + Output.push_back(MakeArgString(StringRef(Translation) + (*it)->getValue(*this, 0))); } else { Output.push_back(Translation); @@ -192,16 +192,16 @@ void ArgList::ClaimAllArgs(OptSpecifier Id0) const { (*it)->claim(); } -const char *ArgList::MakeArgString(const llvm::Twine &T) const { +const char *ArgList::MakeArgString(const Twine &T) const { llvm::SmallString<256> Str; T.toVector(Str); return MakeArgString(Str.str()); } const char *ArgList::GetOrMakeJoinedArgString(unsigned Index, - llvm::StringRef LHS, - llvm::StringRef RHS) const { - llvm::StringRef Cur = getArgString(Index); + StringRef LHS, + StringRef RHS) const { + StringRef Cur = getArgString(Index); if (Cur.size() == LHS.size() + RHS.size() && Cur.startswith(LHS) && Cur.endswith(RHS)) return Cur.data(); @@ -223,7 +223,7 @@ InputArgList::~InputArgList() { delete *it; } -unsigned InputArgList::MakeIndex(llvm::StringRef String0) const { +unsigned InputArgList::MakeIndex(StringRef String0) const { unsigned Index = ArgStrings.size(); // Tuck away so we have a reliable const char *. @@ -233,8 +233,8 @@ unsigned InputArgList::MakeIndex(llvm::StringRef String0) const { return Index; } -unsigned InputArgList::MakeIndex(llvm::StringRef String0, - llvm::StringRef String1) const { +unsigned InputArgList::MakeIndex(StringRef String0, + StringRef String1) const { unsigned Index0 = MakeIndex(String0); unsigned Index1 = MakeIndex(String1); assert(Index0 + 1 == Index1 && "Unexpected non-consecutive indices!"); @@ -242,7 +242,7 @@ unsigned InputArgList::MakeIndex(llvm::StringRef String0, return Index0; } -const char *InputArgList::MakeArgString(llvm::StringRef Str) const { +const char *InputArgList::MakeArgString(StringRef Str) const { return getArgString(MakeIndex(Str)); } @@ -259,7 +259,7 @@ DerivedArgList::~DerivedArgList() { delete *it; } -const char *DerivedArgList::MakeArgString(llvm::StringRef Str) const { +const char *DerivedArgList::MakeArgString(StringRef Str) const { return BaseArgs.MakeArgString(Str); } @@ -270,7 +270,7 @@ Arg *DerivedArgList::MakeFlagArg(const Arg *BaseArg, const Option *Opt) const { } Arg *DerivedArgList::MakePositionalArg(const Arg *BaseArg, const Option *Opt, - llvm::StringRef Value) const { + StringRef Value) const { unsigned Index = BaseArgs.MakeIndex(Value); Arg *A = new Arg(Opt, Index, BaseArgs.getArgString(Index), BaseArg); SynthesizedArgs.push_back(A); @@ -278,7 +278,7 @@ Arg *DerivedArgList::MakePositionalArg(const Arg *BaseArg, const Option *Opt, } Arg *DerivedArgList::MakeSeparateArg(const Arg *BaseArg, const Option *Opt, - llvm::StringRef Value) const { + StringRef Value) const { unsigned Index = BaseArgs.MakeIndex(Opt->getName(), Value); Arg *A = new Arg(Opt, Index, BaseArgs.getArgString(Index + 1), BaseArg); SynthesizedArgs.push_back(A); @@ -286,7 +286,7 @@ Arg *DerivedArgList::MakeSeparateArg(const Arg *BaseArg, const Option *Opt, } Arg *DerivedArgList::MakeJoinedArg(const Arg *BaseArg, const Option *Opt, - llvm::StringRef Value) const { + StringRef Value) const { unsigned Index = BaseArgs.MakeIndex(Opt->getName().str() + Value.str()); Arg *A = new Arg(Opt, Index, BaseArgs.getArgString(Index) + Opt->getName().size(), diff --git a/lib/Driver/Compilation.cpp b/lib/Driver/Compilation.cpp index 2657faa0d3..df07f783b2 100644 --- a/lib/Driver/Compilation.cpp +++ b/lib/Driver/Compilation.cpp @@ -60,7 +60,7 @@ const DerivedArgList &Compilation::getArgsForToolChain(const ToolChain *TC, return *Entry; } -void Compilation::PrintJob(llvm::raw_ostream &OS, const Job &J, +void Compilation::PrintJob(raw_ostream &OS, const Job &J, const char *Terminator, bool Quote) const { if (const Command *C = dyn_cast<Command>(&J)) { OS << " \"" << C->getExecutable() << '"'; @@ -137,7 +137,7 @@ int Compilation::ExecuteCommand(const Command &C, if (getDriver().CCCEcho || getDriver().CCPrintOptions || getArgs().hasArg(options::OPT_v)) { - llvm::raw_ostream *OS = &llvm::errs(); + raw_ostream *OS = &llvm::errs(); // Follow gcc implementation of CC_PRINT_OPTIONS; we could also cache the // output stream. diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 789f6f7ae9..7a0bb6aa79 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -46,9 +46,9 @@ using namespace clang::driver; using namespace clang; -Driver::Driver(llvm::StringRef ClangExecutable, - llvm::StringRef DefaultHostTriple, - llvm::StringRef DefaultImageName, +Driver::Driver(StringRef ClangExecutable, + StringRef DefaultHostTriple, + StringRef DefaultImageName, bool IsProduction, bool CXXIsProduction, Diagnostic &Diags) : Opts(createDriverOptTable()), Diags(Diags), @@ -82,7 +82,7 @@ Driver::Driver(llvm::StringRef ClangExecutable, Dir = llvm::sys::path::parent_path(ClangExecutable); // Compute the path to the resource directory. - llvm::StringRef ClangResourceDir(CLANG_RESOURCE_DIR); + StringRef ClangResourceDir(CLANG_RESOURCE_DIR); llvm::SmallString<128> P(Dir); if (ClangResourceDir != "") llvm::sys::path::append(P, ClangResourceDir); @@ -142,7 +142,7 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const { // Add the remaining values as Xlinker arguments. for (unsigned i = 0, e = A->getNumValues(); i != e; ++i) - if (llvm::StringRef(A->getValue(Args, i)) != "--no-demangle") + if (StringRef(A->getValue(Args, i)) != "--no-demangle") DAL->AddSeparateArg(A, Opts->getOption(options::OPT_Xlinker), A->getValue(Args, i)); @@ -154,10 +154,10 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const { // care to encourage this usage model. if (A->getOption().matches(options::OPT_Wp_COMMA) && A->getNumValues() == 2 && - (A->getValue(Args, 0) == llvm::StringRef("-MD") || - A->getValue(Args, 0) == llvm::StringRef("-MMD"))) { + (A->getValue(Args, 0) == StringRef("-MD") || + A->getValue(Args, 0) == StringRef("-MMD"))) { // Rewrite to -MD/-MMD along with -MF. - if (A->getValue(Args, 0) == llvm::StringRef("-MD")) + if (A->getValue(Args, 0) == StringRef("-MD")) DAL->AddFlagArg(A, Opts->getOption(options::OPT_MD)); else DAL->AddFlagArg(A, Opts->getOption(options::OPT_MMD)); @@ -168,7 +168,7 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const { // Rewrite reserved library names. if (A->getOption().matches(options::OPT_l)) { - llvm::StringRef Value = A->getValue(Args); + StringRef Value = A->getValue(Args); // Rewrite unless -nostdlib is present. if (!HasNostdlib && Value == "stdc++") { @@ -242,11 +242,11 @@ Compilation *Driver::BuildCompilation(llvm::ArrayRef<const char *> ArgList) { 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)) { - llvm::StringRef Cur = A->getValue(*Args); + StringRef Cur = A->getValue(*Args); CCCClangArchs.clear(); while (!Cur.empty()) { - std::pair<llvm::StringRef, llvm::StringRef> Split = Cur.split(','); + std::pair<StringRef, StringRef> Split = Cur.split(','); if (!Split.first.empty()) { llvm::Triple::ArchType Arch = @@ -382,7 +382,7 @@ void Driver::PrintHelp(bool ShowHidden) const { ShowHidden); } -void Driver::PrintVersion(const Compilation &C, llvm::raw_ostream &OS) const { +void Driver::PrintVersion(const Compilation &C, raw_ostream &OS) const { // FIXME: The following handlers should use a callback mechanism, we don't // know what the client would like to do. OS << getClangFullVersion() << '\n'; @@ -397,7 +397,7 @@ void Driver::PrintVersion(const Compilation &C, llvm::raw_ostream &OS) const { /// PrintDiagnosticCategories - Implement the --print-diagnostic-categories /// option. -static void PrintDiagnosticCategories(llvm::raw_ostream &OS) { +static void PrintDiagnosticCategories(raw_ostream &OS) { // Skip the empty category. for (unsigned i = 1, max = DiagnosticIDs::getNumberOfCategories(); i != max; ++i) @@ -599,7 +599,7 @@ void Driver::BuildUniversalActions(const ToolChain &TC, // Collect the list of architectures. Duplicates are allowed, but should only // be handled once (in the order seen). llvm::StringSet<> ArchNames; - llvm::SmallVector<const char *, 4> Archs; + SmallVector<const char *, 4> Archs; for (ArgList::const_iterator it = Args.begin(), ie = Args.end(); it != ie; ++it) { Arg *A = *it; @@ -699,7 +699,7 @@ void Driver::BuildActions(const ToolChain &TC, const DerivedArgList &Args, types::ID InputType = types::TY_Nothing; Arg *InputTypeArg = 0; - llvm::SmallVector<std::pair<types::ID, const Arg*>, 16> Inputs; + SmallVector<std::pair<types::ID, const Arg*>, 16> Inputs; for (ArgList::const_iterator it = Args.begin(), ie = Args.end(); it != ie; ++it) { Arg *A = *it; @@ -1236,7 +1236,7 @@ const char *Driver::GetNamedOutputPath(Compilation &C, } llvm::SmallString<128> BasePath(BaseInput); - llvm::StringRef BaseName; + StringRef BaseName; // Dsymutil actions should use the full path. if (isa<DsymutilJobAction>(JA)) diff --git a/lib/Driver/OptTable.cpp b/lib/Driver/OptTable.cpp index 0252b3e5ca..780ea564db 100644 --- a/lib/Driver/OptTable.cpp +++ b/lib/Driver/OptTable.cpp @@ -13,10 +13,10 @@ #include "clang/Driver/Option.h" #include "llvm/Support/raw_ostream.h" #include <algorithm> -#include <cassert> #include <map> using namespace clang::driver; using namespace clang::driver::options; +using namespace clang; // Ordering on Info. The ordering is *almost* lexicographic, with two // exceptions. First, '\0' comes at the end of the alphabet instead of @@ -291,7 +291,7 @@ static std::string getOptionHelpName(const OptTable &Opts, OptSpecifier Id) { return Name; } -static void PrintHelpOptionList(llvm::raw_ostream &OS, llvm::StringRef Title, +static void PrintHelpOptionList(raw_ostream &OS, StringRef Title, std::vector<std::pair<std::string, const char*> > &OptionHelp) { OS << Title << ":\n"; @@ -342,7 +342,7 @@ static const char *getOptionHelpGroup(const OptTable &Opts, OptSpecifier Id) { return getOptionHelpGroup(Opts, GroupID); } -void OptTable::PrintHelp(llvm::raw_ostream &OS, const char *Name, +void OptTable::PrintHelp(raw_ostream &OS, const char *Name, const char *Title, bool ShowHidden) const { OS << "OVERVIEW: " << Title << "\n"; OS << '\n'; diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 74b65918f3..d83fd9af25 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -18,11 +18,11 @@ #include "clang/Driver/ObjCRuntime.h" #include "clang/Driver/Options.h" #include "llvm/Support/ErrorHandling.h" - using namespace clang::driver; +using namespace clang; -ToolChain::ToolChain(const HostInfo &_Host, const llvm::Triple &_Triple) - : Host(_Host), Triple(_Triple) { +ToolChain::ToolChain(const HostInfo &H, const llvm::Triple &T) + : Host(H), Triple(T) { } ToolChain::~ToolChain() { @@ -79,7 +79,7 @@ static const char *getARMTargetCPU(const ArgList &Args, if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) return A->getValue(Args); - llvm::StringRef MArch; + StringRef MArch; if (Arg *A = Args.getLastArg(options::OPT_march_EQ)) { // Otherwise, if we have -march= choose the base CPU for that arch. MArch = A->getValue(Args); @@ -134,7 +134,7 @@ static const char *getARMTargetCPU(const ArgList &Args, // // FIXME: This is redundant with -mcpu, why does LLVM use this. // FIXME: tblgen this, or kill it! -static const char *getLLVMArchSuffixForARM(llvm::StringRef CPU) { +static const char *getLLVMArchSuffixForARM(StringRef CPU) { if (CPU == "arm7tdmi" || CPU == "arm7tdmi-s" || CPU == "arm710t" || CPU == "arm720t" || CPU == "arm9" || CPU == "arm9tdmi" || CPU == "arm920" || CPU == "arm920t" || CPU == "arm922t" || @@ -182,7 +182,7 @@ std::string ToolChain::ComputeLLVMTriple(const ArgList &Args) const { // Thumb2 is the default for V7 on Darwin. // // FIXME: Thumb should just be another -target-feaure, not in the triple. - llvm::StringRef Suffix = + StringRef Suffix = getLLVMArchSuffixForARM(getARMTargetCPU(Args, Triple)); bool ThumbDefault = (Suffix == "v7" && getTriple().getOS() == llvm::Triple::Darwin); @@ -201,7 +201,7 @@ std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args) const { if (Arg *A = Args.getLastArg(options::OPT_mmacosx_version_min_EQ, options::OPT_miphoneos_version_min_EQ, options::OPT_mios_simulator_version_min_EQ)) - getDriver().Diag(clang::diag::err_drv_clang_unsupported) + getDriver().Diag(diag::err_drv_clang_unsupported) << A->getAsString(Args); return ComputeLLVMTriple(Args); @@ -209,12 +209,12 @@ std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args) const { ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{ if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { - llvm::StringRef Value = A->getValue(Args); + StringRef Value = A->getValue(Args); if (Value == "libc++") return ToolChain::CST_Libcxx; if (Value == "libstdc++") return ToolChain::CST_Libstdcxx; - getDriver().Diag(clang::diag::err_drv_invalid_stdlib_name) + getDriver().Diag(diag::err_drv_invalid_stdlib_name) << A->getAsString(Args); } diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 8b5b2ec9b0..5ed4b7f4d3 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -41,6 +41,7 @@ using namespace clang::driver; using namespace clang::driver::toolchains; +using namespace clang; /// Darwin - Darwin tool chain for i386 and x86_64. @@ -54,7 +55,7 @@ Darwin::Darwin(const HostInfo &Host, const llvm::Triple& Triple) if (!Driver::GetReleaseVersion(&OSName.c_str()[6], DarwinVersion[0], DarwinVersion[1], DarwinVersion[2], HadExtra)) - getDriver().Diag(clang::diag::err_drv_invalid_darwin_version) << OSName; + getDriver().Diag(diag::err_drv_invalid_darwin_version) << OSName; llvm::raw_string_ostream(MacosxVersionMin) << "10." << std::max(0, (int)DarwinVersion[0] - 4) << '.' @@ -109,7 +110,7 @@ void Darwin::configureObjCRuntime(ObjCRuntime &runtime) const { } // FIXME: Can we tablegen this? -static const char *GetArmArchForMArch(llvm::StringRef Value) { +static const char *GetArmArchForMArch(StringRef Value) { if (Value == "armv6k") return "armv6"; @@ -131,7 +132,7 @@ static const char *GetArmArchForMArch(llvm::StringRef Value) { } // FIXME: Can we tablegen this? -static const char *GetArmArchForMCpu(llvm::StringRef Value) { +static const char *GetArmArchForMCpu(StringRef Value) { if (Value == "arm10tdmi" || Value == "arm1020t" || Value == "arm9e" || Value == "arm946e-s" || Value == "arm966e-s" || Value == "arm968e-s" || Value == "arm10e" || @@ -153,7 +154,7 @@ static const char *GetArmArchForMCpu(llvm::StringRef Value) { return 0; } -llvm::StringRef Darwin::getDarwinArchName(const ArgList &Args) const { +StringRef Darwin::getDarwinArchName(const ArgList &Args) const { switch (getTriple().getArch()) { default: return getArchName(); @@ -328,7 +329,7 @@ void DarwinClang::AddLinkSearchPathArgs(const ArgList &Args, case llvm::Triple::arm: case llvm::Triple::thumb: { std::string Triple = ComputeLLVMTriple(Args); - llvm::StringRef TripleStr = Triple; + StringRef TripleStr = Triple; if (TripleStr.startswith("armv5") || TripleStr.startswith("thumbv5")) ArchSpecificDir = "v5"; else if (TripleStr.startswith("armv6") || TripleStr.startswith("thumbv6")) @@ -408,7 +409,7 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args, // cares. This is useful in situations where someone wants to statically link // something like libstdc++, and needs its runtime support routines. if (const Arg *A = Args.getLastArg(options::OPT_static_libgcc)) { - getDriver().Diag(clang::diag::err_drv_unsupported_opt) + getDriver().Diag(diag::err_drv_unsupported_opt) << A->getAsString(Args); return; } @@ -452,7 +453,7 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args, } } -static inline llvm::StringRef SimulatorVersionDefineName() { +static inline StringRef SimulatorVersionDefineName() { return "__IPHONE_OS_VERSION_MIN_REQUIRED"; } @@ -461,11 +462,11 @@ static inline llvm::StringRef SimulatorVersionDefineName() { // and return the grouped values as integers, e.g: // __IPHONE_OS_VERSION_MIN_REQUIRED=40201 // will return Major=4, Minor=2, Micro=1. -static bool GetVersionFromSimulatorDefine(llvm::StringRef define, +static bool GetVersionFromSimulatorDefine(StringRef define, unsigned &Major, unsigned &Minor, unsigned &Micro) { assert(define.startswith(SimulatorVersionDefineName())); - llvm::StringRef name, version; + StringRef name, version; llvm::tie(name, version) = define.split('='); if (version.empty()) return false; @@ -496,7 +497,7 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { if (!iOSVersion) { for (arg_iterator it = Args.filtered_begin(options::OPT_D), ie = Args.filtered_end(); it != ie; ++it) { - llvm::StringRef define = (*it)->getValue(Args); + StringRef define = (*it)->getValue(Args); if (define.startswith(SimulatorVersionDefineName())) { unsigned Major, Minor, Micro; if (GetVersionFromSimulatorDefine(define, Major, Minor, Micro) && @@ -510,12 +511,12 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { } if (OSXVersion && (iOSVersion || iOSSimVersion)) { - getDriver().Diag(clang::diag::err_drv_argument_not_allowed_with) + getDriver().Diag(diag::err_drv_argument_not_allowed_with) << OSXVersion->getAsString(Args) << (iOSVersion ? iOSVersion : iOSSimVersion)->getAsString(Args); iOSVersion = iOSSimVersion = 0; } else if (iOSVersion && iOSSimVersion) { - getDriver().Diag(clang::diag::err_drv_argument_not_allowed_with) + getDriver().Diag(diag::err_drv_argument_not_allowed_with) << iOSVersion->getAsString(Args) << iOSSimVersion->getAsString(Args); iOSSimVersion = 0; @@ -540,7 +541,7 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { // Do not allow conflicts with the iOS simulator target. if (iOSSimTarget && (OSXTarget || iOSTarget)) { - getDriver().Diag(clang::diag::err_drv_conflicting_deployment_targets) + getDriver().Diag(diag::err_drv_conflicting_deployment_targets) << "IOS_SIMULATOR_DEPLOYMENT_TARGET" << (OSXTarget ? "MACOSX_DEPLOYMENT_TARGET" : "IPHONEOS_DEPLOYMENT_TARGET"); @@ -580,7 +581,7 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { // Reject invalid architecture combinations. if (iOSSimVersion && (getTriple().getArch() != llvm::Triple::x86 && getTriple().getArch() != llvm::Triple::x86_64)) { - getDriver().Diag(clang::diag::err_drv_invalid_arch_for_deployment_target) + getDriver().Diag(diag::err_drv_invalid_arch_for_deployment_target) << getTriple().getArchName() << iOSSimVersion->getAsString(Args); } @@ -592,7 +593,7 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { if (!Driver::GetReleaseVersion(OSXVersion->getValue(Args), Major, Minor, Micro, HadExtra) || HadExtra || Major != 10 || Minor >= 100 || Micro >= 100) - getDriver().Diag(clang::diag::err_drv_invalid_version_number) + getDriver().Diag(diag::err_drv_invalid_version_number) << OSXVersion->getAsString(Args); } else { const Arg *Version = iOSVersion ? iOSVersion : iOSSimVersion; @@ -600,7 +601,7 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { if (!Driver::GetReleaseVersion(Version->getValue(Args), Major, Minor, Micro, HadExtra) || HadExtra || Major >= 10 || Minor >= 100 || Micro >= 100) - getDriver().Diag(clang::diag::err_drv_invalid_version_number) + getDriver().Diag(diag::err_drv_invalid_version_number) << Version->getAsString(Args); } @@ -704,7 +705,7 @@ DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args, // triple arch, or the arch being bound. // // FIXME: Canonicalize name. - llvm::StringRef XarchArch = A->getValue(Args, 0); + StringRef XarchArch = A->getValue(Args, 0); if (!(XarchArch == getArchName() || (BoundArch && XarchArch == BoundArch))) continue; @@ -723,11 +724,11 @@ DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args, // use isDriverOption() as an approximation, although things // like -O4 are going to slip through. if (!XarchArg || Index > Prev + 1) { - getDriver().Diag(clang::diag::err_drv_invalid_Xarch_argument_with_args) + getDriver().Diag(diag::err_drv_invalid_Xarch_argument_with_args) << A->getAsString(Args); continue; } else if (XarchArg->getOption().isDriverOption()) { - getDriver().Diag(clang::diag::err_drv_invalid_Xarch_argument_isdriver) + getDriver().Diag(diag::err_drv_invalid_Xarch_argument_isdriver) << A->getAsString(Args); continue; } @@ -830,7 +831,7 @@ DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args, // Add the arch options based on the particular spelling of -arch, to match // how the driver driver works. if (BoundArch) { - llvm::StringRef Name = BoundArch; + StringRef Name = BoundArch; const Option *MCpu = Opts.getOption(options::OPT_mcpu_EQ); const Option *MArch = Opts.getOption(options::OPT_march_EQ); @@ -1370,8 +1371,8 @@ static bool HasMultilib(llvm::Triple::ArchType Arch, enum LinuxDistro Distro) { static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) { llvm::OwningPtr<llvm::MemoryBuffer> File; if (!llvm::MemoryBuffer::getFile("/etc/lsb-release", File)) { - llvm::StringRef Data = File.get()->getBuffer(); - llvm::SmallVector<llvm::StringRef, 8> Lines; + StringRef Data = File.get()->getBuffer(); + SmallVector<StringRef, 8> Lines; Data.split(Lines, "\n"); for (unsigned int i = 0, s = Lines.size(); i < s; ++ i) { if (Lines[i] == "DISTRIB_CODENAME=hardy") @@ -1395,7 +1396,7 @@ static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) { } if (!llvm::MemoryBuffer::getFile("/etc/redhat-release", File)) { - llvm::StringRef Data = File.get()->getBuffer(); + StringRef Data = File.get()->getBuffer(); if (Data.startswith("Fedora release 15")) return Fedora15; else if (Data.startswith("Fedora release 14")) @@ -1403,24 +1404,24 @@ static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) { else if (Data.startswith("Fedora release 13")) return Fedora13; else if (Data.startswith("Fedora release") && - Data.find("Rawhide") != llvm::StringRef::npos) + Data.find("Rawhide") != StringRef::npos) return FedoraRawhide; else if (Data.startswith("Red Hat Enterprise Linux") && - Data.find("release 6") != llvm::StringRef::npos) + Data.find("release 6") != StringRef::npos) return RHEL6; else if ((Data.startswith("Red Hat Enterprise Linux") || Data.startswith("CentOS")) && - Data.find("release 5") != llvm::StringRef::npos) + Data.find("release 5") != StringRef::npos) return RHEL5; else if ((Data.startswith("Red Hat Enterprise Linux") || Data.startswith("CentOS")) && - Data.find("release 4") != llvm::StringRef::npos) + Data.find("release 4") != StringRef::npos) return RHEL4; return UnknownDistro; } if (!llvm::MemoryBuffer::getFile("/etc/debian_version", File)) { - llvm::StringRef Data = File.get()->getBuffer(); + StringRef Data = File.get()->getBuffer(); if (Data[0] == '5') return DebianLenny; else if (Data.startswith("squeeze/sid")) @@ -1431,7 +1432,7 @@ static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) { } if (!llvm::MemoryBuffer::getFile("/etc/SuSE-release", File)) { - llvm::StringRef Data = File.get()->getBuffer(); + StringRef Data = File.get()->getBuffer(); if (Data.startswith("openSUSE 11.3")) return OpenSuse11_3; else if (Data.startswith("openSUSE 11.4")) @@ -1466,7 +1467,7 @@ static std::string findGCCBaseLibDir(const std::string &GccTriple) { // This is of the form /foo/bar/include/c++/4.5.2/ if (CxxIncludeRoot.back() == '/') llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the / - llvm::StringRef Version = llvm::sys::path::filename(CxxIncludeRoot); + StringRef Version = llvm::sys::path::filename(CxxIncludeRoot); llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the version llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the c++ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 2fb865e020..31413c7cf9 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -45,6 +45,7 @@ using namespace clang::driver; using namespace clang::driver::tools; +using namespace clang; /// FindTargetProgramPath - Return path of the target specific version of /// ProgName. If it doesn't exist, return path of ProgName itself. @@ -63,7 +64,7 @@ static std::string FindTargetProgramPath(const ToolChain &TheToolChain, static void CheckPreprocessingOptions(const Driver &D, const ArgList &Args) { if (Arg *A = Args.getLastArg(options::OPT_C, options::OPT_CC)) if (!Args.hasArg(options::OPT_E) && !D.CCCIsCPP) - D.Diag(clang::diag::err_drv_argument_only_allowed_with) + D.Diag(diag::err_drv_argument_only_allowed_with) << A->getAsString(Args) << "-E"; } @@ -74,14 +75,14 @@ static void CheckCodeGenerationOptions(const Driver &D, const ArgList &Args) { if (Args.hasArg(options::OPT_static)) if (const Arg *A = Args.getLastArg(options::OPT_dynamic, options::OPT_mdynamic_no_pic)) - D.Diag(clang::diag::err_drv_argument_not_allowed_with) + D.Diag(diag::err_drv_argument_not_allowed_with) << A->getAsString(Args) << "-static"; } // Quote target names for inclusion in GNU Make dependency files. // Only the characters '$', '#', ' ', '\t' are quoted. -static void QuoteTarget(llvm::StringRef Target, - llvm::SmallVectorImpl<char> &Res) { +static void QuoteTarget(StringRef Target, + SmallVectorImpl<char> &Res) { for (unsigned i = 0, e = Target.size(); i != e; ++i) { switch (Target[i]) { case ' ': @@ -126,7 +127,7 @@ static void AddLinkerInputs(const ToolChain &TC, II.getType() == types::TY_LTO_IR || II.getType() == types::TY_LLVM_BC || II.getType() == types::TY_LTO_BC) - D.Diag(clang::diag::err_drv_no_linker_llvm_support) + D.Diag(diag::err_drv_no_linker_llvm_support) << TC.getTripleString(); } @@ -168,15 +169,15 @@ static void addProfileRT(const ToolChain &TC, const ArgList &Args, // the link line. We cannot do the same thing because unlike gcov there is a // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is // not supported by old linkers. - llvm::Twine ProfileRT = - llvm::Twine(TC.getDriver().Dir) + "/../lib/" + "libprofile_rt.a"; + Twine ProfileRT = + Twine(TC.getDriver().Dir) + "/../lib/" + "libprofile_rt.a"; if (Triple.getOS() == llvm::Triple::Darwin) { // On Darwin, if the static library doesn't exist try the dylib. bool Exists; if (llvm::sys::fs::exists(ProfileRT.str(), Exists) || !Exists) ProfileRT = - llvm::Twine(TC.getDriver().Dir) + "/../lib/" + "libprofile_rt.dylib"; + Twine(TC.getDriver().Dir) + "/../lib/" + "libprofile_rt.dylib"; } CmdArgs.push_back(Args.MakeArgString(ProfileRT)); @@ -245,7 +246,7 @@ void Clang::AddPreprocessingOptions(const Driver &D, if (Args.hasArg(options::OPT_MG)) { if (!A || A->getOption().matches(options::OPT_MD) || A->getOption().matches(options::OPT_MMD)) - D.Diag(clang::diag::err_drv_mg_requires_m_or_mm); + D.Diag(diag::err_drv_mg_requires_m_or_mm); CmdArgs.push_back("-MG"); } @@ -328,7 +329,7 @@ void Clang::AddPreprocessingOptions(const Driver &D, continue; } else { // Ignore the PCH if not first on command line and emit warning. - D.Diag(clang::diag::warn_drv_pch_not_first_include) + D.Diag(diag::warn_drv_pch_not_first_include) << P.str() << A->getAsString(Args); } } @@ -363,7 +364,7 @@ void Clang::AddPreprocessingOptions(const Driver &D, // -I- is a deprecated GCC feature, reject it. if (Arg *A = Args.getLastArg(options::OPT_I_)) - D.Diag(clang::diag::err_drv_I_dash_not_supported) << A->getAsString(Args); + D.Diag(diag::err_drv_I_dash_not_supported) << A->getAsString(Args); // If we have a --sysroot, and don't have an explicit -isysroot flag, add an // -isysroot to the CC1 invocation. @@ -386,7 +387,7 @@ static const char *getARMTargetCPU(const ArgList &Args, if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) return A->getValue(Args); - llvm::StringRef MArch; + StringRef MArch; if (Arg *A = Args.getLastArg(options::OPT_march_EQ)) { // Otherwise, if we have -march= choose the base CPU for that arch. MArch = A->getValue(Args); @@ -441,7 +442,7 @@ static const char *getARMTargetCPU(const ArgList &Args, // // FIXME: This is redundant with -mcpu, why does LLVM use this. // FIXME: tblgen this, or kill it! -static const char *getLLVMArchSuffixForARM(llvm::StringRef CPU) { +static const char *getLLVMArchSuffixForARM(StringRef CPU) { if (CPU == "arm7tdmi" || CPU == "arm7tdmi-s" || CPU == "arm710t" || CPU == "arm720t" || CPU == "arm9" || CPU == "arm9tdmi" || CPU == "arm920" || CPU == "arm920t" || CPU == "arm922t" || @@ -528,7 +529,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, // Select the float ABI as determined by -msoft-float, -mhard-float, and // -mfloat-abi=. - llvm::StringRef FloatABI; + StringRef FloatABI; if (Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float, options::OPT_mfloat_abi_EQ)) { @@ -539,7 +540,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, else { FloatABI = A->getValue(Args); if (FloatABI != "soft" && FloatABI != "softfp" && FloatABI != "hard") { - D.Diag(clang::diag::err_drv_invalid_mfloat_abi) + D.Diag(diag::err_drv_invalid_mfloat_abi) << A->getAsString(Args); FloatABI = "soft"; } @@ -554,7 +555,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, // Darwin defaults to "softfp" for v6 and v7. // // FIXME: Factor out an ARM class so we can cache the arch somewhere. - llvm::StringRef ArchName = + StringRef ArchName = getLLVMArchSuffixForARM(getARMTargetCPU(Args, Triple)); if (ArchName.startswith("v6") || ArchName.startswith("v7")) FloatABI = "softfp"; @@ -583,7 +584,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, default: // Assume "soft", but warn the user we are guessing. FloatABI = "soft"; - D.Diag(clang::diag::warn_drv_assuming_mfloat_abi_is) << "soft"; + D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft"; break; } } @@ -630,7 +631,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, // FIXME: Centralize feature selection, defaulting shouldn't be also in the // frontend target. if (const Arg *A = Args.getLastArg(options::OPT_mfpu_EQ)) { - llvm::StringRef FPU = A->getValue(Args); + StringRef FPU = A->getValue(Args); // Set the target features based on the FPU. if (FPU == "fpa" || FPU == "fpe2" || FPU == "fpe3" || FPU == "maverick") { @@ -651,7 +652,7 @@ void Clang::AddARMTargetArgs(const ArgList &Args, CmdArgs.push_back("-target-feature"); CmdArgs.push_back("+neon"); } else - D.Diag(clang::diag::err_drv_clang_unsupported) << A->getAsString(Args); + D.Diag(diag::err_drv_clang_unsupported) << A->getAsString(Args); } // Setting -msoft-float effectively disables NEON because of the GCC @@ -693,7 +694,7 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, CmdArgs.push_back(ABIName); if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - llvm::StringRef MArch = A->getValue(Args); + StringRef MArch = A->getValue(Args); CmdArgs.push_back("-target-cpu"); if ((MArch == "r2000") || (MArch == "r3000")) @@ -705,7 +706,7 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, } // Select the float ABI as determined by -msoft-float, -mhard-float, and - llvm::StringRef FloatABI; + StringRef FloatABI; if (Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float)) { if (A->getOption().matches(options::OPT_msoft_float)) @@ -718,7 +719,7 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, if (FloatABI.empty()) { // Assume "soft", but warn the user we are guessing. FloatABI = "soft"; - D.Diag(clang::diag::warn_drv_assuming_mfloat_abi_is) << "soft"; + D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft"; } if (FloatABI == "soft") { @@ -737,13 +738,13 @@ void Clang::AddSparcTargetArgs(const ArgList &Args, const Driver &D = getToolChain().getDriver(); if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - llvm::StringRef MArch = A->getValue(Args); + StringRef MArch = A->getValue(Args); CmdArgs.push_back("-target-cpu"); CmdA |