Hello,

While working on recent changes in my posix32 library, I found out that since 
this commit[1], library fails to build with mingw-w64 headers when configured 
for UWP.

The reason is that mingw-w64's heapapi.h guards declarations of `HeapSummary` 
function and `*HEAP_SUMMARY` typedefs under `WINAPI_PARTITION_DESKTOP`, while 
recent Microsoft headers guard it under `WINAPI_PARTITION_APP`.

This patch fixes it.

- Kirill Makurin

[1] 
https://github.com/maiddaisuki/posix32/commit/2b8c782820e06a7eb3b14d88befb26fbd2781cb8
From 878eb01346cf237ab0ba092350d38829ac93ed49 Mon Sep 17 00:00:00 2001
From: Kirill Makurin <[email protected]>
Date: Thu, 21 May 2026 12:53:49 +0900
Subject: [PATCH] headers: heapapi.h: move declarations of HEAP_SUMMARY and
 HeapSummary under WINAPI_PARTITION_APP

Recent Microsoft headers guard declarations of `HeapSummary` function and
`HeapSummary` structure under `WINAPI_PARTITION_APP`.

Signed-off-by: Kirill Makurin <[email protected]>
---
 mingw-w64-headers/include/heapapi.h | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/mingw-w64-headers/include/heapapi.h 
b/mingw-w64-headers/include/heapapi.h
index 6c9ee9243..e49465232 100644
--- a/mingw-w64-headers/include/heapapi.h
+++ b/mingw-w64-headers/include/heapapi.h
@@ -15,18 +15,7 @@ extern "C" {
 #endif
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
-  typedef struct _HEAP_SUMMARY {
-    DWORD cb;
-    SIZE_T cbAllocated;
-    SIZE_T cbCommitted;
-    SIZE_T cbReserved;
-    SIZE_T cbMaxReserve;
-  } HEAP_SUMMARY,*PHEAP_SUMMARY;
-
-  typedef PHEAP_SUMMARY LPHEAP_SUMMARY;
-
   WINBASEAPI WINBOOL WINAPI HeapValidate (HANDLE hHeap, DWORD dwFlags, LPCVOID 
lpMem);
-  WINBOOL WINAPI HeapSummary (HANDLE hHeap, DWORD dwFlags, LPHEAP_SUMMARY 
lpSummary);
 #endif
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= 
NTDDI_WIN10_19H1
@@ -41,6 +30,17 @@ extern "C" {
 #endif
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
+  typedef struct _HEAP_SUMMARY {
+    DWORD cb;
+    SIZE_T cbAllocated;
+    SIZE_T cbCommitted;
+    SIZE_T cbReserved;
+    SIZE_T cbMaxReserve;
+  } HEAP_SUMMARY,*PHEAP_SUMMARY;
+
+  typedef PHEAP_SUMMARY LPHEAP_SUMMARY;
+
+  WINBOOL WINAPI HeapSummary (HANDLE hHeap, DWORD dwFlags, LPHEAP_SUMMARY 
lpSummary);
   WINBASEAPI HANDLE WINAPI HeapCreate (DWORD flOptions, SIZE_T dwInitialSize, 
SIZE_T dwMaximumSize);
   WINBASEAPI SIZE_T WINAPI HeapCompact (HANDLE hHeap, DWORD dwFlags);
   WINBASEAPI WINBOOL WINAPI HeapDestroy (HANDLE hHeap);
-- 
2.51.0.windows.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to