Mercurial > projects > ldc
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 |