From 876b45db81a708616d70b1ab66b71bd503809c21 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Wed, 11 Nov 2020 20:18:06 -0500 Subject: [PATCH] system: Add WARN_UNUSED_RESULT I'd like to have the option of marking functions with __attribute__ ((__warn_unused_result__)), so this patch adds a macro. And use it for maybe_wrap_with_location, it's always a bug if the return value is not used, which happened to me and got me confused. gcc/ChangeLog: * system.h (WARN_UNUSED_RESULT): Define for GCC >= 3.4. * tree.h (maybe_wrap_with_location): Add WARN_UNUSED_RESULT. --- gcc/system.h | 6 ++++++ gcc/tree.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/system.h b/gcc/system.h index b0f3f1dd019..6f6ab616a61 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -789,6 +789,12 @@ extern void fancy_abort (const char *, int, const char *) #define ALWAYS_INLINE inline #endif +#if GCC_VERSION >= 3004 +#define WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +#define WARN_UNUSED_RESULT +#endif + /* Use gcc_unreachable() to mark unreachable locations (like an unreachable default case of a switch. Do not use gcc_assert(0). */ #if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING diff --git a/gcc/tree.h b/gcc/tree.h index 684be10b440..9a713cdb0c7 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1214,7 +1214,7 @@ get_expr_source_range (tree expr) extern void protected_set_expr_location (tree, location_t); extern void protected_set_expr_location_if_unset (tree, location_t); -extern tree maybe_wrap_with_location (tree, location_t); +WARN_UNUSED_RESULT extern tree maybe_wrap_with_location (tree, location_t); extern int suppress_location_wrappers; -- 2.30.2