From: Mike Frysinger Date: Mon, 1 Nov 2021 04:07:15 +0000 (-0400) Subject: sim: m68hc11: clean up pointer casts X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=06969ac4491a0edd7083f1705c87281e1a0780f7;p=binutils-gdb.git sim: m68hc11: clean up pointer casts The void *data field is used to past arbitrary data between event handlers, and these are using it to pass an integer. Fix up the casts to avoid using (long) to cast to/from pointers since there is no guarantee that's the right size. --- diff --git a/sim/m68hc11/dv-m68hc11tim.c b/sim/m68hc11/dv-m68hc11tim.c index 2c2e523da11..08604d31443 100644 --- a/sim/m68hc11/dv-m68hc11tim.c +++ b/sim/m68hc11/dv-m68hc11tim.c @@ -260,7 +260,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) controller = hw_data (me); sd = hw_system (me); cpu = STATE_CPU (sd, 0); - type = (enum event_type) ((long) data) & 0x0FF; + type = (enum event_type) ((uintptr_t) data) & 0x0FF; events = STATE_EVENTS (sd); delay = 0; @@ -280,7 +280,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) eventp = &controller->rti_timer_event; delay = controller->rti_prev_interrupt + controller->rti_delay; - if (((long) (data) & 0x0100) == 0) + if (((uintptr_t) data & 0x0100) == 0) { cpu->ios[M6811_TFLG2] |= M6811_RTIF; check_interrupt = 1; @@ -308,7 +308,7 @@ m68hc11tim_timer_event (struct hw *me, void *data) delay += events->nr_ticks_to_process; eventp = &controller->tof_timer_event; - if (((long) (data) & 0x100) == 0) + if (((uintptr_t) data & 0x100) == 0) { cpu->ios[M6811_TFLG2] |= M6811_TOF; check_interrupt = 1;