From db5d556f9b6ada9388fe73b925724a06eb23611b Mon Sep 17 00:00:00 2001 From: shyouhei Date: Tue, 2 Jan 2018 06:41:50 +0000 Subject: bit-fields other than int is a C99ism To be precise C90 says "A bit-field may have type int, unsigned int, or signed int". It is clear that char or enum are NG. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- method.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'method.h') diff --git a/method.h b/method.h index dc430401a7..7c1ce3b8b3 100644 --- a/method.h +++ b/method.h @@ -32,10 +32,16 @@ typedef enum { METHOD_VISI_MASK = 0x03 } rb_method_visibility_t; +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) +#define bits_t rb_method_visibility_t +#else +#define bits_t unsigned int +#endif typedef struct rb_scope_visi_struct { - rb_method_visibility_t method_visi : 3; + bits_t method_visi : 3; unsigned int module_func : 1; } rb_scope_visibility_t; +#undef bits_t /*! CREF (Class REFerence) */ typedef struct rb_cref_struct { -- cgit v1.2.3