Mercurial > projects > ldc
comparison dmd/statement.c @ 380:2bf65352fb28
Mixed up argument types for aApply and aaApply.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Wed, 23 Jul 2008 17:55:20 +0200 |
parents | d632801b15f0 |
children | 722f5e90c39c |
comparison
equal
deleted
inserted
replaced
379:d632801b15f0 | 380:2bf65352fb28 |
---|---|
1598 /* Call: | 1598 /* Call: |
1599 * _aaApply(aggr, keysize, flde) | 1599 * _aaApply(aggr, keysize, flde) |
1600 */ | 1600 */ |
1601 //LLVMDC: Build arguments. | 1601 //LLVMDC: Build arguments. |
1602 Arguments* args = new Arguments; | 1602 Arguments* args = new Arguments; |
1603 args->push(new Argument(STCin, Type::topaque->arrayOf(), NULL, NULL)); | 1603 args->push(new Argument(STCin, Type::topaque->pointerTo(), NULL, NULL)); |
1604 args->push(new Argument(STCin, Type::tsize_t, NULL, NULL)); | 1604 args->push(new Argument(STCin, Type::tsize_t, NULL, NULL)); |
1605 if (dim == 2) { | 1605 if (dim == 2) { |
1606 Arguments* dgargs = new Arguments; | 1606 Arguments* dgargs = new Arguments; |
1607 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); | 1607 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); |
1608 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); | 1608 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); |
1656 const char *r = (op == TOKforeach_reverse) ? "R" : ""; | 1656 const char *r = (op == TOKforeach_reverse) ? "R" : ""; |
1657 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); | 1657 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); |
1658 assert(j < sizeof(fdname)); | 1658 assert(j < sizeof(fdname)); |
1659 //LLVMDC: Build arguments. | 1659 //LLVMDC: Build arguments. |
1660 Arguments* args = new Arguments; | 1660 Arguments* args = new Arguments; |
1661 args->push(new Argument(STCin, Type::topaque->pointerTo(), NULL, NULL)); | 1661 args->push(new Argument(STCin, Type::topaque->arrayOf(), NULL, NULL)); |
1662 if (dim == 2) { | 1662 if (dim == 2) { |
1663 Arguments* dgargs = new Arguments; | 1663 Arguments* dgargs = new Arguments; |
1664 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); | 1664 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); |
1665 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); | 1665 dgargs->push(new Argument(STCin, Type::tvoidptr, NULL, NULL)); |
1666 TypeDelegate* dgty = new TypeDelegate(new TypeFunction(dgargs, Type::tindex, 0, LINKd)); | 1666 TypeDelegate* dgty = new TypeDelegate(new TypeFunction(dgargs, Type::tindex, 0, LINKd)); |