diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-03-12 22:10:06 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-03-12 22:10:06 +0000 |
commit | c0938f3fdbd0faf5a5b7fc67c5a02e22cd03396d (patch) | |
tree | 62d44ca64f16dc4ed868cd5965494caaf22c782c /clang/lib/Driver/Tools.cpp | |
parent | 987cef1fe2974907eeabf7e65a903b7005e16c7d (diff) | |
download | bcm5719-llvm-c0938f3fdbd0faf5a5b7fc67c5a02e22cd03396d.tar.gz bcm5719-llvm-c0938f3fdbd0faf5a5b7fc67c5a02e22cd03396d.zip |
Address some of the concerns by Chandler.
* s/AddDirectoryList/addDirectoryList/
* Move the call to ::getenv into the function.
* FileCheck-ize the testcase.
llvm-svn: 152583
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 02b69b50573..acd8b3a9451 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/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())) |