Mercurial > projects > ldc
comparison dmd/statement.c @ 664:eef8ac26c66c
Some missed LLVMDC -> LDC.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 06 Oct 2008 22:54:08 +0200 |
parents | 6aee82889553 |
children | 30b42a283c8e |
comparison
equal
deleted
inserted
replaced
663:6aaa3d3c1183 | 664:eef8ac26c66c |
---|---|
1596 error("foreach: value must be type %s, not %s", taa->nextOf()->toChars(), arg->type->toChars()); | 1596 error("foreach: value must be type %s, not %s", taa->nextOf()->toChars(), arg->type->toChars()); |
1597 | 1597 |
1598 /* Call: | 1598 /* Call: |
1599 * _aaApply(aggr, keysize, flde) | 1599 * _aaApply(aggr, keysize, flde) |
1600 */ | 1600 */ |
1601 //LLVMDC: Build arguments. | 1601 //LDC: Build arguments. |
1602 static FuncDeclaration *aaApply2_fd = NULL; | 1602 static FuncDeclaration *aaApply2_fd = NULL; |
1603 if(!aaApply2_fd) { | 1603 if(!aaApply2_fd) { |
1604 Arguments* args = new Arguments; | 1604 Arguments* args = new Arguments; |
1605 args->push(new Argument(STCin, Type::topaque->pointerTo(), NULL, NULL)); | 1605 args->push(new Argument(STCin, Type::topaque->pointerTo(), NULL, NULL)); |
1606 args->push(new Argument(STCin, Type::tsize_t, NULL, NULL)); | 1606 args->push(new Argument(STCin, Type::tsize_t, NULL, NULL)); |
1665 default: assert(0); | 1665 default: assert(0); |
1666 } | 1666 } |
1667 const char *r = (op == TOKforeach_reverse) ? "R" : ""; | 1667 const char *r = (op == TOKforeach_reverse) ? "R" : ""; |
1668 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); | 1668 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); |
1669 assert(j < sizeof(fdname)); | 1669 assert(j < sizeof(fdname)); |
1670 //LLVMDC: Build arguments. | 1670 //LDC: Build arguments. |
1671 Arguments* args = new Arguments; | 1671 Arguments* args = new Arguments; |
1672 args->push(new Argument(STCin, Type::topaque->arrayOf(), NULL, NULL)); | 1672 args->push(new Argument(STCin, Type::topaque->arrayOf(), NULL, NULL)); |
1673 if (dim == 2) { | 1673 if (dim == 2) { |
1674 Arguments* dgargs = new Arguments; | 1674 Arguments* dgargs = new Arguments; |
1675 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); | 1675 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); |
2241 condition = c; | 2241 condition = c; |
2242 body = b; | 2242 body = b; |
2243 sdefault = NULL; | 2243 sdefault = NULL; |
2244 cases = NULL; | 2244 cases = NULL; |
2245 hasNoDefault = 0; | 2245 hasNoDefault = 0; |
2246 // LLVMDC | 2246 // LDC |
2247 enclosinghandler = NULL; | 2247 enclosinghandler = NULL; |
2248 } | 2248 } |
2249 | 2249 |
2250 Statement *SwitchStatement::syntaxCopy() | 2250 Statement *SwitchStatement::syntaxCopy() |
2251 { | 2251 { |
3198 { | 3198 { |
3199 this->exp = exp; | 3199 this->exp = exp; |
3200 this->body = body; | 3200 this->body = body; |
3201 this->esync = NULL; | 3201 this->esync = NULL; |
3202 this->enclosinghandler = NULL; | 3202 this->enclosinghandler = NULL; |
3203 // LLVMDC | 3203 // LDC |
3204 this->llsync = NULL; | 3204 this->llsync = NULL; |
3205 } | 3205 } |
3206 | 3206 |
3207 SynchronizedStatement::SynchronizedStatement(Loc loc, elem *esync, Statement *body) | 3207 SynchronizedStatement::SynchronizedStatement(Loc loc, elem *esync, Statement *body) |
3208 : Statement(loc) | 3208 : Statement(loc) |
3209 { | 3209 { |
3210 this->exp = NULL; | 3210 this->exp = NULL; |
3211 this->body = body; | 3211 this->body = body; |
3212 this->esync = esync; | 3212 this->esync = esync; |
3213 this->enclosinghandler = NULL; | 3213 this->enclosinghandler = NULL; |
3214 // LLVMDC | 3214 // LDC |
3215 this->llsync = NULL; | 3215 this->llsync = NULL; |
3216 } | 3216 } |
3217 | 3217 |
3218 Statement *SynchronizedStatement::syntaxCopy() | 3218 Statement *SynchronizedStatement::syntaxCopy() |
3219 { | 3219 { |
3959 sc->slabel = this; | 3959 sc->slabel = this; |
3960 if (statement) | 3960 if (statement) |
3961 statement = statement->semantic(sc); | 3961 statement = statement->semantic(sc); |
3962 sc->pop(); | 3962 sc->pop(); |
3963 | 3963 |
3964 // LLVMDC put in labmap | 3964 // LDC put in labmap |
3965 fd->labmap[ident->toChars()] = this; | 3965 fd->labmap[ident->toChars()] = this; |
3966 | 3966 |
3967 return this; | 3967 return this; |
3968 } | 3968 } |
3969 | 3969 |