Mercurial > projects > ldc
comparison dmd/mtype.c @ 387:cbb65e65236b
Fix argument types for wchar/char reverse and sort.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Thu, 24 Jul 2008 18:20:40 +0200 |
parents | d632801b15f0 |
children | 722f5e90c39c |
comparison
equal
deleted
inserted
replaced
386:1fd4cacea60e | 387:cbb65e65236b |
---|---|
1545 static char *name[2] = { "_adReverseChar", "_adReverseWchar" }; | 1545 static char *name[2] = { "_adReverseChar", "_adReverseWchar" }; |
1546 | 1546 |
1547 nm = name[n->ty == Twchar]; | 1547 nm = name[n->ty == Twchar]; |
1548 //LLVMDC: Build arguments. | 1548 //LLVMDC: Build arguments. |
1549 Arguments* args = new Arguments; | 1549 Arguments* args = new Arguments; |
1550 Type* arrty = n->ty == Twchar ? Type::tchar->arrayOf() : Type::twchar->arrayOf(); | 1550 Type* arrty = n->ty == Twchar ? Type::twchar->arrayOf() : Type::tchar->arrayOf(); |
1551 args->push(new Argument(STCin, arrty, NULL, NULL)); | 1551 args->push(new Argument(STCin, arrty, NULL, NULL)); |
1552 fd = FuncDeclaration::genCfunc(args, Type::tvoid->arrayOf(), nm); | 1552 fd = FuncDeclaration::genCfunc(args, arrty, nm); |
1553 | 1553 |
1554 ec = new VarExp(0, fd); | 1554 ec = new VarExp(0, fd); |
1555 e = e->castTo(sc, n->arrayOf()); // convert to dynamic array | 1555 e = e->castTo(sc, n->arrayOf()); // convert to dynamic array |
1556 arguments = new Expressions(); | 1556 arguments = new Expressions(); |
1557 arguments->push(e); | 1557 arguments->push(e); |
1567 static char *name[2] = { "_adSortChar", "_adSortWchar" }; | 1567 static char *name[2] = { "_adSortChar", "_adSortWchar" }; |
1568 | 1568 |
1569 nm = name[n->ty == Twchar]; | 1569 nm = name[n->ty == Twchar]; |
1570 //LLVMDC: Build arguments. | 1570 //LLVMDC: Build arguments. |
1571 Arguments* args = new Arguments; | 1571 Arguments* args = new Arguments; |
1572 Type* arrty = n->ty == Twchar ? Type::tchar->arrayOf() : Type::twchar->arrayOf(); | 1572 Type* arrty = n->ty == Twchar ? Type::twchar->arrayOf() : Type::tchar->arrayOf(); |
1573 args->push(new Argument(STCin, arrty, NULL, NULL)); | 1573 args->push(new Argument(STCin, arrty, NULL, NULL)); |
1574 fd = FuncDeclaration::genCfunc(args, Type::tvoid->arrayOf(), nm); | 1574 fd = FuncDeclaration::genCfunc(args, arrty, nm); |
1575 | 1575 |
1576 ec = new VarExp(0, fd); | 1576 ec = new VarExp(0, fd); |
1577 e = e->castTo(sc, n->arrayOf()); // convert to dynamic array | 1577 e = e->castTo(sc, n->arrayOf()); // convert to dynamic array |
1578 arguments = new Expressions(); | 1578 arguments = new Expressions(); |
1579 arguments->push(e); | 1579 arguments->push(e); |