diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-16 06:15:55 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-16 06:15:55 +0000 |
commit | 2fc5210f31ad23463d7b0a0e36bcfbeee7b41b3e (patch) | |
tree | f95643295c10e0d9a6d8bec6e8c147cdbd83be4a /internal.h | |
parent | 921c47764677d19d42cb647fd0c32e9c7440b5dc (diff) | |
download | ruby-2fc5210f31ad23463d7b0a0e36bcfbeee7b41b3e.tar.gz |
* internal.h (WARN_UNUSED_RESULT): moved to configure.in, to
actually check its availability rather to check GCC's version.
* configure.in (WARN_UNUSED_RESULT): moved to here.
* configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration
to return int rather than void, because it makes no sense for a
warn_unused_result attributed function to return void.
Funny thing however is that it also makes no sense for noreturn
attributed function to return int. So there is a fundamental
conflict between them. While I tested this, I confirmed both
GCC 6 and Clang 3.8 prefers int over void to correctly detect
necessary attributes under this setup. Maybe subject to change
in future.
* internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then
moved to configure.in for the same reason we move
WARN_UNUSED_RESULT.
* configure.in (MAYBE_UNUSED): moved to here.
* internal.h (__has_attribute): deleted, because it has no use now.
* string.c (rb_str_enumerate_lines): refactor macro rename.
* string.c (rb_str_enumerate_bytes): ditto.
* string.c (rb_str_enumerate_chars): ditto.
* string.c (rb_str_enumerate_codepoints): ditto.
* thread.c (do_select): ditto.
* vm_backtrace.c (rb_debug_inspector_open): ditto.
* vsnprintf.c (BSD_vfprintf): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/internal.h b/internal.h index bf3880e695..57d023600a 100644 --- a/internal.h +++ b/internal.h @@ -26,26 +26,6 @@ extern "C" { #define LIKELY(x) RB_LIKELY(x) #define UNLIKELY(x) RB_UNLIKELY(x) -#ifndef __has_attribute -# define __has_attribute(x) 0 -#endif - -#if __has_attribute(__unused__) -#define UNINITIALIZED_VAR(x) x __attribute__((__unused__)) -#elif defined(__GNUC__) && __GNUC__ >= 3 -#define UNINITIALIZED_VAR(x) x = x -#else -#define UNINITIALIZED_VAR(x) x -#endif - -#if __has_attribute(__warn_unused_result__) -#define WARN_UNUSED_RESULT(x) x __attribute__((__warn_unused_result__)) -#elif GCC_VERSION_SINCE(3,4,0) -#define WARN_UNUSED_RESULT(x) x __attribute__((__warn_unused_result__)) -#else -#define WARN_UNUSED_RESULT(x) x -#endif - #ifdef HAVE_VALGRIND_MEMCHECK_H # include <valgrind/memcheck.h> # ifndef VALGRIND_MAKE_MEM_DEFINED |