osdep: include glib-compat.h before other QEMU headers

glib-compat.h is sort of like a system header, and it needs to include
system headers (glib.h) that may dislike being included under
'extern "C"'.  Move it right after all system headers and before
all other QEMU headers.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210416135543.20382-2-peter.maydell@linaro.org
[PMM: Added comment about why glib-compat.h is special]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Paolo Bonzini 2021-04-16 14:55:38 +01:00 committed by Peter Maydell
parent 8fe9f1f891
commit af1bb59c07
1 changed files with 7 additions and 1 deletions

View File

@ -111,6 +111,13 @@ extern int daemon(int, int);
#define WEXITSTATUS(x) (x)
#endif
/*
* This is somewhat like a system header; it must be outside any extern "C"
* block because it includes system headers itself, including glib.h,
* which will not compile if inside an extern "C" block.
*/
#include "glib-compat.h"
#ifdef _WIN32
#include "sysemu/os-win32.h"
#endif
@ -123,7 +130,6 @@ extern int daemon(int, int);
#include <AvailabilityMacros.h>
#endif
#include "glib-compat.h"
#include "qemu/typedefs.h"
/*