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 <driver1...@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 <th...@redhat.com>