<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hello all,<div class=""><br class=""></div><div class="">I’ll illustrate the problem with a situation encountered by our user. For some code compiled with -Wpedantic they encountered some -Wextra-semi warnings. So they’ve assumed that -Wpedantic controls -Wextra-semi but <a href="https://clang.llvm.org/docs/DiagnosticsReference.html#wpedantic" class="">documentation</a> doesn’t say so. And it is correct because -Wpedantic enables all extension warnings but not disabled-by-default warnings. And for -Wextra-semi the DiagGroups structure is</div><div class=""><br class=""></div><div class=""><div class="">ExtraSemi</div><div class="">  ext_extra_semi</div><div class="">  warn_extra_semi_after_mem_fn_def, DefaultIgnore</div><div class="">  CXX98CompatExtraSemi</div><div class="">    warn_cxx98_compat_top_level_semi, DefaultIgnore</div><div class="">  CXX11ExtraSemi</div><div class="">    ext_extra_semi_cxx11</div></div><div class=""><br class=""></div><div class="">So there are -Wextra-semi warnings that won’t be enabled by -Wpedantic.</div><div class=""><br class=""></div><div class="">I don’t think that Clang users should understand the intricacies of the DiagGroup structure to use it successfully. And provided example shows we don’t always achieve this goal. Does anybody have an idea how we can communicate that -Wpedantic can enable some warnings in certain cases but not in all cases? And should it be the case at all? Maybe it would be better if we don’t mix extension warnings and regular warnings in the same DiagGroup. I don’t suggest to update all the warnings to adhere to this requirement. But it can be useful to pay more attention to this in the future.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Volodymyr</div></body></html>