diff --git a/ir_aarch64.dasc b/ir_aarch64.dasc index 41b6de0..c7cc5fe 100644 --- a/ir_aarch64.dasc +++ b/ir_aarch64.dasc @@ -1221,7 +1221,7 @@ static void ir_emit_prologue(ir_ctx *ctx) uint32_t i; ir_reg prev = IR_REG_NONE; ir_reg fp = (ctx->flags & IR_USE_FRAME_POINTER) ? IR_REG_FRAME_POINTER : IR_REG_STACK_POINTER; - ir_regset used_preserved_regs = ctx->used_preserved_regs; + ir_regset used_preserved_regs = (ir_regset)ctx->used_preserved_regs; if (ctx->flags & IR_USE_FRAME_POINTER) { offset = ctx->stack_frame_size + sizeof(void*) * 2; @@ -1272,7 +1272,7 @@ static void ir_emit_epilogue(ir_ctx *ctx) uint32_t i; ir_reg prev = IR_REG_NONE; ir_reg fp = (ctx->flags & IR_USE_FRAME_POINTER) ? IR_REG_FRAME_POINTER : IR_REG_STACK_POINTER; - ir_regset used_preserved_regs = ctx->used_preserved_regs; + ir_regset used_preserved_regs = (ir_regset)ctx->used_preserved_regs; if (ctx->flags & IR_USE_FRAME_POINTER) { offset = ctx->stack_frame_size + sizeof(void*) * 2; diff --git a/ir_x86.dasc b/ir_x86.dasc index b2fcede..d2dd220 100644 --- a/ir_x86.dasc +++ b/ir_x86.dasc @@ -2138,7 +2138,7 @@ static void ir_emit_prologue(ir_ctx *ctx) if (ctx->used_preserved_regs) { int offset; uint32_t i; - ir_regset used_preserved_regs = ctx->used_preserved_regs; + ir_regset used_preserved_regs = (ir_regset)ctx->used_preserved_regs; if (ctx->flags & IR_USE_FRAME_POINTER) { offset = 0; @@ -2175,7 +2175,7 @@ static void ir_emit_epilogue(ir_ctx *ctx) if (ctx->used_preserved_regs) { int offset; uint32_t i; - ir_regset used_preserved_regs = ctx->used_preserved_regs; + ir_regset used_preserved_regs = (ir_regset)ctx->used_preserved_regs; if (ctx->flags & IR_USE_FRAME_POINTER) { offset = 0;