Lift InitHeaderSearch::AddEnvVarPaths logic higher.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86337 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp
index 168a840..dac9b0d 100644
--- a/tools/clang-cc/clang-cc.cpp
+++ b/tools/clang-cc/clang-cc.cpp
@@ -1149,7 +1149,24 @@
}
}
- Init.AddDefaultEnvVarPaths(Lang);
+ // Add CPATH environment paths.
+ if (const char *Env = getenv("CPATH"))
+ Init.AddDelimitedPaths(Env);
+
+ // Add language specific environment paths.
+ if (Lang.CPlusPlus && Lang.ObjC1) {
+ if (const char *Env = getenv("OBJCPLUS_INCLUDE_PATH"))
+ Init.AddDelimitedPaths(Env);
+ } else if (Lang.CPlusPlus) {
+ if (const char *Env = getenv("CPLUS_INCLUDE_PATH"))
+ Init.AddDelimitedPaths(Env);
+ } else if (Lang.ObjC1) {
+ if (const char *Env = getenv("OBJC_INCLUDE_PATH"))
+ Init.AddDelimitedPaths(Env);
+ } else {
+ if (const char *Env = getenv("C_INCLUDE_PATH"))
+ Init.AddDelimitedPaths(Env);
+ }
if (!nobuiltininc) {
std::string P = GetBuiltinIncludePath(Argv0);