[PATCH] D58841: [Diagnostics] Support -Wtype-limits for GCC compatibility
Dávid Bolvanský via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 1 12:54:17 PST 2019
xbolva00 marked an inline comment as done.
xbolva00 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">;
----------------
lebedev.ri wrote:
> 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?
Yes, silences it correctly.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58841/new/
https://reviews.llvm.org/D58841
More information about the cfe-commits
mailing list