]> git.gag.com Git - fw/sdcc/commitdiff
a better fix for bug #436344
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 8 Sep 2001 13:26:09 +0000 (13:26 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 8 Sep 2001 13:26:09 +0000 (13:26 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1243 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCsymt.c

index b145bbe6197c95e97f355a4701b97c5cd1d3e302..72ba0d1fcf928fdd84273ef920367fbc76293f2e 100644 (file)
@@ -318,9 +318,19 @@ pointerTypes (sym_link * ptr, sym_link * type)
     ptr = ptr->next;
 
   /* could not find it */
+#if 0
   if (!ptr || IS_SPEC (ptr) ||
       DCL_TYPE(ptr)!=UPOINTER)
     return;
+#else
+  if (!ptr || IS_SPEC (ptr))
+    return;
+  
+  if (IS_PTR(ptr) && DCL_TYPE(ptr)!=UPOINTER) {
+    pointerTypes (ptr->next, type);
+    return;
+  }
+#endif
 
   /* change the pointer type depending on the
      storage class of the type */
@@ -441,6 +451,8 @@ addDecl (symbol * sym, int type, sym_link * p)
       DCL_TYPE (p) == UPOINTER &&
       DCL_TSPEC (p))
     {
+      fprintf (stderr, "This has to go!\n");
+      exit (43);
       if (!IS_SPEC (sym->etype))
        {
          sym->etype = sym->etype->next = newLink ();