aboutsummaryrefslogtreecommitdiff
path: root/include/qemu
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2022-12-16 12:53:44 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2023-09-26 18:09:08 +0200
commitd79b9202e45711e37e5ba5b3fbfccb4b9fff78a1 (patch)
treea64d570d91870a2f9d063affec21d75f1b65d9f4 /include/qemu
parente2dbca033710efea20b0b0a26ca05570dcdabd49 (diff)
downloadqemu-d79b9202e45711e37e5ba5b3fbfccb4b9fff78a1.zip
qemu-d79b9202e45711e37e5ba5b3fbfccb4b9fff78a1.tar.gz
qemu-d79b9202e45711e37e5ba5b3fbfccb4b9fff78a1.tar.bz2
compiler: introduce QEMU_ANNOTATE
Allow a more shorter syntax when defining wrapper macros for __attribute__((annotate(...))). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qemu')
-rw-r--r--include/qemu/compiler.h6
-rw-r--r--include/qemu/osdep.h6
2 files changed, 9 insertions, 3 deletions
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index a309f90..7fda29b 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -197,4 +197,10 @@
#define BUILTIN_SUBCLL_BROKEN
#endif
+#if __has_attribute(annotate)
+#define QEMU_ANNOTATE(x) __attribute__((annotate(x)))
+#else
+#define QEMU_ANNOTATE(x)
+#endif
+
#endif /* COMPILER_H */
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 2897720..e4a4eb2 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -185,7 +185,7 @@ extern "C" {
* }
*/
#ifdef __clang__
-#define coroutine_fn __attribute__((__annotate__("coroutine_fn")))
+#define coroutine_fn QEMU_ANNOTATE("coroutine_fn")
#else
#define coroutine_fn
#endif
@@ -195,7 +195,7 @@ extern "C" {
* but can handle running in non-coroutine context too.
*/
#ifdef __clang__
-#define coroutine_mixed_fn __attribute__((__annotate__("coroutine_mixed_fn")))
+#define coroutine_mixed_fn QEMU_ANNOTATE("coroutine_mixed_fn")
#else
#define coroutine_mixed_fn
#endif
@@ -224,7 +224,7 @@ extern "C" {
* }
*/
#ifdef __clang__
-#define no_coroutine_fn __attribute__((__annotate__("no_coroutine_fn")))
+#define no_coroutine_fn QEMU_ANNOTATE("no_coroutine_fn")
#else
#define no_coroutine_fn
#endif