From f4436f549f5158d1a67acdbeba7fa1b27ca2363e Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 24 Nov 2025 21:02:36 +0200 Subject: [PATCH] [ACPICA][UDFS][BTRFS] Fix MSVC warning C4319 "warning C4319: '~': zero extending 'uint32_t' to 'uint64_t' of greater size" Fixes build with VS 2026. --- drivers/bus/acpi/acpica/hardware/hwgpe.c | 2 +- drivers/filesystems/udfs/udf_info/extent.cpp | 12 ++++++------ drivers/filesystems/udfs/udf_info/udf_info.cpp | 2 +- sdk/lib/fslib/btrfslib/btrfslib.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/bus/acpi/acpica/hardware/hwgpe.c b/drivers/bus/acpi/acpica/hardware/hwgpe.c index 99000a55e79..51ae98b56e0 100644 --- a/drivers/bus/acpi/acpica/hardware/hwgpe.c +++ b/drivers/bus/acpi/acpica/hardware/hwgpe.c @@ -155,7 +155,7 @@ AcpiHwLowSetGpe ( case ACPI_GPE_DISABLE: - ACPI_CLEAR_BIT (EnableMask, RegisterBit); + ACPI_CLEAR_BIT (EnableMask, (UINT64)RegisterBit); break; default: diff --git a/drivers/filesystems/udfs/udf_info/extent.cpp b/drivers/filesystems/udfs/udf_info/extent.cpp index ddd127c65a1..22813aae39b 100644 --- a/drivers/filesystems/udfs/udf_info/extent.cpp +++ b/drivers/filesystems/udfs/udf_info/extent.cpp @@ -1977,7 +1977,7 @@ UDFMarkNotAllocatedAsAllocated( // length of existing Not-Alloc-Not-Rec frag sLen = (( (((uint32)Offset) & (LBS-1)) + Length+LBS-1) & ~(LBS-1)) >> BSh; // required allocation length increment (in bytes) - aLen = (uint32)( ((Offset+Length+LBS-1) & ~(LBS-1)) - (Offset & ~(LBS-1))); + aLen = (uint32)( ((Offset+Length+LBS-1) & ~(UINT64)(LBS-1)) - (Offset & ~(UINT64)(LBS-1))); // try to extend previous frag or allocate space _after_ it to // avoid backward seeks, if previous frag is not Not-Rec-Not-Alloc @@ -2146,7 +2146,7 @@ UDFMarkAllocatedAsNotXXX( // length of existing Alloc-(Not-)Rec frag (in sectors) sLen = (( (((uint32)Offset) & (LBS-1)) + Length+LBS-1) & ~(LBS-1)) >> BSh; // required deallocation length increment (in bytes) - aLen = (uint32)( ((Offset+Length+LBS-1) & ~(LBS-1)) - (Offset & ~(LBS-1)) ); + aLen = (uint32)( ((Offset+Length+LBS-1) & ~(UINT64)(LBS-1)) - (Offset & ~(UINT64)(LBS-1)) ); l=0; for(j=0; j> BSh) & ~(LBS-1); } // required last extent length - req_s = s + (uint32)( (((Length + LBS - 1) & ~(LBS-1)) - - ((l + LBS - 1) & ~(LBS-1)) ) >> BSh); + req_s = s + (uint32)( (((Length + LBS - 1) & ~(UINT64)(LBS-1)) - + ((l + LBS - 1) & ~(UINT64)(LBS-1)) ) >> BSh); if(lim > req_s) { lim = req_s; } @@ -2449,8 +2449,8 @@ UDFResizeExtent( lim = (((uint32)UDF_MAX_EXTENT_LENGTH) >> BSh) & ~(LBS-1); } // required last extent length - req_s = s + (uint32)( (((Length + LBS - 1) & ~(LBS-1)) - - ((l + LBS - 1) & ~(LBS-1)) ) >> BSh); + req_s = s + (uint32)( (((Length + LBS - 1) & ~(UINT64)(LBS-1)) - + ((l + LBS - 1) & ~(UINT64)(LBS-1)) ) >> BSh); if(lim > req_s) { lim = req_s; } diff --git a/drivers/filesystems/udfs/udf_info/udf_info.cpp b/drivers/filesystems/udfs/udf_info/udf_info.cpp index 4d5cd201e85..ff8040e76ee 100644 --- a/drivers/filesystems/udfs/udf_info/udf_info.cpp +++ b/drivers/filesystems/udfs/udf_info/udf_info.cpp @@ -1690,7 +1690,7 @@ UDFWriteFile__( Vcb->LowFreeSpace ? "LowSpace" : "")); if(UDFIsADirectory(FileInfo) && !WasInIcb && !Vcb->LowFreeSpace) { FileInfo->Dloc->DataLoc.Flags |= EXTENT_FLAG_ALLOC_SEQUENTIAL; - status = UDFResizeExtent(Vcb, PartNum, (t*2+Vcb->WriteBlockSize-1) & ~(SIZE_T)(Vcb->WriteBlockSize-1), FALSE, &(Dloc->DataLoc)); + status = UDFResizeExtent(Vcb, PartNum, (t*2+Vcb->WriteBlockSize-1) & ~(UINT64)(Vcb->WriteBlockSize-1), FALSE, &(Dloc->DataLoc)); if(OS_SUCCESS(status)) { AdPrint((" preallocated space for Dir\n")); FileInfo->Dloc->DataLoc.Flags |= EXTENT_FLAG_PREALLOCATED; diff --git a/sdk/lib/fslib/btrfslib/btrfslib.c b/sdk/lib/fslib/btrfslib/btrfslib.c index 695f2f00e8f..52cd9bc8f28 100644 --- a/sdk/lib/fslib/btrfslib/btrfslib.c +++ b/sdk/lib/fslib/btrfslib/btrfslib.c @@ -416,7 +416,7 @@ static btrfs_chunk* add_chunk(LIST_ENTRY* chunks, uint64_t flags, btrfs_root* ch size = 0x800000; size = min(size, dev->dev_item.num_bytes / 10); // cap at 10% - size &= ~(sector_size - 1); + size &= ~(UINT64)(sector_size - 1); stripes = flags & BLOCK_FLAG_DUPLICATE ? 2 : 1;