Mercurial > projects > ldc
comparison dmd/statement.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 | 288fe1029e1f |
children | 0ab29b838084 |
comparison
equal
deleted
inserted
replaced
135:176bd52b3cf5 | 136:0e28624814e8 |
---|---|
1429 */ | 1429 */ |
1430 if (dim == 2) | 1430 if (dim == 2) |
1431 fdapply = FuncDeclaration::genCfunc(Type::tindex, "_aaApply2"); | 1431 fdapply = FuncDeclaration::genCfunc(Type::tindex, "_aaApply2"); |
1432 else | 1432 else |
1433 fdapply = FuncDeclaration::genCfunc(Type::tindex, "_aaApply"); | 1433 fdapply = FuncDeclaration::genCfunc(Type::tindex, "_aaApply"); |
1434 fdapply->llvmRunTimeHack = true; | 1434 fdapply->runTimeHack = true; |
1435 ec = new VarExp(0, fdapply); | 1435 ec = new VarExp(0, fdapply); |
1436 Expressions *exps = new Expressions(); | 1436 Expressions *exps = new Expressions(); |
1437 exps->push(aggr); | 1437 exps->push(aggr); |
1438 size_t keysize = taa->key->size(); | 1438 size_t keysize = taa->key->size(); |
1439 keysize = (keysize + 3) & ~3; | 1439 keysize = (keysize + 3) & ~3; |
1471 } | 1471 } |
1472 const char *r = (op == TOKforeach_reverse) ? "R" : ""; | 1472 const char *r = (op == TOKforeach_reverse) ? "R" : ""; |
1473 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); | 1473 int j = sprintf(fdname, "_aApply%s%.*s%d", r, 2, fntab[flag], dim); |
1474 assert(j < sizeof(fdname)); | 1474 assert(j < sizeof(fdname)); |
1475 fdapply = FuncDeclaration::genCfunc(Type::tindex, fdname); | 1475 fdapply = FuncDeclaration::genCfunc(Type::tindex, fdname); |
1476 fdapply->llvmRunTimeHack = true; | 1476 fdapply->runTimeHack = true; |
1477 | 1477 |
1478 ec = new VarExp(0, fdapply); | 1478 ec = new VarExp(0, fdapply); |
1479 Expressions *exps = new Expressions(); | 1479 Expressions *exps = new Expressions(); |
1480 if (tab->ty == Tsarray) | 1480 if (tab->ty == Tsarray) |
1481 aggr = aggr->castTo(sc, tn->arrayOf()); | 1481 aggr = aggr->castTo(sc, tn->arrayOf()); |