diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-07 04:20:39 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-07 04:20:39 +0000 |
commit | e166582f8f36f4db8f4ea157538fab7fe6bf2658 (patch) | |
tree | c04a78028884b04ce3ec591963f6ad1160ef898a /lib/Frontend/InitHeaderSearch.cpp | |
parent | 5c5758bb0a4ec0f572cd20249277736da5715003 (diff) |
Lift InitHeaderSearch::AddEnvVarPaths logic higher.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86337 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/InitHeaderSearch.cpp')
-rw-r--r-- | lib/Frontend/InitHeaderSearch.cpp | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp index 6f87e033ea..0ca6e0b830 100644 --- a/lib/Frontend/InitHeaderSearch.cpp +++ b/lib/Frontend/InitHeaderSearch.cpp @@ -82,9 +82,8 @@ void InitHeaderSearch::AddPath(const llvm::StringRef &Path, } -void InitHeaderSearch::AddEnvVarPaths(const char *Name) { - const char* at = getenv(Name); - if (!at || *at == 0) // Empty string should not add '.' path. +void InitHeaderSearch::AddDelimitedPaths(const char *at) { + if (*at == 0) // Empty string should not add '.' path. return; const char* delim = strchr(at, llvm::sys::PathSeparator); @@ -443,35 +442,20 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tripl } } -void InitHeaderSearch::AddDefaultFrameworkIncludePaths(const llvm::Triple &triple) { - llvm::Triple::OSType os = triple.getOS(); - if (os != llvm::Triple::Darwin) - return; - AddPath("/System/Library/Frameworks", System, true, false, true); - AddPath("/Library/Frameworks", System, true, false, true); -} - void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang, const llvm::Triple &triple) { AddDefaultCIncludePaths(triple); - AddDefaultFrameworkIncludePaths(triple); + + // Add the default framework include paths on Darwin. + if (triple.getOS() == llvm::Triple::Darwin) { + AddPath("/System/Library/Frameworks", System, true, false, true); + AddPath("/Library/Frameworks", System, true, false, true); + } + if (Lang.CPlusPlus) AddDefaultCPlusPlusIncludePaths(triple); } -void InitHeaderSearch::AddDefaultEnvVarPaths(const LangOptions &Lang) { - AddEnvVarPaths("CPATH"); - if (Lang.CPlusPlus && Lang.ObjC1) - AddEnvVarPaths("OBJCPLUS_INCLUDE_PATH"); - else if (Lang.CPlusPlus) - AddEnvVarPaths("CPLUS_INCLUDE_PATH"); - else if (Lang.ObjC1) - AddEnvVarPaths("OBJC_INCLUDE_PATH"); - else - AddEnvVarPaths("C_INCLUDE_PATH"); -} - - /// RemoveDuplicates - If there are duplicate directory entries in the specified /// search list, remove the later (dead) ones. static void RemoveDuplicates(std::vector<DirectoryLookup> &SearchList, |