include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaChecking.cpp
test/Analysis/additive-folding.cpp test/Sema/compare.c test/Sema/outof-range-constant-compare.c te MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit This is an issue with several of the conversion warnings (I believe there's a pr for this issue with the original taut compare warning). It's somewhat non trivial to plumb through the SemaChecking logic as it uses 'IgnoreParenImpCasts' in some very general parts of the logic, this skips over the SubstNonTypeTemplateExprs making it hard to detect the cases to ignore without plumbing through two target types (with and without ignoring those expressions) basically. (this came up in core review of some null pointer warning improvements I was working on a few months ago too (& the 'x-to-bool' patch before that) - I haven't committed that yet because of this) From: Nico Weber Sent: 10/1/2012 7:18 AM To: John McCall Cc: [email protected] Subject: Re: [cfe-commits] r164143 - in /cfe/trunk: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaChecking.cpp test/Analysis/additive-folding.cpp test/Sema/compare.c test/Sema/outof-range-constant-compare.c te On Wed, Sep 26, 2012 at 6:40 AM, John McCall <[email protected]> wrote: > On Sep 25, 2012, at 8:29 AM, Hans Wennborg wrote: >> On Tue, Sep 18, 2012 at 6:37 PM, Fariborz Jahanian <[email protected]> >> wrote: >>> Author: fjahanian >>> Date: Tue Sep 18 12:37:21 2012 >>> New Revision: 164143 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=164143&view=rev >>> Log: >>> c: warn when an integer value comparison with an >>> integral expression have the obvious result. >>> Patch reviewed by John McCall off line. >>> // rdar://12202422 >> >> This triggers a couple of warnings in Chromium. (We're tracking it at >> http://crbug.com/151927) Most look like bugs, but this one doesn't >> really: >> >> /usr/local/google/work/chrome/src/v8/src/utils.h:977:20: warning: >> comparison of constant 32 with expression of type >> 'v8::internal::AstPropertiesFlag' is always true >> [-Wtautological-constant-out-of-range-compare] >> ASSERT(element < static_cast<int>(sizeof(T) * CHAR_BIT)); >> ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> The code, with context, is available at [1]. This is in a class >> template, and 'element' has the type of a template parameter, so >> depending on what type the template is instantiated with, the >> comparison might be tautological or not. Perhaps the warning shouldn't >> fire for expressions that depend on template parameters? > > Yes, I think this is probably a reasonable request for all of the > tautological-comparison warnings. Fariborz, do you have time to look at this tweak? Or do you want us to do it? > > John. > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
