public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "manu at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/33738] -Wtype-limits misses a warning when comparing enums Date: Tue, 05 Feb 2008 11:22:00 -0000 [thread overview] Message-ID: <20080205112126.10440.qmail@sourceware.org> (raw) In-Reply-To: <bug-33738-91@http.gcc.gnu.org/bugzilla/> ------- Comment #5 from manu at gcc dot gnu dot org 2008-02-05 11:21 ------- You should use OPT_Wtype_limits instead of OPT_Wextra. Also, the code could simply do: + tree op0 = TREE_OPERAND (cond, 0); + tree op1 = TREE_OPERAND (cond, 1); + tree type = TREE_TYPE (op0); + value_range_t *vr0 = get_value_range (op0); + + if (vr0->type != VR_VARYING + && INTEGRAL_TYPE_P (type) + && vrp_val_is_min (vr0->min) + && vrp_val_is_max (vr0->max) + && is_gimple_min_invariant (op1)) + { + location_t locus; + const char *warnmsg = NULL; + + if (!EXPR_HAS_LOCATION (stmt)) + locus = input_location; + else + locus = EXPR_LOCATION (stmt); + + if (integer_zerop (ret)) + warnmsg = G_("comparison always false due to limited range of " + "data type"); + else + warnmsg = G_("comparison always true due to limited range of " + "data type"); + + warning (OPT_Wextra, "%H%s", &locus, warnmsg); + } And BTW, what is G_ for? -- manu at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2007-11-13 04:55:56 |2008-02-05 11:21:26 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33738
next prev parent reply other threads:[~2008-02-05 11:22 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-10-11 17:50 [Bug c++/33738] New: " dnovillo at gcc dot gnu dot org 2007-10-11 18:09 ` [Bug c++/33738] " pinskia at gcc dot gnu dot org 2007-11-13 4:56 ` manu at gcc dot gnu dot org 2008-02-05 4:19 ` dnovillo at gcc dot gnu dot org 2008-02-05 4:30 ` dnovillo at gcc dot gnu dot org 2008-02-05 10:19 ` rguenth at gcc dot gnu dot org 2008-02-05 11:22 ` manu at gcc dot gnu dot org [this message] 2008-02-05 16:16 ` dnovillo at google dot com 2008-02-05 16:32 ` dnovillo at gcc dot gnu dot org 2008-02-05 19:54 ` reichelt at gcc dot gnu dot org 2008-02-05 19:57 ` manu at gcc dot gnu dot org 2008-02-05 19:59 ` pinskia at gcc dot gnu dot org 2008-02-24 16:42 ` dnovillo at gcc dot gnu dot org 2008-03-11 5:56 ` dnovillo at gcc dot gnu dot org 2008-12-29 6:11 ` pinskia at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080205112126.10440.qmail@sourceware.org \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).