[PATCH] D58841: [Diagnostics] Support -Wtype-limits for GCC compatibility

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 1 12:44:19 PST 2019


lebedev.ri added inline comments.


================
Comment at: clang/include/clang/Basic/DiagnosticGroups.td:485
+// For compatibility with GCC; -Wtype-limits = -Wtautological-constant-in-range-compare
+def TypeLimits : DiagGroup<"type-limits", [TautologicalInRangeCompare]>;
 def TautologicalOutOfRangeCompare : DiagGroup<"tautological-constant-out-of-range-compare">;
----------------
xbolva00 wrote:
> lebedev.ri wrote:
> > Is gcc's `-Wtype-limits` *just* `-Wtautological-constant-in-range-compare`, or is something else should be there?
> -Wtautological-constant-in-range-compare is enough to diagnose 99% cases from:
> 
> https://github.com/gcc-mirror/gcc/blob/41d6b10e96a1de98e90a7c0378437c3255814b16/gcc/testsuite/g%2B%2B.dg/warn/Wtype-limits.C
> 
> One missed case is:
> int test (int x) 
> {
>   if ((long long)x <= 0x123456789ABCLL)
>     return 1;
>   else 
>     return 0;
> }
> 
> Tried -Weverything, no help. We miss this case. I will open PR for that.
> 
> But anyway, this missed case should not block this patch.
> -Wtautological-constant-in-range-compare is enough to diagnose 99% cases from:

That doesn't really answer the question.
I'm sure that *adding* `-Wtautological-constant-in-range-compare` helps.
But what about the other way around?
Does passing `-Wno-type-limits` silence *all* the expected diags in that file?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58841/new/

https://reviews.llvm.org/D58841





More information about the cfe-commits mailing list