forked from M-Labs/nac3
core/irrt: fix error context check logic error
This commit is contained in:
parent
e14eba05d2
commit
fc9d47fb54
|
@ -72,8 +72,8 @@ void __nac3_error_context_initialize(ErrorContext *errctx,
|
||||||
errctx->initialize(error_ids);
|
errctx->initialize(error_ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool __nac3_error_context_has_no_error(ErrorContext *errctx) {
|
bool __nac3_error_context_has_error(ErrorContext *errctx) {
|
||||||
return !errctx->has_error();
|
return errctx->has_error();
|
||||||
}
|
}
|
||||||
|
|
||||||
void __nac3_error_context_get_error_str(ErrorContext *errctx,
|
void __nac3_error_context_get_error_str(ErrorContext *errctx,
|
||||||
|
|
|
@ -100,11 +100,11 @@ pub fn call_nac3_error_context_initialize<'ctx>(
|
||||||
.returning_void();
|
.returning_void();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn call_nac3_error_context_has_no_error<'ctx>(
|
pub fn call_nac3_error_context_has_error<'ctx>(
|
||||||
ctx: &CodeGenContext<'ctx, '_>,
|
ctx: &CodeGenContext<'ctx, '_>,
|
||||||
errctx: Pointer<'ctx, StructModel<ErrorContext>>,
|
errctx: Pointer<'ctx, StructModel<ErrorContext>>,
|
||||||
) -> NInt<'ctx, Bool> {
|
) -> NInt<'ctx, Bool> {
|
||||||
FunctionBuilder::begin(ctx, "__nac3_error_context_has_no_error")
|
FunctionBuilder::begin(ctx, "__nac3_error_context_has_error")
|
||||||
.arg("errctx", errctx)
|
.arg("errctx", errctx)
|
||||||
.returning("has_error", NIntModel(Bool))
|
.returning("has_error", NIntModel(Bool))
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,7 @@ pub fn check_error_context<'ctx, G: CodeGenerator + ?Sized>(
|
||||||
let end_bb = ctx.ctx.insert_basic_block_after(irrt_has_error_bb, "end");
|
let end_bb = ctx.ctx.insert_basic_block_after(irrt_has_error_bb, "end");
|
||||||
|
|
||||||
// Inserting into `current_bb`
|
// Inserting into `current_bb`
|
||||||
let has_error = call_nac3_error_context_has_no_error(ctx, errctx_ptr);
|
let has_error = call_nac3_error_context_has_error(ctx, errctx_ptr);
|
||||||
ctx.builder.build_conditional_branch(has_error.value, irrt_has_error_bb, end_bb).unwrap();
|
ctx.builder.build_conditional_branch(has_error.value, irrt_has_error_bb, end_bb).unwrap();
|
||||||
|
|
||||||
// Inserting into `irrt_has_error_bb`
|
// Inserting into `irrt_has_error_bb`
|
||||||
|
|
Loading…
Reference in New Issue