diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-10-29 11:53:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-10-29 11:56:57 -0700 |
commit | 7109c889f11b39a2c5a5122e3726be7ffce09faf (patch) | |
tree | 0d9ac8b963f90d3138e5bbc43a5fb7d47d8f865d /merge-recursive.c | |
parent | 399f0a8eedeec209c2eb97be6285331087234644 (diff) | |
download | git-7109c889f11b39a2c5a5122e3726be7ffce09faf.tar.gz |
sha1_file.c: avoid gcc signed overflow warnings
With the recent gcc, we get:
sha1_file.c: In check_packed_git_:
sha1_file.c:527: warning: assuming signed overflow does not
occur when assuming that (X + c) < X is always false
sha1_file.c:527: warning: assuming signed overflow does not
occur when assuming that (X + c) < X is always false
for a piece of code that tries to make sure that off_t is large
enough to hold more than 2^32 offset. The test tried to make
sure these do not wrap-around:
/* make sure we can deal with large pack offsets */
off_t x = 0x7fffffffUL, y = 0xffffffffUL;
if (x > (x + 1) || y > (y + 1)) {
but gcc assumes it can do whatever optimization it wants for a
signed overflow (undefined behaviour) and warns about this
construct.
Follow Linus's suggestion to check sizeof(off_t) instead to work
around the problem.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'merge-recursive.c')
0 files changed, 0 insertions, 0 deletions