diff options
author | Kazuhiro NISHIYAMA <zn@mbf.nifty.com> | 2020-08-17 09:26:30 +0900 |
---|---|---|
committer | Kazuhiro NISHIYAMA <zn@mbf.nifty.com> | 2020-08-17 09:28:15 +0900 |
commit | 5849309c5a3754c3a9b0d1e42a34e82b94a5104b (patch) | |
tree | 4e7bac58d6d50c064d948459e764175baf4a19f9 /compile.c | |
parent | a73b5cc556bd131fe924ed6bb02b3c5bdf1593e8 (diff) |
Revert "Refactor to reduce "swap" instruction of pattern matching"
This reverts commit 3a4be429b50062122d1616256de38649464d3146.
To fix following warning:
```
compiling ../compile.c
../compile.c:6336:20: warning: variable 'line' is uninitialized when used here [-Wuninitialized]
ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */
^~~~
../compile.c:220:57: note: expanded from macro 'ADD_INSN'
ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))
^~~~
../compile.c:6327:13: note: initialize the variable 'line' to silence this warning
int line;
^
= 0
1 warning generated.
```
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -6333,7 +6333,6 @@ compile_case3(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_no INIT_ANCHOR(body_seq); INIT_ANCHOR(cond_seq); - ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */ CHECK(COMPILE(head, "case base", node->nd_head)); branches = decl_branch_base(iseq, node, "case"); @@ -6346,6 +6345,8 @@ compile_case3(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_no endlabel = NEW_LABEL(line); elselabel = NEW_LABEL(line); + ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */ + ADD_INSN(head, line, swap); ADD_SEQ(ret, head); /* case VAL */ while (type == NODE_IN) { |