[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH experiment 09/16] start adding extern "C" markers
From: |
Paolo Bonzini |
Subject: |
[PATCH experiment 09/16] start adding extern "C" markers |
Date: |
Mon, 14 Mar 2022 10:31:56 +0100 |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
include/block/aio.h | 5 +++++
include/fpu/softfloat-types.h | 4 ++++
include/qemu/bitops.h | 3 +++
include/qemu/bswap.h | 10 +++-------
include/qemu/coroutine.h | 4 ++++
include/qemu/host-utils.h | 4 ++++
include/qemu/notify.h | 4 ++++
include/qemu/qsp.h | 4 ++++
include/qemu/thread.h | 4 ++++
include/qemu/timer.h | 4 ++++
10 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/include/block/aio.h b/include/block/aio.h
index 5634173b12..4b21d95f0b 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -17,12 +17,15 @@
#ifdef CONFIG_LINUX_IO_URING
#include <liburing.h>
#endif
+
#include "qemu/coroutine.h"
#include "qemu/queue.h"
#include "qemu/event_notifier.h"
#include "qemu/thread.h"
#include "qemu/timer.h"
+G_BEGIN_DECLS
+
typedef struct BlockAIOCB BlockAIOCB;
typedef void BlockCompletionFunc(void *opaque, int ret);
@@ -769,4 +772,6 @@ void aio_context_set_poll_params(AioContext *ctx, int64_t
max_ns,
void aio_context_set_aio_params(AioContext *ctx, int64_t max_batch,
Error **errp);
+G_END_DECLS
+
#endif
diff --git a/include/fpu/softfloat-types.h b/include/fpu/softfloat-types.h
index 8abd9ab4ec..aaf7b0b5fa 100644
--- a/include/fpu/softfloat-types.h
+++ b/include/fpu/softfloat-types.h
@@ -80,6 +80,8 @@ this code that are retained.
#ifndef SOFTFLOAT_TYPES_H
#define SOFTFLOAT_TYPES_H
+G_BEGIN_DECLS
+
/*
* Software IEC/IEEE floating-point types.
*/
@@ -197,4 +199,6 @@ typedef struct float_status {
bool no_signaling_nans;
} float_status;
+G_END_DECLS
+
#endif /* SOFTFLOAT_TYPES_H */
diff --git a/include/qemu/bitops.h b/include/qemu/bitops.h
index 03213ce952..677884bead 100644
--- a/include/qemu/bitops.h
+++ b/include/qemu/bitops.h
@@ -12,6 +12,7 @@
#ifndef BITOPS_H
#define BITOPS_H
+G_BEGIN_DECLS
#include "host-utils.h"
#include "atomic.h"
@@ -618,4 +619,6 @@ static inline uint64_t half_unshuffle64(uint64_t x)
return x;
}
+G_END_DECLS
+
#endif
diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
index 2d3bb8bbed..439e755ed4 100644
--- a/include/qemu/bswap.h
+++ b/include/qemu/bswap.h
@@ -15,12 +15,10 @@
#define BSWAP_FROM_FALLBACKS
#endif /* ! CONFIG_MACHINE_BSWAP_H */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "fpu/softfloat-types.h"
+G_BEGIN_DECLS
+
#ifdef BSWAP_FROM_BYTESWAP
static inline uint16_t bswap16(uint16_t x)
{
@@ -508,8 +506,6 @@ DO_STN_LDN_P(be)
#undef le_bswaps
#undef be_bswaps
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* BSWAP_H */
diff --git a/include/qemu/coroutine.h b/include/qemu/coroutine.h
index 6f4596fc5b..428e97d946 100644
--- a/include/qemu/coroutine.h
+++ b/include/qemu/coroutine.h
@@ -18,6 +18,8 @@
#include "qemu/queue.h"
#include "qemu/timer.h"
+G_BEGIN_DECLS
+
/**
* Coroutines are a mechanism for stack switching and can be used for
* cooperative userspace threading. These functions provide a simple but
@@ -341,6 +343,8 @@ void qemu_coroutine_increase_pool_batch_size(unsigned int
additional_pool_size);
*/
void qemu_coroutine_decrease_pool_batch_size(unsigned int
additional_pool_size);
+G_END_DECLS
+
#include "qemu/lockable.h"
#include "qemu/co-lockable.h"
diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h
index ca979dc6cc..406e593dff 100644
--- a/include/qemu/host-utils.h
+++ b/include/qemu/host-utils.h
@@ -30,6 +30,8 @@
#ifndef HOST_UTILS_H
#define HOST_UTILS_H
+G_BEGIN_DECLS
+
#include "qemu/compiler.h"
#include "qemu/bswap.h"
@@ -849,4 +851,6 @@ static inline uint64_t udiv_qrnnd(uint64_t *r, uint64_t n1,
#endif
}
+G_END_DECLS
+
#endif
diff --git a/include/qemu/notify.h b/include/qemu/notify.h
index bcfa70fb2e..a8effa39b7 100644
--- a/include/qemu/notify.h
+++ b/include/qemu/notify.h
@@ -14,6 +14,8 @@
#ifndef QEMU_NOTIFY_H
#define QEMU_NOTIFY_H
+G_BEGIN_DECLS
+
#include "qemu/queue.h"
typedef struct Notifier Notifier;
@@ -71,4 +73,6 @@ void notifier_with_return_remove(NotifierWithReturn
*notifier);
int notifier_with_return_list_notify(NotifierWithReturnList *list,
void *data);
+G_END_DECLS
+
#endif
diff --git a/include/qemu/qsp.h b/include/qemu/qsp.h
index bf36aabfa8..65389837a1 100644
--- a/include/qemu/qsp.h
+++ b/include/qemu/qsp.h
@@ -16,6 +16,8 @@ enum QSPSortBy {
QSP_SORT_BY_AVG_WAIT_TIME,
};
+G_BEGIN_DECLS
+
void qsp_report(size_t max, enum QSPSortBy sort_by,
bool callsite_coalesce);
@@ -24,4 +26,6 @@ void qsp_enable(void);
void qsp_disable(void);
void qsp_reset(void);
+G_END_DECLS
+
#endif /* QEMU_QSP_H */
diff --git a/include/qemu/thread.h b/include/qemu/thread.h
index 460568d67d..ec27b7ec58 100644
--- a/include/qemu/thread.h
+++ b/include/qemu/thread.h
@@ -22,6 +22,8 @@ typedef struct QemuThread QemuThread;
#define QEMU_THREAD_JOINABLE 0
#define QEMU_THREAD_DETACHED 1
+G_BEGIN_DECLS
+
void qemu_mutex_init(QemuMutex *mutex);
void qemu_mutex_destroy(QemuMutex *mutex);
int qemu_mutex_trylock_impl(QemuMutex *mutex, const char *file, const int
line);
@@ -397,4 +399,6 @@ void qemu_lockcnt_inc_and_unlock(QemuLockCnt *lockcnt);
*/
unsigned qemu_lockcnt_count(QemuLockCnt *lockcnt);
+G_END_DECLS
+
#endif
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index ee071e07d1..236c45f1c6 100644
--- a/include/qemu/timer.h
+++ b/include/qemu/timer.h
@@ -5,6 +5,8 @@
#include "qemu/notify.h"
#include "qemu/host-utils.h"
+G_BEGIN_DECLS
+
#define NANOSECONDS_PER_SECOND 1000000000LL
/* timers */
@@ -998,4 +1000,6 @@ static inline int64_t profile_getclock(void)
extern int64_t dev_time;
#endif
+G_END_DECLS
+
#endif
--
2.35.1
- Re: [PATCH experiment 08/16] tracetool: add extern "C" around generated headers, (continued)
- [PATCH experiment 03/16] coroutine: small code cleanup in qemu_co_rwlock_wrlock, Paolo Bonzini, 2022/03/14
- [PATCH experiment 05/16] port atomic.h to C++, Paolo Bonzini, 2022/03/14
- [PATCH experiment 04/16] coroutine: introduce QemuCoLockable, Paolo Bonzini, 2022/03/14
- [PATCH experiment 07/16] start porting compiler.h to C++, Paolo Bonzini, 2022/03/14
- [PATCH experiment 11/16] bump to C++20, Paolo Bonzini, 2022/03/14
- [PATCH experiment 12/16] remove "new" keyword from trace-events, Paolo Bonzini, 2022/03/14
- [PATCH experiment 09/16] start adding extern "C" markers,
Paolo Bonzini <=
- [PATCH experiment 10/16] add space between liter and string macro, Paolo Bonzini, 2022/03/14
- [PATCH experiment 13/16] disable some code, Paolo Bonzini, 2022/03/14
- [PATCH experiment 16/16] port test-coroutine to C++ coroutines, Paolo Bonzini, 2022/03/14
- [PATCH experiment 14/16] util: introduce C++ stackless coroutine backend, Paolo Bonzini, 2022/03/14
- [PATCH experiment 15/16] port QemuCoLockable to C++ coroutines, Paolo Bonzini, 2022/03/14
- Re: [PATCH experiment 00/16] C++20 coroutine backend, Stefan Hajnoczi, 2022/03/14