Ted Kremenek
4548e04458
Refactor SerializeDiagnosticsPrinter to using DiagnosticRenderer. This gives us comparative diagnostics
...
to TextDiagnosticPrinter.
This certainly can be cleaned up a bit.
llvm-svn: 146820
2011-12-17 05:26:11 +00:00
Argyrios Kyrtzidis
7910d7b72a
Make changes to SDiagsWriter to make it work in combination with the ARC migrator:
...
-Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce
a "finish" callback method in the DiagnosticConsumer. SDiagsWriter finishes up the serialization
file inside this method.
-Make it independent of any particular DiagnosticsEngine; make it use the SourceManager of the
Diagnostic object.
-Ignore null source ranges.
llvm-svn: 146020
2011-12-07 05:52:12 +00:00
Devang Patel
9957e8b789
Remove extra ';'.
...
llvm-svn: 144604
2011-11-15 01:30:40 +00:00
Benjamin Kramer
931ee8e727
serialized diagnostics: simplify code.
...
llvm-svn: 144277
2011-11-10 11:29:20 +00:00
Ted Kremenek
d010ba4729
serialized diagnostics: implement full deserialization of clang diagnostics via the libclang API.
...
I've tested it on simple cases and it works. Test cases to follow as well as a few tweaks.
llvm-svn: 144269
2011-11-10 08:43:12 +00:00
Ted Kremenek
cc88d264eb
serialized diagnostics: serialize the version info in a separate meta block.
...
llvm-svn: 144115
2011-11-08 20:27:29 +00:00
Ted Kremenek
d89a827b5c
serialized diagnostics: include FixIt information in serialized diagnostics.
...
llvm-svn: 143776
2011-11-05 03:34:23 +00:00
Ted Kremenek
f264a20721
serialized diagnostics: pull emission of filenames into diagnostic block.
...
llvm-svn: 143765
2011-11-05 00:10:11 +00:00
Ted Kremenek
0a49dae7f7
serialized diagnostics: pull emission of diagnostic flag string into diagnostics block.
...
llvm-svn: 143764
2011-11-05 00:10:07 +00:00
Ted Kremenek
31921506b4
Serialized diagnostics: pull category name serialization into diagnostic blocks. The goal is to remove BLOCK_STRINGS so that the bitcode file can potentially be streamed.
...
llvm-svn: 143763
2011-11-05 00:10:04 +00:00
Ted Kremenek
59f1025ca0
serialized diagnostics: emit source ranges.
...
llvm-svn: 143762
2011-11-05 00:10:01 +00:00
Ted Kremenek
337cd2a8e2
Move definition of record/block IDs for serialized diagnostics to public header.
...
llvm-svn: 143761
2011-11-05 00:09:57 +00:00
Ted Kremenek
868504ab99
Serialized diagnostics: encode a 24 bit version number as part of the "magic number" of serialized diagnostics.
...
llvm-svn: 143760
2011-11-05 00:09:53 +00:00
Ted Kremenek
2724b1ffc1
serialized diagnostics: unique warning strings when emitting serialized diagnostics.
...
llvm-svn: 143759
2011-11-05 00:09:50 +00:00
Ted Kremenek
f67bbca1a4
Serialized diagnostics: serialize "notes" as sub diagnostics of warnings and errors.
...
llvm-svn: 143758
2011-11-05 00:09:47 +00:00
Ted Kremenek
fce371acb4
Also include file modification time and size in output of SerializedDiagnosticPrinter.
...
llvm-svn: 143757
2011-11-05 00:09:43 +00:00
Ted Kremenek
4610ea2bcf
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
2011-10-29 00:12:39 +00:00