Commit Graph

106 Commits

Author SHA1 Message Date
Chandler Carruth dc2f257680 Now that the structure of this is more reasonably laid out, fix a long
standing deficiency: we were providing no macro backtrace information
whenever caret diagnostics were turned off. This sinks the logic for
suppressing the code snippet and caret to the code that actually prints
tho code snippet and caret. Along the way, clean up the naming of
functions, remove some now fixed FIXMEs, and generally improve the
wording and logic of this process.

Add a test case exerecising this functionality. It is notable that the
resulting messages are extremely low quality. I'm working on a follow-up
patch that should address this and have left a FIXME in the test case.

llvm-svn: 142120
2011-10-16 07:20:28 +00:00
Chandler Carruth 5bc0b5ee24 Add proper doxyments to the entry point routine, and remove a dead parameter.
llvm-svn: 142109
2011-10-16 06:24:58 +00:00
Chandler Carruth 3eb8b54e71 Persist the TextDiagnostic object across multiple diagnostics as long as
the SourceManager doesn't change, and the source files don't change.
This greatly simplifies the interfaces and interactions. The lifetime of
the TextDiagnostic object forms the 'session' over which we attempt to
condense and deduplicate information in diagnostics.

llvm-svn: 142104
2011-10-16 02:57:39 +00:00
Chandler Carruth ab4c1daab1 Clean up the names of all the TextDiagnostic methods (and even a static
function) to agree with the coding conventions, and in one case have
a bit more information in it.

llvm-svn: 142088
2011-10-15 23:54:09 +00:00
Chandler Carruth 07c346d220 Move two functions out of the public interface that shouldn't have ever
been there. Also delete their redundant doxyments in favor of those in
the source file. I'm putting the doxyments for private and static
helpers into the implementation file, and only the public interface
doxyments into the header. If folks have strong opinions about this type
of split, feel free to chime in, I'm happy to re-organize.

llvm-svn: 142087
2011-10-15 23:48:02 +00:00
Chandler Carruth a302885b33 Graduate the TextDiagnostic interface to its own header and source file,
making it accessible to anyone from the Frontend library. Still a good
bit of cleanup to do here, but its a good milestone. This ensures that
*all* of the functionality needed to implement the DiagnosticConsumer is
exposed via the generic interface in some form. No sneaky re-use of
static functions.

llvm-svn: 142086
2011-10-15 23:43:53 +00:00