Nuke SetUpBuildDumpLog.
Also, it was the only reason that `argc` and `argv` were being passed into createDiagnostics, so remove those parameters and clean up callers. llvm-svn: 172945
This commit is contained in:
@@ -92,29 +92,6 @@ void CompilerInstance::setCodeCompletionConsumer(CodeCompleteConsumer *Value) {
|
||||
}
|
||||
|
||||
// Diagnostics
|
||||
static void SetUpBuildDumpLog(DiagnosticOptions *DiagOpts,
|
||||
unsigned argc, const char* const *argv,
|
||||
DiagnosticsEngine &Diags) {
|
||||
std::string ErrorInfo;
|
||||
OwningPtr<raw_ostream> OS(
|
||||
new llvm::raw_fd_ostream(DiagOpts->DumpBuildInformation.c_str(),ErrorInfo));
|
||||
if (!ErrorInfo.empty()) {
|
||||
Diags.Report(diag::err_fe_unable_to_open_logfile)
|
||||
<< DiagOpts->DumpBuildInformation << ErrorInfo;
|
||||
return;
|
||||
}
|
||||
|
||||
(*OS) << "clang -cc1 command line arguments: ";
|
||||
for (unsigned i = 0; i != argc; ++i)
|
||||
(*OS) << argv[i] << ' ';
|
||||
(*OS) << '\n';
|
||||
|
||||
// Chain in a diagnostic client which will log the diagnostics.
|
||||
DiagnosticConsumer *Logger =
|
||||
new TextDiagnosticPrinter(*OS.take(), DiagOpts, /*OwnsOutputStream=*/true);
|
||||
Diags.setClient(new ChainedDiagnosticConsumer(Diags.takeClient(), Logger));
|
||||
}
|
||||
|
||||
static void SetUpDiagnosticLog(DiagnosticOptions *DiagOpts,
|
||||
const CodeGenOptions *CodeGenOpts,
|
||||
DiagnosticsEngine &Diags) {
|
||||
@@ -167,18 +144,16 @@ static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts,
|
||||
SerializedConsumer));
|
||||
}
|
||||
|
||||
void CompilerInstance::createDiagnostics(int Argc, const char* const *Argv,
|
||||
DiagnosticConsumer *Client,
|
||||
void CompilerInstance::createDiagnostics(DiagnosticConsumer *Client,
|
||||
bool ShouldOwnClient,
|
||||
bool ShouldCloneClient) {
|
||||
Diagnostics = createDiagnostics(&getDiagnosticOpts(), Argc, Argv, Client,
|
||||
Diagnostics = createDiagnostics(&getDiagnosticOpts(), Client,
|
||||
ShouldOwnClient, ShouldCloneClient,
|
||||
&getCodeGenOpts());
|
||||
}
|
||||
|
||||
IntrusiveRefCntPtr<DiagnosticsEngine>
|
||||
CompilerInstance::createDiagnostics(DiagnosticOptions *Opts,
|
||||
int Argc, const char* const *Argv,
|
||||
DiagnosticConsumer *Client,
|
||||
bool ShouldOwnClient,
|
||||
bool ShouldCloneClient,
|
||||
@@ -205,9 +180,6 @@ CompilerInstance::createDiagnostics(DiagnosticOptions *Opts,
|
||||
if (!Opts->DiagnosticLogFile.empty())
|
||||
SetUpDiagnosticLog(Opts, CodeGenOpts, *Diags);
|
||||
|
||||
if (!Opts->DumpBuildInformation.empty())
|
||||
SetUpBuildDumpLog(Opts, Argc, Argv, *Diags);
|
||||
|
||||
if (!Opts->DiagnosticSerializationFile.empty())
|
||||
SetupSerializedDiagnostics(Opts, *Diags,
|
||||
Opts->DiagnosticSerializationFile);
|
||||
@@ -854,8 +826,7 @@ static void compileModule(CompilerInstance &ImportingInstance,
|
||||
// module.
|
||||
CompilerInstance Instance;
|
||||
Instance.setInvocation(&*Invocation);
|
||||
Instance.createDiagnostics(/*argc=*/0, /*argv=*/0,
|
||||
&ImportingInstance.getDiagnosticClient(),
|
||||
Instance.createDiagnostics(&ImportingInstance.getDiagnosticClient(),
|
||||
/*ShouldOwnClient=*/true,
|
||||
/*ShouldCloneClient=*/true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user