Fix overload resolution issue in dmd bug 313/314 fix.

This commit is contained in:
Christian Kamm
2009-05-16 12:17:33 +02:00
parent 62e8384da0
commit 53c3ac0313
13 changed files with 74 additions and 53 deletions

View File

@@ -749,7 +749,7 @@ void TypeInfoStructDeclaration::llvmDefine()
fdx = s ? s->isFuncDeclaration() : NULL;
if (fdx)
{
fd = fdx->overloadExactMatch(tftohash);
fd = fdx->overloadExactMatch(tftohash, getModule());
if (fd) {
fd->codegen(Type::sir);
assert(fd->ir.irFunc->func != 0);
@@ -775,7 +775,7 @@ void TypeInfoStructDeclaration::llvmDefine()
ptty = isaPointer(stype->getElementType(5+i));
if (fdx)
{
fd = fdx->overloadExactMatch(tfeqptr);
fd = fdx->overloadExactMatch(tfeqptr, getModule());
if (fd) {
fd->codegen(Type::sir);
assert(fd->ir.irFunc->func != 0);
@@ -803,7 +803,7 @@ void TypeInfoStructDeclaration::llvmDefine()
fdx = s ? s->isFuncDeclaration() : NULL;
if (fdx)
{
fd = fdx->overloadExactMatch(tftostring);
fd = fdx->overloadExactMatch(tftostring, getModule());
if (fd) {
fd->codegen(Type::sir);
assert(fd->ir.irFunc->func != 0);