Signed-off-by: Brendan Shanks bshanks@codeweavers.com ---
This is a C99 variadic macro, but I tested with GCC 4.5 and it seemed supported in all modes (including the default).
include/wine/heap.h | 2 +- include/winnt.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/wine/heap.h b/include/wine/heap.h index 97d3a5662be..fb687c92393 100644 --- a/include/wine/heap.h +++ b/include/wine/heap.h @@ -46,7 +46,7 @@ static inline void heap_free(void *mem) HeapFree(GetProcessHeap(), 0, mem); }
-static inline void *heap_calloc(SIZE_T count, SIZE_T size) +static inline void * __WINE_ALLOC_SIZE(1,2) heap_calloc(SIZE_T count, SIZE_T size) { SIZE_T len = count * size;
diff --git a/include/winnt.h b/include/winnt.h index e853ddbc7ae..79df4259f59 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -199,9 +199,9 @@ extern "C" { #endif
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))) -#define __WINE_ALLOC_SIZE(x) __attribute__((__alloc_size__(x))) +#define __WINE_ALLOC_SIZE(...) __attribute__((__alloc_size__(__VA_ARGS__))) #else -#define __WINE_ALLOC_SIZE(x) +#define __WINE_ALLOC_SIZE(...) #endif
/* Anonymous union/struct handling */
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=113766
Your paranoid android.
=== debian11 (build log) ===
../wine/include/winbase.h:2353:115: error: Too many macro arguments (1) Task: The win32 Wine build failed
=== debian11 (build log) ===
../wine/include/winbase.h:2353:115: error: Too many macro arguments (1) Task: The wow64 Wine build failed