From 8882419798bb9508fce23e6c4a85df7f9876dda8 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Apr 2019 12:25:40 -0700 Subject: [PATCH] Improve wur coverage on older GCCs * src/conf_post.h (__has_attribute_warn_unused_result): New macro for compilers lacking __has_attribute. * src/systhread.h (__has_attribute): Remove ineffective define. (ATTRIBUTE_WARN_UNUSED_RESULT): Work better on GCC 3.4 thru 4. --- src/conf_post.h | 1 + src/systhread.h | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/conf_post.h b/src/conf_post.h index 6ea2c7b664b..7699d2c95bc 100644 --- a/src/conf_post.h +++ b/src/conf_post.h @@ -78,6 +78,7 @@ typedef bool bool_bf; # define __has_attribute_no_address_safety_analysis false # define __has_attribute_no_sanitize_address GNUC_PREREQ (4, 8, 0) # define __has_attribute_no_sanitize_undefined GNUC_PREREQ (4, 9, 0) +# define __has_attribute_warn_unused_result GNUC_PREREQ (3, 4, 0) #endif /* Simulate __has_feature on compilers that lack it. It is used only diff --git a/src/systhread.h b/src/systhread.h index a1d2746721d..8070bcde752 100644 --- a/src/systhread.h +++ b/src/systhread.h @@ -21,12 +21,8 @@ along with GNU Emacs. If not, see . */ #include -#ifndef __has_attribute -# define __has_attribute(a) false -#endif - -#if __has_attribute (__warn_unused_result__) -# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#if __has_attribute (warn_unused_result) +# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) #else # define ATTRIBUTE_WARN_UNUSED_RESULT #endif -- 2.39.2