summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-04-22 12:25:40 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-04-22 12:25:53 -0700
commit8882419798bb9508fce23e6c4a85df7f9876dda8 (patch)
tree1d42cc08e89d7cf6730225afc9b01a733da02d10
parent4bf3c94939406de6610cc83476adaed789826623 (diff)
downloademacs-8882419798bb9508fce23e6c4a85df7f9876dda8.tar.gz
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.
-rw-r--r--src/conf_post.h1
-rw-r--r--src/systhread.h8
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 <https://www.gnu.org/licenses/>. */
#include <stdbool.h>
-#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