diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-07-20 18:24:33 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-07-20 18:24:33 +0900 |
| commit | 5066e2370d613355c813fd48be5ab0f76b7d341c (patch) | |
| tree | edfa42492cff31a8be1fa2cd48372e894ad2335d /mrbgems/mruby-compiler/core/codegen.c | |
| parent | cdf54f3159b90a0c87d53ddba931c3a48d13337b (diff) | |
| download | mruby-5066e2370d613355c813fd48be5ab0f76b7d341c.tar.gz mruby-5066e2370d613355c813fd48be5ab0f76b7d341c.zip | |
codegen.c: negative zero equals to positive zero.
`OP_LOADI Rn -0` should be `OP_LOADI_0`.
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
| -rw-r--r-- | mrbgems/mruby-compiler/core/codegen.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 44beef6a5..3c9d12f9f 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -2663,6 +2663,9 @@ codegen(codegen_scope *s, node *tree, int val) int off = new_litbn(s, p, base, TRUE); genop_2(s, OP_LOADL, cursp(), off); } + else if (i == 0) { + genop_1(s, OP_LOADI_0, cursp()); + } else { i = -i; if (i == -1) genop_1(s, OP_LOADI__1, cursp()); |
