diff --git a/py/asmthumb.c b/py/asmthumb.c index 16337f4d5e..8341c958e9 100644 --- a/py/asmthumb.c +++ b/py/asmthumb.c @@ -88,6 +88,7 @@ void asm_thumb_start_pass(asm_thumb_t *as, uint pass) { } void asm_thumb_end_pass(asm_thumb_t *as) { + (void)as; // could check labels are resolved... } @@ -402,7 +403,7 @@ void asm_thumb_b_label(asm_thumb_t *as, uint label) { mp_uint_t dest = get_label_dest(as, label); mp_int_t rel = dest - as->code_offset; rel -= 4; // account for instruction prefetch, PC is 4 bytes ahead of this instruction - if (dest != -1 && rel <= -4) { + if (dest != (mp_uint_t)-1 && rel <= -4) { // is a backwards jump, so we know the size of the jump on the first pass // calculate rel assuming 12 bit relative jump if (SIGNED_FIT12(rel)) { @@ -421,7 +422,7 @@ void asm_thumb_bcc_label(asm_thumb_t *as, int cond, uint label) { mp_uint_t dest = get_label_dest(as, label); mp_int_t rel = dest - as->code_offset; rel -= 4; // account for instruction prefetch, PC is 4 bytes ahead of this instruction - if (dest != -1 && rel <= -4) { + if (dest != (mp_uint_t)-1 && rel <= -4) { // is a backwards jump, so we know the size of the jump on the first pass // calculate rel assuming 9 bit relative jump if (SIGNED_FIT9(rel)) {