Start work on SerializedDiagnosticPrinter, a new DiagnosticConsumer that serializes out the diagnostics for a given translation unit to a bit code file. This is a WIP.
The motivation for this new DiagnosticConsumer is to provide a way for tools invoking the compiler to get its diagnostics via a libclang interface, rather than textually parsing the compiler output. This gives us flexibility to change the compiler's textual output, but have a structured data format for clients to use to get the diagnostics via a stable API. I have no tests for this, but llvm-bcanalyzer so far shows that the emitted file is well-formed. More work to follow. llvm-svn: 143259
This commit is contained in:
@@ -1109,6 +1109,8 @@ static void ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
|
||||
DiagnosticsEngine &Diags) {
|
||||
using namespace cc1options;
|
||||
Opts.DiagnosticLogFile = Args.getLastArgValue(OPT_diagnostic_log_file);
|
||||
Opts.DiagnosticSerializationFile =
|
||||
Args.getLastArgValue(OPT_diagnostic_serialized_file);
|
||||
Opts.IgnoreWarnings = Args.hasArg(OPT_w);
|
||||
Opts.NoRewriteMacros = Args.hasArg(OPT_Wno_rewrite_macros);
|
||||
Opts.Pedantic = Args.hasArg(OPT_pedantic);
|
||||
|
||||
Reference in New Issue
Block a user