summaryrefslogtreecommitdiff
path: root/sysdeps/m68k/memcopy.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/m68k/memcopy.h')
-rw-r--r--sysdeps/m68k/memcopy.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/sysdeps/m68k/memcopy.h b/sysdeps/m68k/memcopy.h
index cdc268ad51..0951eeaf7a 100644
--- a/sysdeps/m68k/memcopy.h
+++ b/sysdeps/m68k/memcopy.h
@@ -1,5 +1,5 @@
/* memcopy.h -- definitions for memory copy functions. Motorola 68020 version.
- Copyright (C) 1991, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1997, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@@ -68,29 +68,33 @@
do \
{ \
size_t __nblocks = (nbytes) / 32 + 1; \
+ op_t *__dst_ep = (op_t *) (dst_ep); \
+ op_t *__src_ep = (op_t *) (src_ep); \
switch ((nbytes) / sizeof (op_t) % 8) \
do \
{ \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 7: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 6: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 5: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 4: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 3: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 2: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 1: \
- *--((op_t *) dst_ep) = *--((op_t *) src_ep); \
+ *--__dst_ep = *--__src_ep; \
case 0: \
__nblocks--; \
} \
while (__nblocks != 0); \
(nbytes_left) = (nbytes) % sizeof (op_t); \
+ (dst_ep) = (unsigned long) __dst_ep; \
+ (src_ep) = (unsigned long) __src_ep; \
} while (0)
#endif