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

Re: [PATCH 0/4] Fix LLP64 `(size_t)1` compatibility VS C4334 warnings

From
Derrick Stolee <stolee@gmail.com>
Date
Nov 29, 2021, 14:44 UTC
Message-ID
<3afe7a17-bf9f-1191-5ed4-407f4f26b9ed@gmail.com>
In-Reply-To
<20211126113614.709-1-philipoakley@iee.email>
On 11/26/2021 6:36 AM, Philip Oakley wrote:
Show 17 quoted lines
> The Visual Studio MSVC compilation reports a number of C4334 "was 64-bit
> shift intended" size mismatch warnings. In most of these cases a size_t
> is ANDed (masked) with a bit shift of 1, or 1U. On LLP64 systems the unity
> value is 32 bits, while size_t is 64 bits. 
> 
> The fix is to upcast the unity value to size_t.   
> 
> The first patch has also been reported [1] by René Scharfe as an extra patch
> to the rs/mergesort series. That patch had been on maint.
> 
> The middle two patches are similar changes, though [2/4] is a uintptr_t.
> 
> The final patch is applied to object-file.c, which has recently been
> renamed from sha1-file.c, so couldn't be applied to the earlier maint
> branch.[2]
> 
> These fixes clear all the current C4334 warnings.
Thank you for these changes. They all are obviously correct.
I had one style nitpick that you could take or leave.
> The patches can be squashed together if required.
I'm fine either way.

Thanks, -Stolee

Previous: Philip Oakley
Message 12 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.