git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings
@ 2017-09-21 16:47 Ramsay Jones
  2017-09-22  5:29 ` Jeff King
  0 siblings, 1 reply; 4+ messages in thread
From: Ramsay Jones @ 2017-09-21 16:47 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jeff King, GIT Mailing-list


Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
---
 commit-slab.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/commit-slab.h b/commit-slab.h
index 333d81e37..dcaab8ca0 100644
--- a/commit-slab.h
+++ b/commit-slab.h
@@ -78,7 +78,7 @@ static MAYBE_UNUSED void init_ ##slabname(struct slabname *s)		\
 									\
 static MAYBE_UNUSED void clear_ ##slabname(struct slabname *s)		\
 {									\
-	int i;								\
+	unsigned int i;							\
 	for (i = 0; i < s->slab_count; i++)				\
 		free(s->slab[i]);					\
 	s->slab_count = 0;						\
@@ -89,13 +89,13 @@ static MAYBE_UNUSED elemtype *slabname## _at_peek(struct slabname *s,	\
 						  const struct commit *c, \
 						  int add_if_missing)   \
 {									\
-	int nth_slab, nth_slot;						\
+	unsigned int nth_slab, nth_slot;				\
 									\
 	nth_slab = c->index / s->slab_size;				\
 	nth_slot = c->index % s->slab_size;				\
 									\
 	if (s->slab_count <= nth_slab) {				\
-		int i;							\
+		unsigned int i;						\
 		if (!add_if_missing)					\
 			return NULL;					\
 		REALLOC_ARRAY(s->slab, nth_slab + 1);			\
-- 
2.14.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings
  2017-09-21 16:47 [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings Ramsay Jones
@ 2017-09-22  5:29 ` Jeff King
  2017-09-22 15:46   ` Ramsay Jones
  0 siblings, 1 reply; 4+ messages in thread
From: Jeff King @ 2017-09-22  5:29 UTC (permalink / raw)
  To: Ramsay Jones; +Cc: Junio C Hamano, GIT Mailing-list

On Thu, Sep 21, 2017 at 05:47:36PM +0100, Ramsay Jones wrote:

> diff --git a/commit-slab.h b/commit-slab.h
> index 333d81e37..dcaab8ca0 100644
> --- a/commit-slab.h
> +++ b/commit-slab.h
> @@ -78,7 +78,7 @@ static MAYBE_UNUSED void init_ ##slabname(struct slabname *s)		\
>  									\
>  static MAYBE_UNUSED void clear_ ##slabname(struct slabname *s)		\
>  {									\
> -	int i;								\
> +	unsigned int i;							\
>  	for (i = 0; i < s->slab_count; i++)				\
>  		free(s->slab[i]);					\
>  	s->slab_count = 0;						\
> @@ -89,13 +89,13 @@ static MAYBE_UNUSED elemtype *slabname## _at_peek(struct slabname *s,	\
>  						  const struct commit *c, \
>  						  int add_if_missing)   \
>  {									\
> -	int nth_slab, nth_slot;						\
> +	unsigned int nth_slab, nth_slot;				\

I have a feeling that in the long run these should all be size_t, but
it's probably pretty unlikely to overflow in practice. At any rate, the
slab index itself is an unsigned, so it probably makes sense to match
that for now.

-Peff

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings
  2017-09-22  5:29 ` Jeff King
@ 2017-09-22 15:46   ` Ramsay Jones
  2017-09-22 15:55     ` Jeff King
  0 siblings, 1 reply; 4+ messages in thread
From: Ramsay Jones @ 2017-09-22 15:46 UTC (permalink / raw)
  To: Jeff King; +Cc: Junio C Hamano, GIT Mailing-list



On 22/09/17 06:29, Jeff King wrote:
> On Thu, Sep 21, 2017 at 05:47:36PM +0100, Ramsay Jones wrote:
> 
>> diff --git a/commit-slab.h b/commit-slab.h
>> index 333d81e37..dcaab8ca0 100644
>> --- a/commit-slab.h
>> +++ b/commit-slab.h
>> @@ -78,7 +78,7 @@ static MAYBE_UNUSED void init_ ##slabname(struct slabname *s)		\
>>  									\
>>  static MAYBE_UNUSED void clear_ ##slabname(struct slabname *s)		\
>>  {									\
>> -	int i;								\
>> +	unsigned int i;							\
>>  	for (i = 0; i < s->slab_count; i++)				\
>>  		free(s->slab[i]);					\
>>  	s->slab_count = 0;						\
>> @@ -89,13 +89,13 @@ static MAYBE_UNUSED elemtype *slabname## _at_peek(struct slabname *s,	\
>>  						  const struct commit *c, \
>>  						  int add_if_missing)   \
>>  {									\
>> -	int nth_slab, nth_slot;						\
>> +	unsigned int nth_slab, nth_slot;				\
> 
> I have a feeling that in the long run these should all be size_t, but
> it's probably pretty unlikely to overflow in practice. At any rate, the
> slab index itself is an unsigned, so it probably makes sense to match
> that for now.

Yes, I briefly considered that, but I didn't want to think about
possible effects of the increased size of 'struct slabname'. I suspect
that it is very unlikely to cause an issue, but I had similar concerns
with the 'ALLOC_GROW' patch, were it would have been more likely to
cause memory pressure issues (to e.g. s/int/size_t/). I decided that it
could be addressed separately, with a patch on top, if necessary.

ATB,
Ramsay Jones



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings
  2017-09-22 15:46   ` Ramsay Jones
@ 2017-09-22 15:55     ` Jeff King
  0 siblings, 0 replies; 4+ messages in thread
From: Jeff King @ 2017-09-22 15:55 UTC (permalink / raw)
  To: Ramsay Jones; +Cc: Junio C Hamano, GIT Mailing-list

On Fri, Sep 22, 2017 at 04:46:48PM +0100, Ramsay Jones wrote:

> >> -	int nth_slab, nth_slot;						\
> >> +	unsigned int nth_slab, nth_slot;				\
> > 
> > I have a feeling that in the long run these should all be size_t, but
> > it's probably pretty unlikely to overflow in practice. At any rate, the
> > slab index itself is an unsigned, so it probably makes sense to match
> > that for now.
> 
> Yes, I briefly considered that, but I didn't want to think about
> possible effects of the increased size of 'struct slabname'. I suspect
> that it is very unlikely to cause an issue, but I had similar concerns
> with the 'ALLOC_GROW' patch, were it would have been more likely to
> cause memory pressure issues (to e.g. s/int/size_t/). I decided that it
> could be addressed separately, with a patch on top, if necessary.

I _think_ we'd be OK in all of those cases because these size_t's tend
to be once-per-big-list, not once-per-list-item. But I agree that it
would need looking into closely, and definitely should be addressed
separately.

Thanks.

-Peff

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-22 15:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-21 16:47 [PATCH 2/4] commit-slab.h: avoid -Wsign-compare warnings Ramsay Jones
2017-09-22  5:29 ` Jeff King
2017-09-22 15:46   ` Ramsay Jones
2017-09-22 15:55     ` Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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).