From 2cdef2d58f182210c02931e87b0e6d0352adfec3 Mon Sep 17 00:00:00 2001 From: cuz Date: Wed, 26 May 2004 13:42:19 +0000 Subject: [PATCH] Add standard names for library functions git-svn-id: svn://svn.cc65.org/cc65/trunk@3047 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- src/cc65/assignment.c | 3 ++- src/cc65/make/gcc.mak | 3 ++- src/cc65/make/watcom.mak | 1 + src/cc65/stdfunc.c | 2 +- src/cc65/stdnames.c | 51 +++++++++++++++++++++++++++++++++++ src/cc65/stdnames.h | 58 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 src/cc65/stdnames.c create mode 100644 src/cc65/stdnames.h diff --git a/src/cc65/assignment.c b/src/cc65/assignment.c index 241b35bf9..df9cc50c8 100644 --- a/src/cc65/assignment.c +++ b/src/cc65/assignment.c @@ -40,6 +40,7 @@ #include "error.h" #include "expr.h" #include "scanner.h" +#include "stdnames.h" #include "typecmp.h" #include "typeconv.h" @@ -133,7 +134,7 @@ void Assignment (ExprDesc* lval) g_getimmed (CF_INT | CF_UNSIGNED | CF_CONST, CheckedSizeOf (ltype), 0); /* Call the memcpy function */ - g_call (CF_FIXARGC, "memcpy", 4); + g_call (CF_FIXARGC, Func_memcpy, 4); } } else { diff --git a/src/cc65/make/gcc.mak b/src/cc65/make/gcc.mak index d33a06fa1..f60e9d69a 100644 --- a/src/cc65/make/gcc.mak +++ b/src/cc65/make/gcc.mak @@ -80,7 +80,8 @@ OBJS = anonname.o \ scanstrbuf.o \ segments.o \ stdfunc.o \ - stmt.o \ + stdnames.o \ + stmt.o \ swstmt.o \ symentry.o \ symtab.o \ diff --git a/src/cc65/make/watcom.mak b/src/cc65/make/watcom.mak index 884175a83..63684c449 100644 --- a/src/cc65/make/watcom.mak +++ b/src/cc65/make/watcom.mak @@ -114,6 +114,7 @@ OBJS = anonname.obj \ scanstrbuf.obj \ segments.obj \ stdfunc.obj \ + stdnames.obj \ stmt.obj \ swstmt.obj \ symentry.obj \ diff --git a/src/cc65/stdfunc.c b/src/cc65/stdfunc.c index e43ffc0d3..0a39fbead 100644 --- a/src/cc65/stdfunc.c +++ b/src/cc65/stdfunc.c @@ -195,7 +195,7 @@ static void StdFunc_memset (FuncDesc* F attribute ((unused)), } /* Emit the actual function call */ - g_call (CF_NONE, MemSet? "memset" : "_bzero", ParamSize); + g_call (CF_NONE, MemSet? Func_memset : Func__bzero, ParamSize); /* We expect the closing brace */ ConsumeRParen (); diff --git a/src/cc65/stdnames.c b/src/cc65/stdnames.c new file mode 100644 index 000000000..3c0d26203 --- /dev/null +++ b/src/cc65/stdnames.c @@ -0,0 +1,51 @@ +/*****************************************************************************/ +/* */ +/* stdnames.c */ +/* */ +/* Assembler names for standard functions in the library */ +/* */ +/* */ +/* */ +/* (C) 2004 Ullrich von Bassewitz */ +/* Römerstraße 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ +/* warranty. In no event will the authors be held liable for any damages */ +/* arising from the use of this software. */ +/* */ +/* Permission is granted to anyone to use this software for any purpose, */ +/* including commercial applications, and to alter it and redistribute it */ +/* freely, subject to the following restrictions: */ +/* */ +/* 1. The origin of this software must not be misrepresented; you must not */ +/* claim that you wrote the original software. If you use this software */ +/* in a product, an acknowledgment in the product documentation would be */ +/* appreciated but is not required. */ +/* 2. Altered source versions must be plainly marked as such, and must not */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ +/*****************************************************************************/ + + + +#include "stdnames.h" + + + +/*****************************************************************************/ +/* Data */ +/*****************************************************************************/ + + + +const char Func_memcpy[] = "_memcpy"; /* Asm name of "memcpy" */ +const char Func_memset[] = "_memset"; /* Asm name of "memset" */ +const char Func__bzero[] = "__bzero"; /* Asm name of "_bzero */ + + + diff --git a/src/cc65/stdnames.h b/src/cc65/stdnames.h new file mode 100644 index 000000000..b140c45bb --- /dev/null +++ b/src/cc65/stdnames.h @@ -0,0 +1,58 @@ +/*****************************************************************************/ +/* */ +/* stdnames.h */ +/* */ +/* Assembler names for standard functions in the library */ +/* */ +/* */ +/* */ +/* (C) 2004 Ullrich von Bassewitz */ +/* Römerstraße 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ +/* */ +/* */ +/* This software is provided 'as-is', without any expressed or implied */ +/* warranty. In no event will the authors be held liable for any damages */ +/* arising from the use of this software. */ +/* */ +/* Permission is granted to anyone to use this software for any purpose, */ +/* including commercial applications, and to alter it and redistribute it */ +/* freely, subject to the following restrictions: */ +/* */ +/* 1. The origin of this software must not be misrepresented; you must not */ +/* claim that you wrote the original software. If you use this software */ +/* in a product, an acknowledgment in the product documentation would be */ +/* appreciated but is not required. */ +/* 2. Altered source versions must be plainly marked as such, and must not */ +/* be misrepresented as being the original software. */ +/* 3. This notice may not be removed or altered from any source */ +/* distribution. */ +/* */ +/*****************************************************************************/ + + + +#ifndef STDNAMES_H +#define STDNAMES_H + + + +/*****************************************************************************/ +/* Data */ +/*****************************************************************************/ + + + +extern const char Func_memcpy[]; /* Asm name of "memcpy" */ +extern const char Func_memset[]; /* Asm name of "memset" */ +extern const char Func__bzero[]; /* Asm name of "_bzero */ + + + +/* End of stdnames.h */ + +#endif + + + -- 2.39.5