summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/qemu/compiler.h6
-rw-r--r--include/qemu/osdep.h10
2 files changed, 15 insertions, 1 deletions
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index cf28bb2bcd..091c45248b 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -11,6 +11,12 @@
#define QEMU_STATIC_ANALYSIS 1
#endif
+#ifdef __cplusplus
+#define QEMU_EXTERN_C extern "C"
+#else
+#define QEMU_EXTERN_C extern
+#endif
+
#define QEMU_NORETURN __attribute__ ((__noreturn__))
#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index ab84ecc7c1..6d8562eaf4 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -57,7 +57,7 @@
#define daemon qemu_fake_daemon_function
#include <stdlib.h>
#undef daemon
-extern int daemon(int, int);
+QEMU_EXTERN_C int daemon(int, int);
#endif
#ifdef _WIN32
@@ -118,6 +118,10 @@ extern int daemon(int, int);
*/
#include "glib-compat.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef _WIN32
#include "sysemu/os-win32.h"
#endif
@@ -728,4 +732,8 @@ static inline int platform_does_not_support_system(const char *command)
}
#endif /* !HAVE_SYSTEM_FUNCTION */
+#ifdef __cplusplus
+}
+#endif
+
#endif