diff options
Diffstat (limited to 'clang/tools/clang-cc/clang-cc.cpp')
| -rw-r--r-- | clang/tools/clang-cc/clang-cc.cpp | 19 |
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); |

