[Piglit] [PATCH] cmake: Enable __USE_MINGW_ANSI_STDIO for MinGW builds.
Jose Fonseca
jfonseca at vmware.com
Mon Jul 20 23:51:55 PDT 2015
Interesting, I didn't know about __USE_MINGW_ANSI_STDIO.
However, it solves the MinGW problem, but not MSVC --
https://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx
A more portable solution would be to use inttypes.h PRIdPTR or avoid
size_t arguments to printf.
Jose
On 21/07/15 05:23, Vinson Lee wrote:
> Fix printf compiler warnings.
>
> getprogramresourceiv.c: In function 'check_prop':
> getprogramresourceiv.c:747:20: warning: unknown conversion type character 'z' in format [-Wformat=]
> fprintf(stderr, "'%s' expected %zu entries but got %i"
> ^
> getprogramresourceiv.c:747:20: warning: format '%i' expects argument of type 'int', but argument 4 has type 'size_t {aka long long unsigned int}' [-Wformat=]
> getprogramresourceiv.c:747:20: warning: too many arguments for format [-Wformat-extra-args]
> getprogramresourceiv.c:828:20: warning: unknown conversion type character 'z' in format [-Wformat=]
> fprintf(stderr, "'%s' expected %zu entries but got %i"
> ^
> getprogramresourceiv.c:828:20: warning: format '%i' expects argument of type 'int', but argument 4 has type 'size_t {aka long long unsigned int}' [-Wformat=]
> getprogramresourceiv.c:828:20: warning: too many arguments for format [-Wformat-extra-args]
>
> Signed-off-by: Vinson Lee <vlee at freedesktop.org>
> ---
> CMakeLists.txt | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 99d9a8e..95a6b31 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -280,6 +280,8 @@ if (MINGW)
> set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libstdc++")
> set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -static-libstdc++")
> endif ()
> +
> + add_definitions(-D__USE_MINGW_ANSI_STDIO)
> endif ()
>
> if (${CMAKE_C_COMPILER_ID} STREQUAL "SunPro")
>
More information about the Piglit
mailing list