]> git.sur5r.net Git - cc65/commitdiff
Add standard names for library functions
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 26 May 2004 13:42:19 +0000 (13:42 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 26 May 2004 13:42:19 +0000 (13:42 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3047 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/assignment.c
src/cc65/make/gcc.mak
src/cc65/make/watcom.mak
src/cc65/stdfunc.c
src/cc65/stdnames.c [new file with mode: 0644]
src/cc65/stdnames.h [new file with mode: 0644]

index 241b35bf9ec093b747fb01f1bef7fa207152d143..df9cc50c8789d7f7bd4860e110812990220682c2 100644 (file)
@@ -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 {
index d33a06fa155755d4c91b34a6fc1a4fc7e2b08ded..f60e9d69a211eed601a7e96a0631338a490032cb 100644 (file)
@@ -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        \
index 884175a83f454624112e8dfd20f427d56dbb6404..63684c4496da42dd22f3097b003e1cedc880bfb6 100644 (file)
@@ -114,6 +114,7 @@ OBJS =      anonname.obj    \
         scanstrbuf.obj  \
        segments.obj    \
        stdfunc.obj     \
+        stdnames.obj    \
        stmt.obj        \
        swstmt.obj      \
        symentry.obj    \
index e43ffc0d3703d7eca4783a1127922440d8abacb3..0a39fbead06424663a9fde91822885571c62385b 100644 (file)
@@ -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 (file)
index 0000000..3c0d262
--- /dev/null
@@ -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 (file)
index 0000000..b140c45
--- /dev/null
@@ -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
+
+
+