comparison dmd/expression.c @ 136:0e28624814e8 trunk

[svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though
author lindquist
date Thu, 17 Jan 2008 03:15:12 +0100
parents 5825d48b27d1
children 0ab29b838084
comparison
equal deleted inserted replaced
135:176bd52b3cf5 136:0e28624814e8
3454 type = var->type->pointerTo(); 3454 type = var->type->pointerTo();
3455 VarDeclaration *v = var->isVarDeclaration(); 3455 VarDeclaration *v = var->isVarDeclaration();
3456 if (v) 3456 if (v)
3457 { 3457 {
3458 v->checkNestedReference(sc, loc); 3458 v->checkNestedReference(sc, loc);
3459 v->llvmNeedsStorage = true; 3459 v->needsStorage = true;
3460 } 3460 }
3461 return this; 3461 return this;
3462 } 3462 }
3463 3463
3464 int SymOffExp::isBool(int result) 3464 int SymOffExp::isBool(int result)
3599 3599
3600 VarDeclaration *v = var->isVarDeclaration(); 3600 VarDeclaration *v = var->isVarDeclaration();
3601 if (v && v->canassign == 0 && 3601 if (v && v->canassign == 0 &&
3602 (var->isConst() || (global.params.Dversion > 1 && var->isFinal()))) 3602 (var->isConst() || (global.params.Dversion > 1 && var->isFinal())))
3603 error("cannot modify final variable '%s'", var->toChars()); 3603 error("cannot modify final variable '%s'", var->toChars());
3604 v->llvmNeedsStorage = true; 3604 v->needsStorage = true;
3605 3605
3606 if (var->isCtorinit()) 3606 if (var->isCtorinit())
3607 { // It's only modifiable if inside the right constructor 3607 { // It's only modifiable if inside the right constructor
3608 Dsymbol *s = sc->func; 3608 Dsymbol *s = sc->func;
3609 while (1) 3609 while (1)
5885 e = e->semantic(sc); 5885 e = e->semantic(sc);
5886 return e; 5886 return e;
5887 } 5887 }
5888 else if (v) 5888 else if (v)
5889 { 5889 {
5890 v->llvmNeedsStorage = true; 5890 v->needsStorage = true;
5891 } 5891 }
5892 } 5892 }
5893 else if (e1->op == TOKarray) 5893 else if (e1->op == TOKarray)
5894 { 5894 {
5895 if (e1->type->toBasetype()->ty == Tbit) 5895 if (e1->type->toBasetype()->ty == Tbit)