Mercurial > projects > ldc
comparison dmd/struct.c @ 1358:78038e540342
Fix overload resolution issue in dmd bug 313/314 fix.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 16 May 2009 12:17:33 +0200 |
parents | e961851fb8be |
children | 8026319762be |
comparison
equal
deleted
inserted
replaced
1357:48747003a5de | 1358:78038e540342 |
---|---|
344 for (int i = 0; i < 2; i++) | 344 for (int i = 0; i < 2; i++) |
345 { | 345 { |
346 Dsymbol *s = search_function(this, id); | 346 Dsymbol *s = search_function(this, id); |
347 FuncDeclaration *fdx = s ? s->isFuncDeclaration() : NULL; | 347 FuncDeclaration *fdx = s ? s->isFuncDeclaration() : NULL; |
348 if (fdx) | 348 if (fdx) |
349 { FuncDeclaration *fd = fdx->overloadExactMatch(tfeqptr); | 349 { FuncDeclaration *fd = fdx->overloadExactMatch(tfeqptr, getModule()); |
350 if (!fd) | 350 if (!fd) |
351 { fd = fdx->overloadExactMatch(tfeq); | 351 { fd = fdx->overloadExactMatch(tfeq, getModule()); |
352 if (fd) | 352 if (fd) |
353 { // Create the thunk, fdptr | 353 { // Create the thunk, fdptr |
354 FuncDeclaration *fdptr = new FuncDeclaration(loc, loc, fdx->ident, STCundefined, tfeqptr); | 354 FuncDeclaration *fdptr = new FuncDeclaration(loc, loc, fdx->ident, STCundefined, tfeqptr); |
355 Expression *e = new IdentifierExp(loc, Id::p); | 355 Expression *e = new IdentifierExp(loc, Id::p); |
356 e = new PtrExp(loc, e); | 356 e = new PtrExp(loc, e); |