vmstate: only enable when building under GNU C To be able to use typeof. Fixes #24604
diff --git a/src/state.c b/src/state.c index 8708547..770711c 100644 --- a/src/state.c +++ b/src/state.c
@@ -26,6 +26,8 @@ #include "vmstate.h" #include "stream.h" +#ifdef HAVE_VMSTATE + static int slirp_tcp_post_load(void *opaque, int version) { tcp_template((struct tcpcb *)opaque); @@ -377,3 +379,5 @@ { return 4; } + +#endif /* HAVE_VMSTATE */
diff --git a/src/vmstate.c b/src/vmstate.c index 68cc172..c7fc5a3 100644 --- a/src/vmstate.c +++ b/src/vmstate.c
@@ -45,6 +45,8 @@ #include "stream.h" #include "vmstate.h" +#ifdef HAVE_VMSTATE + static int get_nullptr(SlirpIStream *f, void *pv, size_t size, const VMStateField *field) { @@ -442,3 +444,5 @@ } return ret; } + +#endif /* HAVE_VMSTATE */
diff --git a/src/vmstate.h b/src/vmstate.h index e3e2459..64dd256 100644 --- a/src/vmstate.h +++ b/src/vmstate.h
@@ -39,6 +39,9 @@ #ifndef VMSTATE_H_ #define VMSTATE_H_ +#ifdef __GNUC__ +#define HAVE_VMSTATE 1 + #include <unistd.h> #include <stdint.h> #include <stdbool.h> @@ -392,4 +395,6 @@ .flags = VMS_END, \ } -#endif +#endif /* __GNUC__ */ + +#endif /* VMSTATE_H_ */