[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/2] Add QEMU_WARN_UNUSED_RESULT attribute
|
From: |
Manos Pitsidianakis |
|
Subject: |
[PATCH 1/2] Add QEMU_WARN_UNUSED_RESULT attribute |
|
Date: |
Fri, 10 Nov 2023 11:16:38 +0200 |
This commit adds QEMU_WARN_UNUSED_RESULT, a macro for the gcc function
attribute `warn_unused_result`. The utility of this attribute is to
ensure functions that return values that need to be inspected are not
ignored by the caller.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
include/qemu/compiler.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index c797f0d457..7ddbf1f1cf 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -212,6 +212,20 @@
# define QEMU_USED
#endif
+/*
+ * From GCC documentation:
+ *
+ * The warn_unused_result attribute causes a warning to be emitted if a
+ * caller of the function with this attribute does not use its return value.
+ * This is useful for functions where not checking the result is either a
+ * security problem or always a bug, such as realloc.
+ */
+#if __has_attribute(warn_unused_result)
+# define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define QEMU_WARN_UNUSED_RESULT
+#endif
+
/*
* Ugly CPP trick that is like "defined FOO", but also works in C
* code. Useful to replace #ifdef with "if" statements; assumes
--
2.39.2