summaryrefslogtreecommitdiffstats
path: root/lib/Driver
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-03-12 22:10:06 +0000
committerBill Wendling <isanbard@gmail.com>2012-03-12 22:10:06 +0000
commit3d7171582b026e043916fc5d65a7d7aada547206 (patch)
treea13bcef3f83fb359613aa868ce4201dcb52070f9 /lib/Driver
parente8cb554c36c94e31e80ea893d9ad528afb491bdf (diff)
Address some of the concerns by Chandler.
* s/AddDirectoryList/addDirectoryList/ * Move the call to ::getenv into the function. * FileCheck-ize the testcase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152583 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver')
-rw-r--r--lib/Driver/Tools.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 02b69b5057..acd8b3a945 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -88,10 +88,11 @@ static void QuoteTarget(StringRef Target,
}
}
-static void AddDirectoryList(const ArgList &Args,
+static void addDirectoryList(const ArgList &Args,
ArgStringList &CmdArgs,
const char *ArgName,
- const char *DirList) {
+ const char *EnvVar) {
+ const char *DirList = ::getenv(EnvVar);
if (!DirList)
return; // Nothing to do.
@@ -106,9 +107,9 @@ static void AddDirectoryList(const ArgList &Args,
CmdArgs.push_back(".");
} else {
CmdArgs.push_back(ArgName);
- CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
+ CmdArgs.push_back(Args.MakeArgString(Dirs.split(Delim).first));
}
- Dirs = Dirs.substr(Delim + 1);
+ Dirs = Dirs.split(Delim).second;
}
if (Dirs.empty()) { // Trailing colon.
@@ -162,7 +163,7 @@ static void AddLinkerInputs(const ToolChain &TC,
}
// LIBRARY_PATH - included following the user specified library paths.
- AddDirectoryList(Args, CmdArgs, "-L", ::getenv("LIBRARY_PATH"));
+ addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
}
/// \brief Determine whether Objective-C automated reference counting is
@@ -402,19 +403,15 @@ void Clang::AddPreprocessingOptions(Compilation &C,
// frontend into the driver. It will allow deleting 4 otherwise unused flags.
// CPATH - included following the user specified includes (but prior to
// builtin and standard includes).
- AddDirectoryList(Args, CmdArgs, "-I", ::getenv("CPATH"));
+ addDirectoryList(Args, CmdArgs, "-I", "CPATH");
// C_INCLUDE_PATH - system includes enabled when compiling C.
- AddDirectoryList(Args, CmdArgs, "-c-isystem",
- ::getenv("C_INCLUDE_PATH"));
+ addDirectoryList(Args, CmdArgs, "-c-isystem", "C_INCLUDE_PATH");
// CPLUS_INCLUDE_PATH - system includes enabled when compiling C++.
- AddDirectoryList(Args, CmdArgs, "-cxx-isystem",
- ::getenv("CPLUS_INCLUDE_PATH"));
+ addDirectoryList(Args, CmdArgs, "-cxx-isystem", "CPLUS_INCLUDE_PATH");
// OBJC_INCLUDE_PATH - system includes enabled when compiling ObjC.
- AddDirectoryList(Args, CmdArgs, "-objc-isystem",
- ::getenv("OBJC_INCLUDE_PATH"));
+ addDirectoryList(Args, CmdArgs, "-objc-isystem", "OBJC_INCLUDE_PATH");
// OBJCPLUS_INCLUDE_PATH - system includes enabled when compiling ObjC++.
- AddDirectoryList(Args, CmdArgs, "-objcxx-isystem",
- ::getenv("OBJCPLUS_INCLUDE_PATH"));
+ addDirectoryList(Args, CmdArgs, "-objcxx-isystem", "OBJCPLUS_INCLUDE_PATH");
// Add C++ include arguments, if needed.
if (types::isCXX(Inputs[0].getType()))