1) fixed problem in global structure init
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 13 Mar 2000 19:01:43 +0000 (19:01 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 13 Mar 2000 19:01:43 +0000 (19:01 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@187 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCast.c

index fd7dce15422ad171fa6f508ae33e341b5ada117d..f2321e04ddaab8f19f540773619aca83a806af1e 100644 (file)
@@ -595,7 +595,7 @@ ast *createIvalType ( ast *sym,link  *type, initList *ilist)
        ilist =  ilist->init.deep  ;
     
     iExpr = decorateType(resolveSymbols(list2expr(ilist)));
-    return newNode('=',sym,iExpr);
+    return decorateType(newNode('=',sym,iExpr));
 }
 
 /*-----------------------------------------------------------------*/
@@ -622,8 +622,8 @@ ast *createIvalStruct (ast *sym,link *type,initList *ilist)
        if (!iloop)
            break;
        sflds->implicit = 1;
-       lAst = decorateType(resolveSymbols(newNode('.',sym,
-                                                  newAst(EX_VALUE,symbolVal(sflds)))));
+       lAst = newNode(PTR_OP,newNode('&',sym,NULL),newAst(EX_VALUE,symbolVal(sflds)));
+       lAst = decorateType(resolveSymbols(lAst));
        rast = createIval (lAst, sflds->type, iloop,rast);
     }
     return rast ;
@@ -788,7 +788,7 @@ ast  *createIval  (ast *sym, link *type, initList *ilist, ast *wid)
 }
 
 /*-----------------------------------------------------------------*/
-/* initAggregates - initialises aggregate variables with initv */
+/* initAggregates - initialises aggregate variables with initv     */
 /*-----------------------------------------------------------------*/
 ast *initAggregates ( symbol *sym, initList *ival, ast *wid)
 {