These restriction were too strict, I have to think this over again first
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 16 Sep 2001 16:22:20 +0000 (16:22 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 16 Sep 2001 16:22:20 +0000 (16:22 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1277 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCast.c
src/SDCCmem.c

index 673aae619ac32023650ae963b505f4b2d3cff0e7..c7a3538523c238a890d9510da329cb729398ba3e 100644 (file)
@@ -744,16 +744,20 @@ processParms (ast * func,
        }
     }
 
+
   /* the parameter type must be at least castable */
   if (compareType (defParm->type, actParm->ftype) == 0)
     {
       castError++;
     }
 
+#ifdef JWK20010916
   if (!IS_SPEC(defParm->type) && !IS_SPEC(actParm->ftype)) {
     // now we have two pointers, check if they point to the same
-    sym_link *dtype=defParm->type->next, *atype=actParm->ftype->next;
+    sym_link *dtype=defParm->type, *atype=actParm->ftype;
     do {
+      dtype=dtype->next;
+      atype=atype->next;
       if (
          (dtype->next && !atype->next) ||
          (!dtype->next && atype->next) ||
@@ -768,6 +772,8 @@ processParms (ast * func,
       }
     }
   }
+#endif
+
   if (castError) {
     werror (W_INCOMPAT_CAST);
     fprintf (stderr, "type --> '");
@@ -778,8 +784,6 @@ processParms (ast * func,
     fprintf (stderr, "'\n");
   }
 
-    
-
   /* if the parameter is castable then add the cast */
   if (compareType (defParm->type, actParm->ftype) < 0)
     {
index 890f81ea6d37ffcc0d422b11f4f8f871c4d47423..e5f13fa4d19cea48d1fd65c84808ca5688377891 100644 (file)
@@ -581,10 +581,12 @@ allocLocal (symbol * sym)
 
   /* this is automatic           */
 
+#ifdef JWK20010916
   if (!IS_SPEC(sym->type) && SPEC_OCLS(sym->etype)) {
     allocIntoSeg (sym);
     return;
   }
+#endif
 
   /* if it to be placed on the stack */
   if (options.stackAuto || reentrant) {