[PATCH] Add a level parameter to ClangTidyCheck::diag.
Alp Toker
alp at nuanti.com
Sun Mar 2 08:59:27 PST 2014
On 02/03/2014 16:18, Alp Toker wrote:
>
> On 02/03/2014 12:25, Peter Collingbourne wrote:
>>
>> Index: clang-tidy/ClangTidy.h
>> ===================================================================
>> --- clang-tidy/ClangTidy.h
>> +++ clang-tidy/ClangTidy.h
>> @@ -76,7 +76,8 @@
>> void setContext(ClangTidyContext *Ctx) { Context = Ctx; }
>> /// \brief Add a diagnostic with the check's name.
>> - DiagnosticBuilder diag(SourceLocation Loc, StringRef Description);
>> + DiagnosticBuilder diag(SourceLocation Loc, StringRef Description,
>> + DiagnosticIDs::Level Level =
>> DiagnosticIDs::Warning);
>
> Could you order the parameters Loc, Level, FormatString and drop the
> default argument?
>
> That'll provide visual consistency with the output as well as internal
> consistency with clang's own getCustomDiagID(Level L, StringRef
> FormatString).
>
> That way it becomes kind of a shorthand for diag(getCustomDiagID(...))
> << ... which is a step towards unifying built-in and custom diagnostic
> IDs.
So it looks like there's a convention of listing the diag Level _after_
the Message clang-tools-extra, and diag(Loc, "message") without
specifying a Level. Neither looks like a good idea but if the plan is to
keep that convention then I guess your patch is OK.
It's a failing of clang's diag/tablegen system that it wasn't made
reusable and ended up getting re-rolled in external projects, each with
slightly different interfaces :-/
Alp.
--
http://www.nuanti.com
the browser experts
More information about the cfe-commits
mailing list