some more fixes for initializations
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 13 Apr 2000 17:37:24 +0000 (17:37 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 13 Apr 2000 17:37:24 +0000 (17:37 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@235 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCglue.c

index 45a19c5d810809167ad4849594b83f55d8b2090c..cba43a440b7993b500de9475d4c79a7de6f1f89e 100644 (file)
@@ -540,14 +540,15 @@ int printIvalCharPtr (symbol * sym, link * type, value * val, FILE * oFile)
                    "\t!dbs\n", val->name) ;
            break;
        case 2:
-           tfprintf(oFile, "\t!dws\n", val->name);
+           tfprintf(oFile, "\t.byte %s,(%s >> 8)\n", val->name, val->name);
            break;
            /* PENDING: probably just 3 */
        default:
            /* PENDING: 0x02 or 0x%02x, CDATA? */
            fprintf (oFile,
-                    "\t.byte %s,(%s >> 8),#0x02\n",
-                    val->name, val->name);
+                    "\t.byte %s,(%s >> 8),#0x%02x\n",
+                    val->name, val->name, (IS_PTR(val->type) ? DCL_TYPE(val->type) :
+                                           PTR_TYPE(SPEC_OCLS(val->etype))));
        }
     }
     else {
@@ -631,8 +632,9 @@ void printIvalPtr (symbol * sym, link * type, initList * ilist, FILE * oFile)
        break;
        
     case 3:
-       fprintf (oFile, "\t.byte %s,(%s >> 8),#0x02\n",
-                val->name, val->name);
+       fprintf (oFile, "\t.byte %s,(%s >> 8),#0x%02x\n",
+                val->name, val->name,(IS_PTR(val->type) ? DCL_TYPE(val->type) :
+                                           PTR_TYPE(SPEC_OCLS(val->etype))));
     }
     return;
 }