git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/4] mergesort.c: LLP64 compatibility, upcast unity for left shift

From
Philip Oakley <philipoakley@iee.email>
Date
Nov 29, 2021, 23:49 UTC
Message-ID
<384f10ca-81c5-dd89-b66c-6e49d7f23f70@iee.email>
In-Reply-To
<9c3d6d3c-1f3b-f51c-6856-b5ced44a8f4b@web.de>
On 27/11/2021 07:32, René Scharfe wrote:
Show 17 quoted lines
> Am 26.11.21 um 12:36 schrieb Philip Oakley:
>> Visual Studio reports C4334 "was 64-bit shift intended" size mismatch
>> warning because of size miss-match.
>>
>> Promote unity to the matching type to fit with the `&` operator.
>>
>> Signed-off-by: Philip Oakley <philipoakley@iee.email>
>>
>> ---
>> This is the same fix that René Scharfe provided in 42c456ff81
>> (mergesort: avoid left shift overflow, 2021-11-16)
>>
>> Use size_t to match n when building the bitmask for checking whether a
>> rank is occupied, instead of the default signed int.
> Fine with me -- it's just nicer to take the whole set.
>
> René

Thanks, I'm happy either way if others feels it belongs better with your mergesort series.

Show 19 quoted lines
>
>> ---
>>  mergesort.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mergesort.c b/mergesort.c
>> index 6216835566..bd9c6ef8ee 100644
>> --- a/mergesort.c
>> +++ b/mergesort.c
>> @@ -63,7 +63,7 @@ void *llist_mergesort(void *list,
>>  		void *next = get_next_fn(list);
>>  		if (next)
>>  			set_next_fn(list, NULL);
>> -		for (i = 0; n & (1 << i); i++)
>> +		for (i = 0; n & ((size_t)1 << i); i++)
>>  			list = llist_merge(ranks[i], list, get_next_fn,
>>  					   set_next_fn, compare_fn);
>>  		n++;
>>
Philip
Previous: René ScharfeNext: Philip Oakley
Message 5 of 12 in “Fix LLP64 `(size_t)1` compatibility VS C4334 warnings”
  1. 0/4 Fix LLP64 `(size_t)1` compatibility VS C4334 warningsPhilip Oakley, Nov 26, 2021
  2. 4/4 object-file.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Nov 26, 2021
  3. 1/4 mergesort.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Nov 26, 2021
  4. René ScharfeNov 27, 2021
  5. Philip OakleyNov 29, 2021
  6. 3/4 diffcore-delta.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Nov 26, 2021
  7. Derrick StoleeNov 29, 2021
  8. Philip OakleyNov 29, 2021
  9. 2/4 repack.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Nov 26, 2021
  10. Taylor BlauNov 30, 2021
  11. Philip OakleyNov 30, 2021
  12. Derrick StoleeNov 29, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.