From b6c425aaddd38fec6a6b6f0d816bff18bc205cfd Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 30 Aug 2014 13:29:45 +0000 Subject: [PATCH] internal.h: WARN_UNUSED_RESULT * internal.h (WARN_UNUSED_RESULT): warn unused result by gcc 3.4 or later. * symbol.c: declare some functions with WARN_UNUSED_RESULT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- internal.h | 8 ++++++++ symbol.c | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/internal.h b/internal.h index 8b9701c597..2e88324f0c 100644 --- a/internal.h +++ b/internal.h @@ -40,6 +40,14 @@ extern "C" { #define UNINITIALIZED_VAR(x) x #endif +#if __has_attribute(warn_unused_result) +#define WARN_UNUSED_RESULT(x) x __attribute__((warn_unused_result)) +#elif defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__) >= 3004 +#define WARN_UNUSED_RESULT(x) x __attribute__((warn_unused_result)) +#else +#define WARN_UNUSED_RESULT(x) x +#endif + #ifdef HAVE_VALGRIND_MEMCHECK_H # include # ifndef VALGRIND_MAKE_MEM_DEFINED diff --git a/symbol.c b/symbol.c index c3ce50f830..630a386eb0 100644 --- a/symbol.c +++ b/symbol.c @@ -103,8 +103,13 @@ Init_sym(void) Init_id(); } -static ID attrsetname_to_attr(VALUE name); -static VALUE lookup_id_str(ID id); +WARN_UNUSED_RESULT(static VALUE dsymbol_alloc(const VALUE klass, const VALUE str, rb_encoding *const enc)); +WARN_UNUSED_RESULT(static VALUE dsymbol_check(const VALUE sym)); +WARN_UNUSED_RESULT(static ID dsymbol_pindown(VALUE sym)); +WARN_UNUSED_RESULT(static ID lookup_str_id(VALUE str)); +WARN_UNUSED_RESULT(static VALUE lookup_str_sym(const VALUE str)); +WARN_UNUSED_RESULT(static VALUE lookup_id_str(ID id)); +WARN_UNUSED_RESULT(static ID attrsetname_to_attr(VALUE name)); ID rb_id_attrset(ID id)