Re: /* compiler workaround */ - what was the issue?
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- May 6, 2016, 21:17 UTC
- Message-ID
- <572D09D5.4060600@ramsayjones.plus.com>
- In-Reply-To
- <572CFCBC.3020103@ramsayjones.plus.com>
On 06/05/16 21:21, Ramsay Jones wrote:
> On 06/05/16 19:54, Junio C Hamano wrote: >> Ramsay Jones <ramsay@ramsayjones.plus.com> writes: >>
[snip]
Show 26 quoted lines
> 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 <ramsay@ramsayjones.plus.com> --- 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