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 | 24347f7cdaa9ca95c599b9495104317ce4a7cbca (patch) | |
| tree | fb9d435d557d2a5063cd07bf34115d6034e99452 /clang/tools/clang-cc | |
| parent | 77a9d2b3ec4a4255787cbbb5faefbd10f4c6df24 (diff) | |
| download | bcm5719-llvm-24347f7cdaa9ca95c599b9495104317ce4a7cbca.tar.gz bcm5719-llvm-24347f7cdaa9ca95c599b9495104317ce4a7cbca.zip | |
Store more information in HeaderSearchOptions so that its initialization is not
language dependent.
llvm-svn: 88981
Diffstat (limited to 'clang/tools/clang-cc')
| -rw-r--r-- | clang/tools/clang-cc/Options.cpp | 24 | ||||
| -rw-r--r-- | clang/tools/clang-cc/Options.h | 3 | ||||
| -rw-r--r-- | clang/tools/clang-cc/clang-cc.cpp | 25 |
3 files changed, 20 insertions, 32 deletions
diff --git a/clang/tools/clang-cc/Options.cpp b/clang/tools/clang-cc/Options.cpp index 174143d39c8..1dccafd5260 100644 --- a/clang/tools/clang-cc/Options.cpp +++ b/clang/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/clang/tools/clang-cc/Options.h b/clang/tools/clang-cc/Options.h index 0b67da3594c..9a2fd9d59a1 100644 --- a/clang/tools/clang-cc/Options.h +++ b/clang/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/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp index aea97744208..fb397d5e741 100644 --- a/clang/tools/clang-cc/clang-cc.cpp +++ b/clang/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()); |

