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));