summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/codegen.c6
-rw-r--r--src/vm.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/codegen.c b/src/codegen.c
index d9fc10657..38328c669 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -586,7 +586,7 @@ lambda_body(codegen_scope *s, node *tree, int blk)
}
tree = tree->cdr;
if (tree->car) {
- int32_t a;
+ mrb_aspec a;
int ma, oa, ra, pa, ka, kd, ba;
int pos, i;
node *n, *opt;
@@ -602,8 +602,8 @@ lambda_body(codegen_scope *s, node *tree, int blk)
ka = kd = 0;
ba = tree->car->cdr->cdr->cdr->cdr ? 1 : 0;
- a = ((int32_t)(ma & 0x1f) << 18)
- | ((int32_t)(oa & 0x1f) << 13)
+ a = ((mrb_aspec)(ma & 0x1f) << 18)
+ | ((mrb_aspec)(oa & 0x1f) << 13)
| ((ra & 1) << 12)
| ((pa & 0x1f) << 7)
| ((ka & 0x1f) << 2)
diff --git a/src/vm.c b/src/vm.c
index 49f054f92..fb1a4dde2 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1117,7 +1117,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
CASE(OP_ENTER) {
/* Ax arg setup according to flags (24=5:5:1:5:5:1:1) */
/* number of optional arguments times OP_JMP should follow */
- int32_t ax = GETARG_Ax(i);
+ mrb_aspec ax = GETARG_Ax(i);
int m1 = (ax>>18)&0x1f;
int o = (ax>>13)&0x1f;
int r = (ax>>12)&0x1;