[Qemu-devel] [PATCH v3 4/4] osdep: Fix mingw compilation regarding stdio formats

Cao Jiaxi posted 4 patches 6 years, 9 months ago
Maintainers: Michael Roth <mdroth@linux.vnet.ibm.com>, Jan Kiszka <jan.kiszka@siemens.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>
[Qemu-devel] [PATCH v3 4/4] osdep: Fix mingw compilation regarding stdio formats
Posted by Cao Jiaxi 6 years, 9 months ago
I encountered the following compilation error on mingw:

/mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined]
 #define __USE_MINGW_ANSI_STDIO 1
        ^
/mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here
 #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */

It turns out that __USE_MINGW_ANSI_STDIO must be set before any
system headers are included, not just before stdio.h.

Signed-off-by: Cao Jiaxi <driver1998@foxmail.com>
---
 include/qemu/osdep.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 303d315c5d..af2b91f0b8 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -85,17 +85,17 @@ extern int daemon(int, int);
 #endif
 #endif
 
+/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
+#ifdef __MINGW32__
+#define __USE_MINGW_ANSI_STDIO 1
+#endif
+
 #include <stdarg.h>
 #include <stddef.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <sys/types.h>
 #include <stdlib.h>
-
-/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
-#ifdef __MINGW32__
-#define __USE_MINGW_ANSI_STDIO 1
-#endif
 #include <stdio.h>
 
 #include <string.h>
-- 
2.17.1




Re: [Qemu-devel] [PATCH v3 4/4] osdep: Fix mingw compilation regarding stdio formats
Posted by Thomas Huth 6 years, 9 months ago
On 03/05/2019 02.37, Cao Jiaxi wrote:
> I encountered the following compilation error on mingw:
> 
> /mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined]
>  #define __USE_MINGW_ANSI_STDIO 1
>         ^
> /mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here
>  #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */
> 
> It turns out that __USE_MINGW_ANSI_STDIO must be set before any
> system headers are included, not just before stdio.h.
> 
> Signed-off-by: Cao Jiaxi <driver1998@foxmail.com>
> ---
>  include/qemu/osdep.h | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index 303d315c5d..af2b91f0b8 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -85,17 +85,17 @@ extern int daemon(int, int);
>  #endif
>  #endif
>  
> +/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
> +#ifdef __MINGW32__
> +#define __USE_MINGW_ANSI_STDIO 1
> +#endif
> +
>  #include <stdarg.h>
>  #include <stddef.h>
>  #include <stdbool.h>
>  #include <stdint.h>
>  #include <sys/types.h>
>  #include <stdlib.h>
> -
> -/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
> -#ifdef __MINGW32__
> -#define __USE_MINGW_ANSI_STDIO 1
> -#endif
>  #include <stdio.h>
>  
>  #include <string.h>
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>

Re: [Qemu-devel] [PATCH v3 4/4] osdep: Fix mingw compilation regarding stdio formats
Posted by Stefan Weil 6 years, 9 months ago
On 03.05.19 07:11, Thomas Huth wrote:
> On 03/05/2019 02.37, Cao Jiaxi wrote:
>> I encountered the following compilation error on mingw:
>>
>> /mnt/d/qemu/include/qemu/osdep.h:97:9: error: '__USE_MINGW_ANSI_STDIO' macro redefined [-Werror,-Wmacro-redefined]
>>  #define __USE_MINGW_ANSI_STDIO 1
>>         ^
>> /mnt/d/llvm-mingw/aarch64-w64-mingw32/include/_mingw.h:433:9: note: previous definition is here
>>  #define __USE_MINGW_ANSI_STDIO 0      /* was not defined so it should be 0 */
>>
>> It turns out that __USE_MINGW_ANSI_STDIO must be set before any
>> system headers are included, not just before stdio.h.
>>
>> Signed-off-by: Cao Jiaxi <driver1998@foxmail.com>
>> ---
>>  include/qemu/osdep.h | 10 +++++-----
>>  1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
>> index 303d315c5d..af2b91f0b8 100644
>> --- a/include/qemu/osdep.h
>> +++ b/include/qemu/osdep.h
>> @@ -85,17 +85,17 @@ extern int daemon(int, int);
>>  #endif
>>  #endif
>>  
>> +/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
>> +#ifdef __MINGW32__
>> +#define __USE_MINGW_ANSI_STDIO 1
>> +#endif
>> +
>>  #include <stdarg.h>
>>  #include <stddef.h>
>>  #include <stdbool.h>
>>  #include <stdint.h>
>>  #include <sys/types.h>
>>  #include <stdlib.h>
>> -
>> -/* enable C99/POSIX format strings (needs mingw32-runtime 3.15 or later) */
>> -#ifdef __MINGW32__
>> -#define __USE_MINGW_ANSI_STDIO 1
>> -#endif
>>  #include <stdio.h>
>>  
>>  #include <string.h>
>>
> 
> Reviewed-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Stefan Weil <sw@weilnetz.de>