}
static bool ConstructCompilerInvocation(CompilerInvocation &Opts,
- Diagnostic &Diags,
- const char *Argv0, bool &IsAST) {
+ Diagnostic &Diags, const char *Argv0) {
// Initialize target options.
InitializeTargetOptions(Opts.getTargetOpts());
//
// FIXME: These aren't used during operations on ASTs. Split onto a separate
// code path to make this obvious.
- IsAST = (IK == FrontendOptions::IK_AST);
- if (!IsAST)
+ if (IK != FrontendOptions::IK_AST)
InitializeLangOptions(Opts.getLangOpts(), IK);
// Initialize the static analyzer options.
//
// FIXME: We should move .ast inputs to taking a separate path, they are
// really quite different.
- bool IsAST = false;
if (!ConstructCompilerInvocation(Clang.getInvocation(),
- Clang.getDiagnostics(),
- argv[0], IsAST))
+ Clang.getDiagnostics(), argv[0]))
return 1;
// Create the target instance.
// If we aren't using an AST file, setup the file and source managers and
// the preprocessor.
+ bool IsAST =
+ Clang.getFrontendOpts().Inputs[i].first == FrontendOptions::IK_AST;
if (!IsAST) {
if (!i) {
// Create a file manager object to provide access to and cache the