summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc/clang-cc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-cc/clang-cc.cpp')
-rw-r--r--clang/tools/clang-cc/clang-cc.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp
index 168a8403329..dac9b0dc010 100644
--- a/clang/tools/clang-cc/clang-cc.cpp
+++ b/clang/tools/clang-cc/clang-cc.cpp
@@ -1149,7 +1149,24 @@ void InitializeIncludePaths(const char *Argv0, HeaderSearch &Headers,
}
}
- 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);
OpenPOWER on IntegriCloud