summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2010-07-09 00:00:58 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2010-07-09 00:00:58 +0000
commitf4b0c4b9464f509e46f2c6152e2b644101e61aa3 (patch)
tree1a6725838c85856f14331d2d4f665adadbaf0e5f /clang/lib/Frontend
parentd5d2e50f3ed373cfc45a0406fb9cd70f5522a0eb (diff)
downloadbcm5719-llvm-f4b0c4b9464f509e46f2c6152e2b644101e61aa3.tar.gz
bcm5719-llvm-f4b0c4b9464f509e46f2c6152e2b644101e61aa3.zip
Add a frontend option -chained-pch and don't pass an active PCH reader to the PCH writer if it is not set, preventing creation of chained PCH files. Since the reader is so far unused, effectively no functionality change.
llvm-svn: 107936
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp3
-rw-r--r--clang/lib/Frontend/FrontendActions.cpp4
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 25203412559..239283a0cc5 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -353,6 +353,8 @@ static void FrontendOptsToArgs(const FrontendOptions &Opts,
Res.push_back("-disable-free");
if (Opts.RelocatablePCH)
Res.push_back("-relocatable-pch");
+ if (Opts.ChainedPCH)
+ Res.push_back("-chained-pch");
if (Opts.ShowHelp)
Res.push_back("-help");
if (Opts.ShowMacrosInCodeCompletion)
@@ -1032,6 +1034,7 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
Opts.OutputFile = Args.getLastArgValue(OPT_o);
Opts.Plugins = Args.getAllArgValues(OPT_load);
Opts.RelocatablePCH = Args.hasArg(OPT_relocatable_pch);
+ Opts.ChainedPCH = Args.hasArg(OPT_chained_pch);
Opts.ShowHelp = Args.hasArg(OPT_help);
Opts.ShowMacrosInCodeCompletion = Args.hasArg(OPT_code_completion_macros);
Opts.ShowCodePatternsInCodeCompletion
diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp
index 400d35361c9..694cadcd13c 100644
--- a/clang/lib/Frontend/FrontendActions.cpp
+++ b/clang/lib/Frontend/FrontendActions.cpp
@@ -82,7 +82,9 @@ ASTConsumer *GeneratePCHAction::CreateASTConsumer(CompilerInstance &CI,
if (CI.getFrontendOpts().RelocatablePCH)
return CreatePCHGenerator(CI.getPreprocessor(), OS,
- CI.getPCHReader(), Sysroot.c_str());
+ CI.getInvocation().getFrontendOpts().ChainedPCH ?
+ CI.getPCHReader() : 0,
+ Sysroot.c_str());
return CreatePCHGenerator(CI.getPreprocessor(), OS, CI.getPCHReader());
}
OpenPOWER on IntegriCloud