diff --git a/src/parsers/ch.c b/src/parsers/ch.c index e6fe113b446d33cd3a1a29325bf1849f23d21f3e..b4386cff2be1e95158776323d50ff76b00f2afd5 100644 --- a/src/parsers/ch.c +++ b/src/parsers/ch.c @@ -3,7 +3,7 @@ #include "parser_internal.h" static HParseResult* parse_ch(void* env, HParseState *state) { - uint8_t c = (uint8_t)(unsigned long)(env); + uint8_t c = (uint8_t)(uintptr_t)(env); uint8_t r = (uint8_t)h_read_bits(&state->input_stream, 8, false); if (c == r) { HParsedToken *tok = a_new(HParsedToken, 1); @@ -15,7 +15,7 @@ static HParseResult* parse_ch(void* env, HParseState *state) { } static void desugar_ch(HAllocator *mm__, HCFStack *stk__, void *env) { - HCFS_ADD_CHAR( (uint8_t)(unsigned long)(env) ); + HCFS_ADD_CHAR( (uint8_t)(uintptr_t)(env) ); } static bool h_svm_action_ch(HArena *arena, HSVMContext *ctx, void* env) { @@ -31,7 +31,7 @@ static bool h_svm_action_ch(HArena *arena, HSVMContext *ctx, void* env) { } static bool ch_ctrvm(HRVMProg *prog, void* env) { - uint8_t c = (uint8_t)(unsigned long)(env); + uint8_t c = (uint8_t)(uintptr_t)(env); // TODO: Does this capture anything? h_rvm_insert_insn(prog, RVM_PUSH, 0); h_rvm_insert_insn(prog, RVM_MATCH, c | c << 8);