From 16cc328967c64c8c0bda99c1cdc0cf1a773c2c24 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 19 Jan 2005 21:27:39 +0000 Subject: 2005-01-19 Joel Sherrill * pc386/console/vgainit.c, pc386/wd8003/wd8003.c, shared/comm/uart.c: Fix errors caught by gcc 4.x. --- c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c') diff --git a/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c b/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c index 24dd116b7a..15dcf4a060 100644 --- a/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c +++ b/c/src/lib/libbsp/i386/pc386/wd8003/wd8003.c @@ -281,7 +281,8 @@ wd_rxDaemon (void *arg) unsigned int i2; unsigned int len; volatile unsigned char start, next, current; - char *shp, *temp; + unsigned char *shp, *temp; + unsigned short *real_short_ptr; rtems_event_set events; tport = wd_softc[0].port ; @@ -308,9 +309,11 @@ wd_rxDaemon (void *arg) if (current == start) break; + /* real_short_ptr avoids cast on lvalue which gcc no longer allows */ shp = dp->base + 1 + (SHAPAGE * start); next = *shp++; - len = *((short *)shp)++ - 4; + real_short_ptr = (unsigned short *)shp; + len = *(real_short_ptr)++ - 4; if (next >= OUTPAGE){ next = 0; -- cgit v1.2.3