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;