Let CompilerInvocation initialization indicate failure

This fixes the FIXMEs in ParseAnalyzeArgs. (Also a
precursor to moving the analyzer into an AST plugin.)

For consistency, do the same with AssemblerInvocation.

llvm-svn: 147218
This commit is contained in:
Dylan Noblesmith
2011-12-23 03:05:38 +00:00
parent 5d44a4332a
commit e99b27f35e
6 changed files with 104 additions and 52 deletions

View File

@@ -80,11 +80,12 @@ clang::createInvocationFromCommandLine(ArrayRef<const char *> ArgList,
}
const driver::ArgStringList &CCArgs = Cmd->getArguments();
CompilerInvocation *CI = new CompilerInvocation();
CompilerInvocation::CreateFromArgs(*CI,
llvm::OwningPtr<CompilerInvocation> CI(new CompilerInvocation());
if (!CompilerInvocation::CreateFromArgs(*CI,
const_cast<const char **>(CCArgs.data()),
const_cast<const char **>(CCArgs.data()) +
CCArgs.size(),
*Diags);
return CI;
*Diags))
return 0;
return CI.take();
}