> On Feb 26, 2015, at 7:24 PM, Richard Smith <[email protected]> wrote:
>
> On Thu, Feb 26, 2015 at 4:01 PM, Seth Cantrell <[email protected]
> <mailto:[email protected]>> wrote:
> This enables a warning corresponding to gcc's warning of using %p modifiers
> with non-void* pointers, and to the printf/scanf specs which require void*.
>
> The warning is on by default for -Weverything users, off by default for
> others. It can be enabled with -pedantic or -Wformat-pedantic. It's not
> enabled by -Wformat.
>
> From a high level, this seems like a good approach to the problem, thanks.
>
> The patch includes tests and the clang-test target passes with this patch
> applied to a recent clang revision.
>
> I used clang-format to format my changes and the patch includes cleanup of a
> few trailing whitespace issues that were near my changes.
>
> See also the email thread at:
> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-February/041714.html
> <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-February/041714.html>
>
> It doesn't seem ideal to call matchesType twice to find out which diagnostic
> to issue; have you considered returning an enum { Match, NoMatchPedantic,
> NoMatch }; or similar instead?
That did initially occur to me but I saw the matchesType usages in a few other
locations and wanted to keep a compatible API. It wasn't clear, for example,
whether the NoMatchPedantic option should convert to true or false of if I
should even support the current usage rather than make every use check for each
condition explicitly.
I will go back and more carefully review the other usages to see what
refactoring I need to do.
Thanks,
Seth
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits