aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-26 06:04:06 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-26 06:04:06 +0000
commita113e7263c5337731c65fada9de7ff72af25423b (patch)
tree523d7fdb7af84813eb0923dc3c7b22e1a65fb244 /lib/Sema/SemaOverload.cpp
parentdbdad6d9330603ab1c11bf9f2a9ea294b56babf6 (diff)
Allow ADL to find functions imported by using decls. Leave wordy comment
about interaction between ADL and default arguments. Shrug shoulders, commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94524 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r--lib/Sema/SemaOverload.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
index 54db885e23..a4c11b077a 100644
--- a/lib/Sema/SemaOverload.cpp
+++ b/lib/Sema/SemaOverload.cpp
@@ -4133,8 +4133,13 @@ Sema::AddArgumentDependentLookupCandidates(DeclarationName Name,
bool PartialOverloading) {
ADLFunctionSet Functions;
- // FIXME: Should we be trafficking in canonical function decls throughout?
-
+ // FIXME: This approach for uniquing ADL results (and removing
+ // redundant candidates from the set) relies on pointer-equality,
+ // which means we need to key off the canonical decl. However,
+ // always going back to the canonical decl might not get us the
+ // right set of default arguments. What default arguments are
+ // we supposed to consider on ADL candidates, anyway?
+
// FIXME: Pass in the explicit template arguments?
ArgumentDependentLookup(Name, Operator, Args, NumArgs, Functions);