diff options
author | Nathan Ridge | 2013-09-08 04:47:54 +0000 |
---|---|---|
committer | Sergey Prigogin | 2013-09-09 16:53:45 +0000 |
commit | 6631c857b996d332e9c7a455e327322e0c372c24 (patch) | |
tree | a470d1941ecc4bdbfc1d4745003157f745034f83 | |
parent | 6856d55b68a7b7f82ab1b9e56a7b7462029b748f (diff) | |
download | org.eclipse.cdt-6631c857b996d332e9c7a455e327322e0c372c24.tar.gz org.eclipse.cdt-6631c857b996d332e9c7a455e327322e0c372c24.tar.xz org.eclipse.cdt-6631c857b996d332e9c7a455e327322e0c372c24.zip |
Bug 416788 - [regression] "Member declaration not found" for member of
template specialization
Change-Id: I388ea1f7dc6ff2bf315958960a113e9110acd9c8
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
Reviewed-on: https://git.eclipse.org/r/16207
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2 files changed, 21 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java index 8e258b4da25..79df6f44e9c 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java @@ -8076,4 +8076,24 @@ public class AST2TemplateTests extends AST2TestBase { helper.assertNonProblem("decltype(foo(T()))::type"); assertSameType((ITypedef) helper.assertNonProblem("U<S>::type"), CommonTypes.int_); } + + // namespace N { + // template <typename> + // struct C; + // + // template <typename T> + // struct C<T*> { + // C(); + // void waldo(); + // }; + // + // template <typename T> + // C<T*>::C() {} + // + // template <typename T> + // void C<T*>::waldo() {} + // } + public void testMemberOfPartialSpecialization_416788() throws Exception { + parseAndCheckBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java index c4b2729e587..205e9de5480 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNamespaceScope.java @@ -163,7 +163,7 @@ public class CPPNamespaceScope extends CPPScope implements ICPPInternalNamespace IScope scope= this; ICPPASTNameSpecifier[] segments= name.getQualifier(); try { - for (int i= segments.length - 1; --i >= 0;) { + for (int i= segments.length; --i >= 0;) { if (scope == null) return false; IName scopeName = scope.getScopeName(); |