added missing storage class adjustment
authorkmh <kmh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 9 Dec 2001 20:16:20 +0000 (20:16 +0000)
committerkmh <kmh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 9 Dec 2001 20:16:20 +0000 (20:16 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1669 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCast.c

index f5e17f81085b57c0d2e8ea85e6e56187831f91d8..f0e2e00daae8d5ce9f189403a2bc3843fa1d0af8 100644 (file)
@@ -2025,6 +2025,33 @@ decorateType (ast * tree)
                                     (tree->right->type == EX_VALUE ?
                               tree->right->opval.val : NULL));
       TETYPE (tree) = getSpec (TTYPE (tree));
+
+      /* adjust the storage class */
+      switch (DCL_TYPE(tree->left->ftype)) {
+      case POINTER:
+       break;
+      case FPOINTER:
+               SPEC_SCLS(TETYPE(tree)) = S_XDATA; 
+       break;
+      case CPOINTER:
+               SPEC_SCLS(TETYPE(tree)) = S_CODE; 
+       break;
+      case GPOINTER:
+       break;
+      case PPOINTER:
+               SPEC_SCLS(TETYPE(tree)) = S_XSTACK; 
+       break;
+      case IPOINTER:
+               SPEC_SCLS(TETYPE(tree)) = S_IDATA;
+       break;
+      case EEPPOINTER:
+               SPEC_SCLS(TETYPE(tree)) = S_EEPROM;
+       break;
+      case UPOINTER:
+      case ARRAY:
+      case FUNCTION:
+      }
+
       return tree;
 
 /*------------------------------------------------------------------*/