summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-cc
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-16 22:38:40 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-16 22:38:40 +0000
commit24347f7cdaa9ca95c599b9495104317ce4a7cbca (patch)
treefb9d435d557d2a5063cd07bf34115d6034e99452 /clang/tools/clang-cc
parent77a9d2b3ec4a4255787cbbb5faefbd10f4c6df24 (diff)
downloadbcm5719-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.cpp24
-rw-r--r--clang/tools/clang-cc/Options.h3
-rw-r--r--clang/tools/clang-cc/clang-cc.cpp25
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());
OpenPOWER on IntegriCloud