Mercurial > projects > ldc
comparison dmd/interpret.c @ 1620:0333945a915e
Merge DMD r310: bugzilla 3645 manifest constant (enum) crashes dmd
---
dmd/interpret.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:22 -0300 |
parents | c61782a76dff |
children | fb2e6707ad17 |
comparison
equal
deleted
inserted
replaced
1619:c61782a76dff | 1620:0333945a915e |
---|---|
226 printf("interpreted arg[%d] = %s\n", i, earg->toChars()); | 226 printf("interpreted arg[%d] = %s\n", i, earg->toChars()); |
227 #endif | 227 #endif |
228 } | 228 } |
229 } | 229 } |
230 // Don't restore the value of 'this' upon function return | 230 // Don't restore the value of 'this' upon function return |
231 if (needThis() && thisarg->op==TOKvar) { | 231 if (needThis() && thisarg->op == TOKvar && istate) |
232 { | |
232 VarDeclaration *thisvar = ((VarExp *)(thisarg))->var->isVarDeclaration(); | 233 VarDeclaration *thisvar = ((VarExp *)(thisarg))->var->isVarDeclaration(); |
233 for (size_t i = 0; i < istate->vars.dim; i++) | 234 for (size_t i = 0; i < istate->vars.dim; i++) |
234 { VarDeclaration *v = (VarDeclaration *)istate->vars.data[i]; | 235 { VarDeclaration *v = (VarDeclaration *)istate->vars.data[i]; |
235 if (v == thisvar) | 236 if (v == thisvar) |
236 { istate->vars.data[i] = NULL; | 237 { istate->vars.data[i] = NULL; |