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

[PATCH v2 1/3] repack.c: LLP64 compatibility, upcast unity for left shift

From
Philip Oakley <philipoakley@iee.email>
Date
Dec 1, 2021, 00:29 UTC
Message-ID
<20211201002902.1042-2-philipoakley@iee.email>
In-Reply-To
<20211201002902.1042-1-philipoakley@iee.email>

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 <philipoakley@iee.email>
---
 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);
-- 
2.34.0.rc1.windows.1.4.ga126985b17
Previous: Philip OakleyNext: Philip Oakley
Message 2 of 6 in “Fix LLP64 `(size_t)1` compatibility VS C4334 warnings”
  1. 0/3 Fix LLP64 `(size_t)1` compatibility VS C4334 warningsPhilip Oakley, Dec 1, 2021
  2. 1/3 repack.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Dec 1, 2021
  3. 2/3 diffcore-delta.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Dec 1, 2021
  4. 3/3 object-file.c: LLP64 compatibility, upcast unity for left shiftPhilip Oakley, Dec 1, 2021
  5. Junio C HamanoDec 1, 2021
  6. Derrick StoleeDec 2, 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.