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);