# HG changeset patch # User Tomas Lindquist Olsen # Date 1226472116 -3600 # Node ID f08e0ff8d28c17e1ab6e9ee3afe5cc09326ec492 # Parent 8e7d4ddab66d7db7885f71592d4d39e2737d6f68 Fixed 32bit assumption in statement.c when calling aaApply(2). diff -r 8e7d4ddab66d -r f08e0ff8d28c dmd/statement.c --- a/dmd/statement.c Wed Nov 12 07:23:34 2008 +0100 +++ b/dmd/statement.c Wed Nov 12 07:41:56 2008 +0100 @@ -1638,7 +1638,7 @@ Expressions *exps = new Expressions(); exps->push(aggr); size_t keysize = taa->key->size(); - keysize = (keysize + 3) & ~3; + keysize = (keysize + (PTRSIZE-1)) & ~(PTRSIZE-1); exps->push(new IntegerExp(0, keysize, Type::tsize_t)); // LDC paint delegate argument to the type runtime expects diff -r 8e7d4ddab66d -r f08e0ff8d28c dmd2/statement.c --- a/dmd2/statement.c Wed Nov 12 07:23:34 2008 +0100 +++ b/dmd2/statement.c Wed Nov 12 07:41:56 2008 +0100 @@ -1652,7 +1652,7 @@ Expressions *exps = new Expressions(); exps->push(aggr); size_t keysize = taa->index->size(); - keysize = (keysize + 3) & ~3; + keysize = (keysize + (PTRSIZE-1)) & ~(PTRSIZE-1); exps->push(new IntegerExp(0, keysize, Type::tsize_t)); // LDC paint delegate argument to the type runtime expects