From a43abad1e3bfb20864cd3873a4a8b86f845bae1a Mon Sep 17 00:00:00 2001 From: Philip Oakley Date: Wed, 1 Dec 2021 00:29:00 +0000 Subject: [PATCH 1/3] repack.c: LLP64 compatibility, upcast unity for left shift Visual Studio reports C4334 "was 64-bit shift intended" warning because of size mismatch. Promote unity to the matching type to fit with the `&` operator. Signed-off-by: Philip Oakley Signed-off-by: Junio C Hamano --- builtin/repack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/repack.c b/builtin/repack.c index 0b2d1e5d82..6da66474fd 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -842,7 +842,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix) fname_old = mkpathdup("%s-%s%s", packtmp, item->string, exts[ext].name); - if (((uintptr_t)item->util) & (1 << ext)) { + if (((uintptr_t)item->util) & ((uintptr_t)1 << ext)) { struct stat statbuffer; if (!stat(fname_old, &statbuffer)) { statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH); From 62e8452c8c0ecdd7af5ff1e0c8cefaf153216d12 Mon Sep 17 00:00:00 2001 From: Philip Oakley Date: Wed, 1 Dec 2021 00:29:01 +0000 Subject: [PATCH 2/3] diffcore-delta.c: LLP64 compatibility, upcast unity for left shift Visual Studio reports C4334 "was 64-bit shift intended" warning because of size miss-match. Promote unity to the matching type to fit with its subsequent operation. Signed-off-by: Philip Oakley Signed-off-by: Junio C Hamano --- diffcore-delta.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/diffcore-delta.c b/diffcore-delta.c index 5668ace60d..18d8f766d7 100644 --- a/diffcore-delta.c +++ b/diffcore-delta.c @@ -133,10 +133,10 @@ static struct spanhash_top *hash_chars(struct repository *r, i = INITIAL_HASH_SIZE; hash = xmalloc(st_add(sizeof(*hash), - st_mult(sizeof(struct spanhash), 1<alloc_log2 = i; hash->free = INITIAL_FREE(i); - memset(hash->data, 0, sizeof(struct spanhash) * (1<data, 0, sizeof(struct spanhash) * ((size_t)1 << i)); n = 0; accum1 = accum2 = 0; @@ -159,7 +159,7 @@ static struct spanhash_top *hash_chars(struct repository *r, n = 0; accum1 = accum2 = 0; } - QSORT(hash->data, 1ul << hash->alloc_log2, spanhash_cmp); + QSORT(hash->data, (size_t)1ul << hash->alloc_log2, spanhash_cmp); return hash; } From 26de1fc0c99026f341b8011957562991e4ea6c51 Mon Sep 17 00:00:00 2001 From: Philip Oakley Date: Wed, 1 Dec 2021 00:29:02 +0000 Subject: [PATCH 3/3] object-file.c: LLP64 compatibility, upcast unity for left shift Visual Studio reports C4334 "was 64-bit shift intended" warning because of size miss-match. Promote unity to the matching type to fit with the assignment. Signed-off-by: Philip Oakley Signed-off-by: Junio C Hamano --- object-file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/object-file.c b/object-file.c index c3d866a287..da8821cb91 100644 --- a/object-file.c +++ b/object-file.c @@ -2425,7 +2425,7 @@ struct oidtree *odb_loose_cache(struct object_directory *odb, struct strbuf buf = STRBUF_INIT; size_t word_bits = bitsizeof(odb->loose_objects_subdir_seen[0]); size_t word_index = subdir_nr / word_bits; - size_t mask = 1u << (subdir_nr % word_bits); + size_t mask = (size_t)1u << (subdir_nr % word_bits); uint32_t *bitmap; if (subdir_nr < 0 ||