From: sandeep Date: Mon, 13 Mar 2000 19:01:43 +0000 (+0000) Subject: 1) fixed problem in global structure init X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=eb3443dee2ab03153648469a83a8dbd8e636ddb7;p=fw%2Fsdcc 1) fixed problem in global structure init git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@187 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/SDCCast.c b/src/SDCCast.c index fd7dce15..f2321e04 100644 --- a/src/SDCCast.c +++ b/src/SDCCast.c @@ -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) {