From: Nicolas Pitre <nico@cam.org>
To: Frank Lichtenheld <frank@lichtenheld.de>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: [Bug?] compiler warning with gcc >= 4.2
Date: Tue, 03 Jul 2007 10:18:52 -0400 (EDT) [thread overview]
Message-ID: <alpine.LFD.0.999.0707030957160.26459@xanadu.home> (raw)
In-Reply-To: <20070703125844.GL12721@planck.djpig.de>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1850 bytes --]
On Tue, 3 Jul 2007, Frank Lichtenheld wrote:
> Hi,
>
> while testing for an (probably) unrelated miscompilation bug,
> I got the following warning while compiling git:
>
> gcc-4.2 -o sha1_file.o -c -g -O2 -Wall -DSHA1_HEADER='<openssl/sha.h>'
> -DETC_GITCONFIG='"/home/djpig/etc/gitconfig"' -DNO_STRLCPY sha1_file.c
> sha1_file.c: In function ‘check_packed_git_idx’:
> sha1_file.c:523: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false
> sha1_file.c:523: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false
>
> This comes from the new -Wstrict-overflow which warns about the fact
> that with -fstrict-overflow, which is activated by default with -O2,
> the if clause referenced in the warning will be optimised away.
>
> So I would be interested to know
> a) if the compiler optimising this check away (which seems to be a check
> about whether signed overflow can occour) can lead to unwanted results
Of course it can if the compiler blindly optimizes the test away.
In this particular case, the answer can be determined at compile time
though, since all values to perform the test are constants. So in this
case the warning is rather obnoxious.
However it would be completely wrong if the compiler optimized away the
if from index-pack.c on line 104, or from builtin-pack-objects.c on line
579. Even warning about it without actually optimizing it away would be
bad in those cases.
> b) if not a), if it would make sense trying to suppress that warning, so
> that other people don't end up wondering the same as me
I really wonder what's the point for gcc to warn about such things.
Sure the warning should go away, but not by compromizing the test that
we need performed on the actual definition of off_t.
Nicolas
next prev parent reply other threads:[~2007-07-03 14:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-03 12:58 [Bug?] compiler warning with gcc >= 4.2 Frank Lichtenheld
2007-07-03 14:18 ` Nicolas Pitre [this message]
2007-07-06 8:55 ` Jan Hudec
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=alpine.LFD.0.999.0707030957160.26459@xanadu.home \
--to=nico@cam.org \
--cc=frank@lichtenheld.de \
--cc=git@vger.kernel.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: link
Be 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 NNTP newsgroup(s).