git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Fix LLP64 `(size_t)1` compatibility VS C4334 warnings
@ 2021-11-26 11:36 Philip Oakley
  2021-11-26 11:36 ` [PATCH 1/4] mergesort.c: LLP64 compatibility, upcast unity for left shift Philip Oakley
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Philip Oakley @ 2021-11-26 11:36 UTC (permalink / raw)
  To: GitList, Junio C Hamano
  Cc: René Scharfe, Johannes Schindelin, Philip Oakley

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.

The patches can be squashed together if required.

[1] https://lore.kernel.org/git/7fbd4cf4-5f66-a4cd-0c41-e5b12d14d761@iee.email/
[2] https://lore.kernel.org/git/3e7af5d3-58fd-3a92-371f-3fa26cfe05a0@iee.email/

Philip Oakley (4):
  mergesort.c: LLP64 compatibility, upcast unity for left shift
  repack.c: LLP64 compatibility, upcast unity for left shift
  diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
  object-file.c: LLP64 compatibility, upcast unity for left shift

 builtin/repack.c | 2 +-
 diffcore-delta.c | 6 +++---
 mergesort.c      | 2 +-
 object-file.c    | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

-- 
2.34.0.rc1.windows.1.4.ga126985b17


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

end of thread, other threads:[~2021-11-30 22:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-26 11:36 [PATCH 0/4] Fix LLP64 `(size_t)1` compatibility VS C4334 warnings Philip Oakley
2021-11-26 11:36 ` [PATCH 1/4] mergesort.c: LLP64 compatibility, upcast unity for left shift Philip Oakley
2021-11-27  7:32   ` René Scharfe
2021-11-29 23:49     ` Philip Oakley
2021-11-26 11:36 ` [PATCH 2/4] repack.c: " Philip Oakley
2021-11-30  0:35   ` Taylor Blau
2021-11-30 22:28     ` Philip Oakley
2021-11-26 11:36 ` [PATCH 3/4] diffcore-delta.c: " Philip Oakley
2021-11-29 14:44   ` Derrick Stolee
2021-11-29 23:50     ` Philip Oakley
2021-11-26 11:36 ` [PATCH 4/4] object-file.c: " Philip Oakley
2021-11-29 14:44 ` [PATCH 0/4] Fix LLP64 `(size_t)1` compatibility VS C4334 warnings Derrick Stolee

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 NNTP newsgroup(s).