diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-16 22:38:40 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-16 22:38:40 +0000 |
commit | c363cb1929c7908c8c8c4b77d025c2ccb09284ae (patch) | |
tree | d1f761cf6225913e794b8667c1bb9734ce3555e4 /tools/clang-cc | |
parent | 6143ea28a922ebd1d81a4fc0093d4daeab1e42ac (diff) |
Store more information in HeaderSearchOptions so that its initialization is not
language dependent.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88981 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/clang-cc')
-rw-r--r-- | tools/clang-cc/Options.cpp | 24 | ||||
-rw-r--r-- | tools/clang-cc/Options.h | 3 | ||||
-rw-r--r-- | tools/clang-cc/clang-cc.cpp | 25 |
3 files changed, 20 insertions, 32 deletions
diff --git a/tools/clang-cc/Options.cpp b/tools/clang-cc/Options.cpp index 174143d39c..1dccafd526 100644 --- a/tools/clang-cc/Options.cpp +++ b/tools/clang-cc/Options.cpp @@ -910,8 +910,7 @@ void clang::InitializeFrontendOptions(FrontendOptions &Opts) { } void clang::InitializeHeaderSearchOptions(HeaderSearchOptions &Opts, - llvm::StringRef BuiltinIncludePath, - const LangOptions &Lang) { + llvm::StringRef BuiltinIncludePath) { using namespace headersearchoptions; Opts.Sysroot = isysroot; @@ -993,19 +992,14 @@ void clang::InitializeHeaderSearchOptions(HeaderSearchOptions &Opts, Opts.EnvIncPath = Env; // Add language specific environment paths. - if (Lang.CPlusPlus && Lang.ObjC1) { - if (const char *Env = getenv("OBJCPLUS_INCLUDE_PATH")) - Opts.LangEnvIncPath = Env; - } else if (Lang.CPlusPlus) { - if (const char *Env = getenv("CPLUS_INCLUDE_PATH")) - Opts.LangEnvIncPath = Env; - } else if (Lang.ObjC1) { - if (const char *Env = getenv("OBJC_INCLUDE_PATH")) - Opts.LangEnvIncPath = Env; - } else { - if (const char *Env = getenv("C_INCLUDE_PATH")) - Opts.LangEnvIncPath = Env; - } + if (const char *Env = getenv("OBJCPLUS_INCLUDE_PATH")) + Opts.ObjCXXEnvIncPath = Env; + if (const char *Env = getenv("CPLUS_INCLUDE_PATH")) + Opts.CXXEnvIncPath = Env; + if (const char *Env = getenv("OBJC_INCLUDE_PATH")) + Opts.CEnvIncPath = Env; + if (const char *Env = getenv("C_INCLUDE_PATH")) + Opts.CEnvIncPath = Env; if (!nobuiltininc) Opts.BuiltinIncludePath = BuiltinIncludePath; diff --git a/tools/clang-cc/Options.h b/tools/clang-cc/Options.h index 0b67da3594..9a2fd9d59a 100644 --- a/tools/clang-cc/Options.h +++ b/tools/clang-cc/Options.h @@ -40,8 +40,7 @@ void InitializeDiagnosticOptions(DiagnosticOptions &Opts); void InitializeFrontendOptions(FrontendOptions &Opts); void InitializeHeaderSearchOptions(HeaderSearchOptions &Opts, - llvm::StringRef BuiltinIncludePath, - const LangOptions &Lang); + llvm::StringRef BuiltinIncludePath); void InitializeLangOptions(LangOptions &Options, FrontendOptions::InputKind LK, diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp index aea9774420..fb397d5e74 100644 --- a/tools/clang-cc/clang-cc.cpp +++ b/tools/clang-cc/clang-cc.cpp @@ -52,7 +52,7 @@ using namespace clang; //===----------------------------------------------------------------------===// -// Utility Methods +// Main driver //===----------------------------------------------------------------------===// std::string GetBuiltinIncludePath(const char *Argv0) { @@ -74,9 +74,14 @@ std::string GetBuiltinIncludePath(const char *Argv0) { return P.str(); } -//===----------------------------------------------------------------------===// -// Main driver -//===----------------------------------------------------------------------===// +static void LLVMErrorHandler(void *UserData, const std::string &Message) { + Diagnostic &Diags = *static_cast<Diagnostic*>(UserData); + + Diags.Report(diag::err_fe_error_backend) << Message; + + // We cannot recover from llvm errors. + exit(1); +} /// ClangFrontendTimer - The front-end activities should charge time to it with /// TimeRegion. The -ftime-report option controls whether this will do @@ -144,15 +149,6 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { } } -static void LLVMErrorHandler(void *UserData, const std::string &Message) { - Diagnostic &Diags = *static_cast<Diagnostic*>(UserData); - - Diags.Report(diag::err_fe_error_backend) << Message; - - // We cannot recover from llvm errors. - exit(1); -} - static TargetInfo * ConstructCompilerInvocation(CompilerInvocation &Opts, Diagnostic &Diags, const char *Argv0, bool &IsAST) { @@ -194,8 +190,7 @@ ConstructCompilerInvocation(CompilerInvocation &Opts, Diagnostic &Diags, // Initialize the header search options. InitializeHeaderSearchOptions(Opts.getHeaderSearchOpts(), - GetBuiltinIncludePath(Argv0), - Opts.getLangOpts()); + GetBuiltinIncludePath(Argv0)); // Initialize the other preprocessor options. InitializePreprocessorOptions(Opts.getPreprocessorOpts()); |