AaronBallman wrote: > > I'd like to understand the need for this diagnostic a bit more. I realize > > GCC has it, but it's off-by-default in GCC and `-Wformat` does not enable > > it either: https://godbolt.org/z/Gxczsjdj5 > > We believe that users don't enable off by default warnings often enough to > > warrant supporting them, and this feels like a very pedantic warning in > > many cases. e.g., `printf("%u", 0);` > > I work on an out of tree backend and our customers requested the warning > -Wformat-signedness to be implemented in clang (as they found it in gcc). I > agree that the warning is pedantic. Note that gcc will with the options > -Wformat and -pedantic enable at least the warnings related to scanf (see > https://godbolt.org/z/WjzWKj89G). > > If you feel that the clang community don't really want -Wformat-signedness I > can simply implement this in our downstream llvm-project repo and abandon > this pull request. We already have a large number of diffs compared to > https://github.com/llvm/llvm-project and a few more probably don't make any > difference.
Thank you for the details! I think this is worth having. 1) GCC compatibility isn't unreasonable here, 2) there is evidence of users enabling this specific warning: https://sourcegraph.com/search?q=context:global+-Wformat-signedness+-file:.*gcc.*+-file:.*clang.*&patternType=standard&sm=1&groupBy=repo 3) The diagnostic is helpful for people who may need to debug situations where the printed or scanned values have an unexpected sign (e.g., expected a negative number, got a huge positive number or vice versa). So despite it being a rather pedantic diagnostic, I think I'm convinced it meets the bar for us to include. https://github.com/llvm/llvm-project/pull/74440 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits