[cfe-dev] Notes in Clang diagnostics and LLVM DiagnosticInfo

tsett tsett at gmx.net
Sun Feb 23 01:08:48 PST 2014


Hi Tobias,
I got the problem.
I use the DiagnostigBuilder::setForceEmit() for this.
An instance of DiagnostigBuilder will be returned if you use the
report-function.

Hope this helps.

Best,
Robert

Am 23.02.2014 09:56, schrieb Tobias Grosser:
> Hi,
> 
> I just saw the LLVM DiagnosticInfo being integrated into clang in
> r200931 by Quentin and noticed interesting behaviour when using Notes.
> 
> Specifically, I was using the interface in Polly to emit informative
> messages to the user (similar to icc's -vec-report). To emit this
> information I used the Severity 'Note' as these are neither warnings nor
> errors, just pieces of information that help the user understand what
> happens.
> 
> However, when running clang I realized my notes are not emitted as
> expected. I tracked it down to this piece of code:
> 
> // If the client doesn't care about this message, don't issue it.
> // If this is  a note and the last real diagnostic was ignored, ignore
> // it too.
>   if (DiagLevel == DiagnosticIDs::Ignored ||
>       (DiagLevel == DiagnosticIDs::Note &&
>        Diag.LastDiagLevel == DiagnosticIDs::Ignored))
>     return false;
> 
> From my reading it seems the only way in which clang supports notes is
> as a piece of additional information for 'real diagnostic'. Now I wonder
> what is the right way to emit independent informative messages. I see
> two approaches:
> 
> 1) Make it possible to create first-class notes, that do not depend on
> previous diagnostics and that are not ignored.
> 
> 2) Introduce an additional severity level (e.g. Info) that is a first
> class Diagnostic.
> 
> 2) allows us to also provide 'notes' for our info-diagnostics.
> 
> E.g. something like this:
> 
> /tmp/test.c:1:6: info: Polly detected an optimizable code region
> /tmp/test.c:3:9: note: End of optimizable code region
> 
> Does anybody have some ideas/opinions regarding this issue?
> 
> Cheers,
> Tobias
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list