On 06/05/16 21:21, Ramsay Jones wrote:
> On 06/05/16 19:54, Junio C Hamano wrote:
>> Ramsay Jones <[email protected]> writes:
>>
[snip]
> I still can't get gcc to complain, e.g. (on top of above):
>
> $ git diff
> diff --git a/builtin/rev-list.c b/builtin/rev-list.c
> index deae1f3..845fcdc 100644
> --- a/builtin/rev-list.c
> +++ b/builtin/rev-list.c
> @@ -377,7 +377,7 @@ int cmd_rev_list(int argc, const char **argv, const
> char *prefix)
> mark_edges_uninteresting(&revs, show_edge);
>
> if (bisect_list) {
> - int reaches = 0, all = 0;
> + int reaches, all;
>
> revs.commits = find_bisection(revs.commits, &reaches, &all,
> bisect_find_all);
> $ rm builtin/rev-list.o
> $ make V=1 CFLAGS='-g -O3 -Wall -Wextra -Wuninitialized
> -Wno-unused-parameter' builtin/rev-list.o
> cc -o builtin/rev-list.o -c -MF builtin/.depend/rev-list.o.d -MQ
> builtin/rev-list.o -MMD -MP -g -O3 -Wall -Wextra -Wuninitialized
> -Wno-unused-parameter -I. -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND
> -DHAVE_PATHS_H -DHAVE_DEV_TTY -DXDL_FAST_HASH -DHAVE_CLOCK_GETTIME
> -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM -DSHA1_HEADER='<openssl/sha.h>'
> -DNO_STRLCPY -DNO_MKSTEMPS -DSHELL_PATH='"/bin/sh"' builtin/rev-list.c
> In file included from ./cache.h:4:0,
> from builtin/rev-list.c:1:
> ./git-compat-util.h: In function ‘xsize_t’:
> ./git-compat-util.h:838:10: warning: comparison between signed and unsigned
> integer expressions [-Wsign-compare]
> if (len > (size_t) len)
> ^
> $
BTW, another patch that I have hanging around ... this time the
patch below was built on master from a couple of years ago (so,
I haven't bothered to rebase it, but you should get the idea):
ATB,
Ramsay Jones
-- >8 --
Subject: [PATCH] git-compat-util.h: xsize_t(): avoid signed comparison warnings
Signed-off-by: Ramsay Jones <[email protected]>
---
git-compat-util.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index c07e0c1..3a9cf6c 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -838,9 +838,10 @@ static inline char *xstrdup_or_null(const char *str)
static inline size_t xsize_t(off_t len)
{
- if (len > (size_t) len)
+ size_t r = (size_t)len;
+ if (len != (off_t)r)
die("Cannot handle files this big");
- return (size_t)len;
+ return r;
}
__attribute__((format (printf, 3, 4)))
--
2.8.0
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html