From: Gerald Pfeifer Subject: kernel32: Disable diagnostics when testing corner cases in test_heap(). Message-Id: Date: Sat, 11 Feb 2017 22:41:24 +0100 (CET) GCC 7 is going to add quite a number of additional warnings, and many of those will be enabled by default with -Wall -Wextra. With that dlls/kernel32/tests/heap.c triggers three warnings, all of which are correct positives, but in fact do want to test those corner cases: heap.c:114:13: warning: argument 4 value '4294967288' exceeds maximum object size 2147483647 [-Walloc-size-larger-than=] heap.c:116:13: warning: argument 4 value '4294967295' exceeds maximum object size 2147483647 [-Walloc-size-larger-than=] heap.c:119:9: warning: argument 3 value '4294967295' exceeds maximum object size 2147483647 [-Walloc-size-larger-than=] The best way to silence such warnings without disabling them too aggressively is via #pragmas around the affected code. I verified that the patch below silences those three warnings. Gerald Signed-off-by: Gerald Pfeifer --- dlls/kernel32/tests/heap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c index 2f7edc823c..2bb66c6327 100644 --- a/dlls/kernel32/tests/heap.c +++ b/dlls/kernel32/tests/heap.c @@ -111,6 +111,9 @@ static void test_heap(void) /* test some border cases of HeapAlloc and HeapReAlloc */ mem = HeapAlloc(GetProcessHeap(), 0, 0); ok(mem != NULL, "memory not allocated for size 0\n"); + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Walloc-size-larger-than=" msecond = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, mem, ~(SIZE_T)0 - 7); ok(msecond == NULL, "HeapReAlloc(~0 - 7) should have failed\n"); msecond = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, mem, ~(SIZE_T)0); @@ -118,6 +121,7 @@ static void test_heap(void) HeapFree(GetProcessHeap(), 0, mem); mem = HeapAlloc(GetProcessHeap(), 0, ~(SIZE_T)0); ok(mem == NULL, "memory allocated for size ~0\n"); +#pragma GCC diagnostic pop /* large blocks must be 16-byte aligned */ mem = HeapAlloc(GetProcessHeap(), 0, 512 * 1024); -- 2.11.0