comparison dmd/declaration.c @ 50:6fcc08a4d406 trunk

[svn r54] Added support for nested delegates referencing parent's stack variables. Replaced tester.sh with a version written in D. A few bugfixes.
author lindquist
date Mon, 22 Oct 2007 15:40:56 +0200
parents 8b0e809563df
children b706170e24a9
comparison
equal deleted inserted replaced
49:e5c4bece7fa1 50:6fcc08a4d406
547 ctorinit = 0; 547 ctorinit = 0;
548 aliassym = NULL; 548 aliassym = NULL;
549 onstack = 0; 549 onstack = 0;
550 canassign = 0; 550 canassign = 0;
551 value = NULL; 551 value = NULL;
552 llvmNestedIndex = -1;
552 } 553 }
553 554
554 Dsymbol *VarDeclaration::syntaxCopy(Dsymbol *s) 555 Dsymbol *VarDeclaration::syntaxCopy(Dsymbol *s)
555 { 556 {
556 //printf("VarDeclaration::syntaxCopy(%s)\n", toChars()); 557 //printf("VarDeclaration::syntaxCopy(%s)\n", toChars());
1047 { 1048 {
1048 if (loc.filename) 1049 if (loc.filename)
1049 fdthis->getLevel(loc, fdv); 1050 fdthis->getLevel(loc, fdv);
1050 nestedref = 1; 1051 nestedref = 1;
1051 fdv->nestedFrameRef = 1; 1052 fdv->nestedFrameRef = 1;
1053 fdv->llvmNestedVars.insert(this);
1052 //printf("var %s in function %s is nested ref\n", toChars(), fdv->toChars()); 1054 //printf("var %s in function %s is nested ref\n", toChars(), fdv->toChars());
1053 } 1055 }
1054 } 1056 }
1055 } 1057 }
1056 1058