comparison dmd/mtype.c @ 771:bfabbac8e705

Fixed 64bit problem with aaValues runtime calls (assumed 32bits)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 16 Nov 2008 20:42:45 +0100
parents 05e7657a7811
children cd7da2ba14d1
comparison
equal deleted inserted replaced
770:50eae902f77e 771:bfabbac8e705
2417 2417
2418 ec = new VarExp(0, aaValues_fd); 2418 ec = new VarExp(0, aaValues_fd);
2419 arguments = new Expressions(); 2419 arguments = new Expressions();
2420 arguments->push(e); 2420 arguments->push(e);
2421 size_t keysize = key->size(e->loc); 2421 size_t keysize = key->size(e->loc);
2422 keysize = (keysize + 4 - 1) & ~(4 - 1); 2422 keysize = (keysize + PTRSIZE - 1) & ~(PTRSIZE - 1);
2423 arguments->push(new IntegerExp(0, keysize, Type::tsize_t)); 2423 arguments->push(new IntegerExp(0, keysize, Type::tsize_t));
2424 arguments->push(new IntegerExp(0, next->size(e->loc), Type::tsize_t)); 2424 arguments->push(new IntegerExp(0, next->size(e->loc), Type::tsize_t));
2425 e = new CallExp(e->loc, ec, arguments); 2425 e = new CallExp(e->loc, ec, arguments);
2426 e->type = next->arrayOf(); 2426 e->type = next->arrayOf();
2427 } 2427 }