зеркало из https://github.com/github/ruby.git
internal.h (FLEX_ARY_LEN): Add a macro to define a flexible array
Also, use it in iseq.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
afcd060a92
Коммит
7da7716159
|
@ -2050,6 +2050,15 @@ rb_obj_builtin_type(VALUE obj)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* A macro for defining a flexible array, like: VALUE ary[FLEX_ARY_LEN]; */
|
||||||
|
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||||
|
# define FLEX_ARY_LEN /* VALUE ary[]; */
|
||||||
|
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||||
|
# define FLEX_ARY_LEN 0 /* VALUE ary[0]; */
|
||||||
|
#else
|
||||||
|
# define FLEX_ARY_LEN 1 /* VALUE ary[1]; */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
#if 0
|
#if 0
|
||||||
{ /* satisfy cc-mode */
|
{ /* satisfy cc-mode */
|
||||||
|
|
10
iseq.c
10
iseq.c
|
@ -2836,15 +2836,7 @@ struct succ_index_table {
|
||||||
unsigned int rank;
|
unsigned int rank;
|
||||||
uint64_t small_block_ranks; /* 9 bits * 7 = 63 bits */
|
uint64_t small_block_ranks; /* 9 bits * 7 = 63 bits */
|
||||||
uint64_t bits[512/64];
|
uint64_t bits[512/64];
|
||||||
} succ_part[
|
} succ_part[FLEX_ARY_LEN];
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
|
||||||
/* flexible array member */
|
|
||||||
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
|
||||||
0
|
|
||||||
#else
|
|
||||||
1
|
|
||||||
#endif
|
|
||||||
];
|
|
||||||
} succ_index_table;
|
} succ_index_table;
|
||||||
|
|
||||||
#define imm_block_rank_set(v, i, r) (v) |= (uint64_t)(r) << (7 * (i))
|
#define imm_block_rank_set(v, i, r) (v) |= (uint64_t)(r) << (7 * (i))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче