diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-08-26 22:27:02 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-08-26 22:27:02 +0000 |
commit | f43b5e84aa982afacd87a225440ec88a9b66c1a0 (patch) | |
tree | 43eef055e18dde36dfc59ed42ce6d87d5f84a3d0 /lib/Driver/Driver.cpp | |
parent | 2ea054fbc59ed19b8e3304e7e7cbdd56a5a5120f (diff) |
Cleanup r138662 per Ben and David's suggestions, thanks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138670 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Driver.cpp')
-rw-r--r-- | lib/Driver/Driver.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 66d2df16e1..534984b4b3 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -1335,15 +1335,6 @@ void Driver::BuildJobsForAction(Compilation &C, } } -// Strip the directory and suffix from BaseInput. -static std::string getBaseName (const char *BaseInput) { - std::pair<StringRef, StringRef> Split = StringRef(BaseInput).rsplit('/'); - if (Split.second != "") - return Split.second.split('.').first.str(); - else - return Split.first.split('.').first.str(); -} - const char *Driver::GetNamedOutputPath(Compilation &C, const JobAction &JA, const char *BaseInput, @@ -1363,9 +1354,10 @@ const char *Driver::GetNamedOutputPath(Compilation &C, // Output to a temporary file? if ((!AtTopLevel && !C.getArgs().hasArg(options::OPT_save_temps)) || CCGenDiagnostics) { + StringRef Name = llvm::sys::path::filename(BaseInput); + std::pair<StringRef, StringRef> Split = Name.split('.'); std::string TmpName = - GetTemporaryPath(getBaseName(BaseInput).c_str(), - types::getTypeTempSuffix(JA.getType())); + GetTemporaryPath(Split.first, types::getTypeTempSuffix(JA.getType())); return C.addTempFile(C.getArgs().MakeArgString(TmpName.c_str())); } @@ -1399,9 +1391,10 @@ const char *Driver::GetNamedOutputPath(Compilation &C, // filename, then avoid overwriting input file. if (!AtTopLevel && C.getArgs().hasArg(options::OPT_save_temps) && NamedOutput == BaseName) { + StringRef Name = llvm::sys::path::filename(BaseInput); + std::pair<StringRef, StringRef> Split = Name.split('.'); std::string TmpName = - GetTemporaryPath(getBaseName(BaseInput).c_str(), - types::getTypeTempSuffix(JA.getType())); + GetTemporaryPath(Split.first, types::getTypeTempSuffix(JA.getType())); return C.addTempFile(C.getArgs().MakeArgString(TmpName.c_str())); } @@ -1486,7 +1479,7 @@ std::string Driver::GetProgramPath(const char *Name, const ToolChain &TC, return Name; } -std::string Driver::GetTemporaryPath(const char *Prefix, const char *Suffix) +std::string Driver::GetTemporaryPath(StringRef Prefix, const char *Suffix) const { // FIXME: This is lame; sys::Path should provide this function (in particular, // it should know how to find the temporary files dir). |