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