summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2013-01-30 02:10:08 +0000
committerDouglas Gregor <dgregor@apple.com>2013-01-30 02:10:08 +0000
commit29d18a8b93b6a8bf546211093534a747055f556b (patch)
tree05e5c4c8e69b085e60b8d75aad0e795633158d9c
parent1bd90ff6cc7de818c824b7ff5c84d6b34ca82095 (diff)
downloadbcm5719-llvm-29d18a8b93b6a8bf546211093534a747055f556b.tar.gz
bcm5719-llvm-29d18a8b93b6a8bf546211093534a747055f556b.zip
Unresolved lookups can have using declarations that refer to
unresolved using declarations. Fixes PR14768 / <rdar://problem/13030296>. llvm-svn: 173883
-rw-r--r--clang/include/clang/Sema/Lookup.h2
-rw-r--r--clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/clang/include/clang/Sema/Lookup.h b/clang/include/clang/Sema/Lookup.h
index 68b36e7d3ca..3e7e3a16ebc 100644
--- a/clang/include/clang/Sema/Lookup.h
+++ b/clang/include/clang/Sema/Lookup.h
@@ -625,7 +625,7 @@ private:
bool sanityCheckUnresolved() const {
for (iterator I = begin(), E = end(); I != E; ++I)
- if (isa<UnresolvedUsingValueDecl>(*I))
+ if (isa<UnresolvedUsingValueDecl>((*I)->getUnderlyingDecl()))
return true;
return false;
}
diff --git a/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp b/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp
index ae40062fe14..a38ff15525d 100644
--- a/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp
+++ b/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp
@@ -33,3 +33,12 @@ namespace test1 {
}
}
+// PR 14768
+namespace PR14768 {
+ template<typename eT> class Mat;
+ template<typename eT> class Col : public Mat<eT> {
+ using Mat<eT>::operator();
+ using Col<eT>::operator();
+ void operator() ();
+ };
+}
OpenPOWER on IntegriCloud