]> git.sur5r.net Git - cc65/commitdiff
Added explicit settings of calling conventions in pointer-to-function declarations... 161/head
authorGreg King <gregdk@users.sf.net>
Mon, 22 Jun 2015 04:15:48 +0000 (00:15 -0400)
committerGreg King <gregdk@users.sf.net>
Mon, 22 Jun 2015 04:15:48 +0000 (00:15 -0400)
include/stdlib.h
libsrc/common/_printf.h
libsrc/common/bsearch.c
libsrc/common/qsort.c
libsrc/common/vfprintf.s
libsrc/common/vsnprintf.s

index eac5629a82542c18461d1f291deb6a7f9b309e46..3103172d8f25cc657310bc20afc3cc0aee7ac9ee 100644 (file)
@@ -107,12 +107,12 @@ int __fastcall__ atoi (const char* s);
 long __fastcall__ atol (const char* s);
 int __fastcall__ atexit (void (*exitfunc) (void));
 void* __fastcall__ bsearch (const void* key, const void* base, size_t n,
-                            size_t size, int (*cmp) (const void*, const void*));
+                            size_t size, int __fastcall__ (* cmp) (const void*, const void*));
 div_t __fastcall__ div (int numer, int denom);
 void __fastcall__ exit (int ret) __attribute__ ((noreturn));
 char* __fastcall__ getenv (const char* name);
 void __fastcall__ qsort (void* base, size_t count, size_t size,
-                         int (*compare) (const void*, const void*));
+                         int __fastcall__ (* compare) (const void*, const void*));
 long __fastcall__ strtol (const char* nptr, char** endptr, int base);
 unsigned long __fastcall__ strtoul (const char* nptr, char** endptr, int base);
 int __fastcall__ system (const char* s);
index ffb2443bd931b8dcaf3f9420439424bc834a96c6..7914fa87075e514663f1d02b61b53f1243dc170b 100644 (file)
@@ -16,7 +16,7 @@
 struct outdesc;
 
 /* Type of the function that is called to output data */
-typedef void (*outfunc) (struct outdesc* desc, const char* buf, unsigned count);
+typedef void __cdecl__ (* outfunc) (struct outdesc* desc, const char* buf, unsigned count);
 
 
 
index f6d32a5b51963cda50395bfc22bc6723627d6369..aafd28592a5dff14ab5edcbc96a312b7c55d54c4 100644 (file)
@@ -1,7 +1,8 @@
 /*
 ** bsearch.c
 **
-** Ullrich von Bassewitz, 17.06.1998
+** 1998-06-17, Ullrich von Bassewitz
+** 2015-06-21, Greg King
 */
 
 
@@ -11,7 +12,7 @@
 
 
 void* __fastcall__ bsearch (const void* key, const void* base, size_t n,
-                            size_t size, int (*cmp) (const void*, const void*))
+                            size_t size, int __fastcall__ (* cmp) (const void*, const void*))
 {
     int current;
     int result;
index df02095edb36ba3862f2dac756fb6f8562525ebb..991db3ba18d34ac94c35fc67c809f725b65997eb 100644 (file)
@@ -1,7 +1,8 @@
 /*
 ** qsort.c
 **
-** Ullrich von Bassewitz, 09.12.1998
+** 1998.12.09, Ullrich von Bassewitz
+** 2015-06-21, Greg King
 */
 
 
@@ -12,7 +13,7 @@
 
 static void QuickSort (register unsigned char* Base, int Lo, int Hi,
                        register size_t Size,
-                       int (*Compare)(const void*, const void*))
+                       int __fastcall__ (* Compare) (const void*, const void*))
 /* Internal recursive function. Works with ints, but this shouldn't be
 ** a problem.
 */
@@ -52,7 +53,7 @@ static void QuickSort (register unsigned char* Base, int Lo, int Hi,
 
 
 void __fastcall__ qsort (void* base, size_t nmemb, size_t size,
-                         int (*compare)(const void*, const void*))
+                         int __fastcall__ (* compare) (const void*, const void*))
 /* Quicksort implementation */
 {
     if (nmemb > 1) {
index 9812f661bb9b9649b23bad4093cf206c4d15dbce..1225bcc47418c4b4d69efaadc28ef75366703b7b 100644 (file)
@@ -33,7 +33,7 @@ ptr:    .res    2               ; Points to output file
 ; can ignore the passed pointer d, and access the data directly. While this
 ; is not very clean, it gives better and shorter code.
 ;
-; static void out (struct outdesc* d, const char* buf, unsigned count)
+; static void cdecl out (struct outdesc* d, const char* buf, unsigned count)
 ; /* Routine used for writing */
 ; {
 ;     register size_t cnt;
@@ -56,7 +56,7 @@ out:    ldy     #5
         ldy     #7
         jsr     pushwysp        ; Push count
         lda     ptr
-        ldx     ptr+1   
+        ldx     ptr+1
         jsr     _fwrite
         sta     ptr1            ; Save function result
         stx     ptr1+1
index db82bdaf3b8fbb6a7254a4a19143e308c4381675..a8ed50e065395c4a8e95d178a674fb81ea1e9968 100644 (file)
@@ -1,5 +1,5 @@
 ;
-; int vsnprintf (char* Buf, size_t size, const char* Format, va_list ap);
+; int __fastcall__ vsnprintf (char* Buf, size_t size, const char* Format, va_list ap);
 ;
 ; Ullrich von Bassewitz, 2009-09-26
 ;
@@ -130,7 +130,7 @@ L9:     pla
 ; ----------------------------------------------------------------------------
 ; Callback routine used for the actual output.
 ;
-; static void out (struct outdesc* d, const char* buf, unsigned count)
+; static void __cdecl__ out (struct outdesc* d, const char* buf, unsigned count)
 ; /* Routine used for writing */
 ;
 ; Since we know, we're called with a pointer to our static outdesc structure,