* src/SDCCsymt.c (processFuncArgs): make sure parameter types
authorepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 28 Aug 2004 05:48:48 +0000 (05:48 +0000)
committerepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 28 Aug 2004 05:48:48 +0000 (05:48 +0000)
are sane and complete before asking the port its prefered parameter
passing method (fixes bug #1017633)
* device/lib/hc08/_ret.c: added "data" storage class to _ret2
and _ret3

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3455 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/hc08/_ret.c
src/SDCCsymt.c

index 1a5db842b5e56c40a95bbde9961ba9fb8ab5f310..b3312311a025a725367d5d14c928f44026095382 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (processFuncArgs): make sure parameter types
+       are sane and complete before asking the port its prefered parameter
+       passing method (fixes bug #1017633)
+       * device/lib/hc08/_ret.c: added "data" storage class to _ret2
+       and _ret3
+
 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
index 0abb592a6116df05df49b7faf268b460206042b6..bdfbf40bc81c0fe9b8215e967eba099a38c7d064 100644 (file)
@@ -1,3 +1,3 @@
 
-unsigned char _ret2;
-unsigned char _ret3;
+data unsigned char _ret2;
+data unsigned char _ret3;
index fe717e90001655c742a3e69fed8f23eea370b8c6..6b856b4380f5c2798910bf4eb8dcdf58cabeb813 100644 (file)
@@ -2475,7 +2475,12 @@ processFuncArgs (symbol * func)
   /* change it to pointer to the same type */
   while (val)
     {
-        int argreg = 0;
+      int argreg = 0;
+      char buffer[SDCC_NAME_MAX+1];
+      
+      SNPRINTF (buffer, sizeof(buffer), "%s parameter %d", func->name, pNum);
+      checkTypeSanity (val->etype, buffer);
+      
       /* mark it as a register parameter if
          the function does not have VA_ARG
          and as port dictates */