+2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
+ * src/z80/main.c,
+ src/z80/gen.c,
+ device/include/string.h: Implemented RFE #1914254
+
2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
* device/lib/z80/Makefile.in,
device/lib/Makefile.in,
extern int strlen (char * ) ;
extern char *strtok (char *, char *) ;
extern void *memcpy (void *, void *, size_t ) ;
+#ifdef SDCC_z80
+#define memcpy(dst, src, n) __builtin_memcpy(dst, src, n)
+#endif
extern int memcmp (void *, void *, size_t ) ;
extern void *memset (void *, unsigned char , size_t ) ;
extern void *memmove (void *, void *, size_t ) ;
operand *from, *to, *count;
bool deInUse;
- wassertl (nParams == 3, "Built-in memcpy must have two parameters");
+ wassertl (nParams == 3, "Built-in memcpy must have three parameters");
to = pparams[2];
from = pparams[1];
count = pparams[0];
static builtins _z80_builtins[] = {
/* Disabled for now.
- { "__builtin_strcpy", "v", 2, {"cg*", "cg*" } },
- { "__builtin_memcpy", "cg*", 3, {"cg*", "cg*", "ui" } },
- */
+ { "__builtin_strcpy", "v", 2, {"cg*", "cg*" } },*/
+ { "__builtin_memcpy", "vg*", 3, {"vg*", "vg*", "ui" } },
{ NULL , NULL,0, {NULL}}
};
0, /* leave == */
TRUE, /* Array initializer support. */
0, /* no CSE cost estimation yet */
- _z80_builtins, /* no builtin functions */
+ _z80_builtins, /* builtin functions */
GPOINTER, /* treat unqualified pointers as "generic" pointers */
1, /* reset labelKey to 1 */
1, /* globals & local static allowed */