1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

label as lvalue is a GCCism

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2018-01-02 06:41:54 +00:00
parent a6b50f379d
commit 1f76918a33
2 changed files with 5 additions and 6 deletions

View file

@ -1461,9 +1461,9 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
# define CASE(x) L_##x: sbegin = s; OPCODE_EXEC_HOOK; # define CASE(x) L_##x: sbegin = s; OPCODE_EXEC_HOOK;
# define DEFAULT L_DEFAULT: # define DEFAULT L_DEFAULT:
# define NEXT sprev = sbegin; JUMP # define NEXT sprev = sbegin; JUMP
# define JUMP goto *oplabels[*p++] # define JUMP RB_GNUC_EXTENSION_BLOCK(goto *oplabels[*p++])
static const void *oplabels[] = { RB_GNUC_EXTENSION static const void *oplabels[] = {
&&L_OP_FINISH, /* matching process terminator (no more alternative) */ &&L_OP_FINISH, /* matching process terminator (no more alternative) */
&&L_OP_END, /* pattern code terminator (success end) */ &&L_OP_END, /* pattern code terminator (success end) */
@ -4617,4 +4617,3 @@ onig_copy_encoding(OnigEncodingType *to, OnigEncoding from)
{ {
*to = *from; *to = *from;
} }

View file

@ -75,7 +75,7 @@ error !
#define LABEL(x) INSN_LABEL_##x #define LABEL(x) INSN_LABEL_##x
#define ELABEL(x) INSN_ELABEL_##x #define ELABEL(x) INSN_ELABEL_##x
#define LABEL_PTR(x) &&LABEL(x) #define LABEL_PTR(x) RB_GNUC_EXTENSION(&&LABEL(x))
#define INSN_ENTRY_SIG(insn) \ #define INSN_ENTRY_SIG(insn) \
if (0) fprintf(stderr, "exec: %s@(%d, %d)@%s:%d\n", #insn, \ if (0) fprintf(stderr, "exec: %s@(%d, %d)@%s:%d\n", #insn, \
@ -106,7 +106,7 @@ error !
/* for GCC 3.4.x */ /* for GCC 3.4.x */
#define TC_DISPATCH(insn) \ #define TC_DISPATCH(insn) \
INSN_DISPATCH_SIG(insn); \ INSN_DISPATCH_SIG(insn); \
goto *(void const *)GET_CURRENT_INSN(); \ RB_GNUC_EXTENSION_BLOCK(goto *(void const *)GET_CURRENT_INSN()); \
; ;
#else #else
@ -115,7 +115,7 @@ error !
#define TC_DISPATCH(insn) \ #define TC_DISPATCH(insn) \
DISPATCH_ARCH_DEPEND_WAY(insns_address_table[GET_CURRENT_INSN()]); \ DISPATCH_ARCH_DEPEND_WAY(insns_address_table[GET_CURRENT_INSN()]); \
INSN_DISPATCH_SIG(insn); \ INSN_DISPATCH_SIG(insn); \
goto *insns_address_table[GET_CURRENT_INSN()]; \ RB_GNUC_EXTENSION_BLOCK(goto *insns_address_table[GET_CURRENT_INSN()]); \
rb_bug("tc error"); rb_bug("tc error");