diff options
author | Fredrik Gustafsson <[email protected]> | 2013-05-06 17:42:58 +0200 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2013-05-06 17:42:58 +0200 |
commit | ea3024202d8dfedfafa62a15286157d3843957cb (patch) | |
tree | 35e3bb9c80eba604aa7bcd460c657658171cda20 /erts/emulator/beam/beam_load.c | |
parent | 60c5ebfa0f56b5e1791b2fd408c243d6a280a393 (diff) | |
parent | 691f8f7f180e970aea155d1741cd9f5e66741a20 (diff) | |
download | otp-ea3024202d8dfedfafa62a15286157d3843957cb.tar.gz otp-ea3024202d8dfedfafa62a15286157d3843957cb.tar.bz2 otp-ea3024202d8dfedfafa62a15286157d3843957cb.zip |
Merge branch 'nox/fix-warnings/OTP-11086' into maint
* nox/fix-warnings/OTP-11086:
Fix some sign warnings found with Clang
Fix a shift/reduce conflicts warning in icparse
Fix two deprecation warnings in com.ericsson.otp.ic.Environment
Define matherr only on platforms where it is used
Properly declare _sigaction on Darwin
Properly mark Uint literals as unsigned in big.c
Do not use -mdynamic-no-pic on Darwin
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r-- | erts/emulator/beam/beam_load.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c index bd4e5a52d0..4193eb4f3f 100644 --- a/erts/emulator/beam/beam_load.c +++ b/erts/emulator/beam/beam_load.c @@ -2964,19 +2964,19 @@ gen_put_integer(LoaderState* stp, GenOpArg Fail, GenOpArg Size, NEW_GENOP(stp, op); NATIVE_ENDIAN(Flags); - if (Size.type == TAG_i && Size.val < 0) { - error: /* Negative size must fail */ - op->op = genop_badarg_1; - op->arity = 1; - op->a[0] = Fail; - } else if (Size.type == TAG_i) { + if (Size.type == TAG_i) { op->op = genop_i_new_bs_put_integer_imm_4; op->arity = 4; op->a[0] = Fail; op->a[1].type = TAG_u; if (!safe_mul(Size.val, Unit.val, &op->a[1].val)) { - goto error; + error: + op->op = genop_badarg_1; + op->arity = 1; + op->a[0] = Fail; + op->next = NULL; + return op; } op->a[1].val = Size.val * Unit.val; op->a[2].type = Flags.type; |