1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-04 07:35:24 +02:00

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>
This commit is contained in:
Nathan Ridge 2013-09-08 00:47:54 -04:00 committed by Sergey Prigogin
parent 27f5b2b057
commit a2a8a1dd8c
2 changed files with 21 additions and 1 deletions

View file

@ -8036,4 +8036,24 @@ public class AST2TemplateTests extends AST2TestBase {
public void testOutOfLineMethodOfPartialSpecialization_401152() throws Exception { public void testOutOfLineMethodOfPartialSpecialization_401152() throws Exception {
parseAndCheckBindings(); parseAndCheckBindings();
} }
// 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();
}
} }

View file

@ -160,7 +160,7 @@ public class CPPNamespaceScope extends CPPScope implements ICPPInternalNamespace
IScope scope= this; IScope scope= this;
IASTName[] segments= name.getNames(); IASTName[] segments= name.getNames();
try { try {
for (int i= segments.length - 1; --i >= 0;) { for (int i= segments.length; --i >= 0;) {
if (scope == null) if (scope == null)
return false; return false;
IName scopeName = scope.getScopeName(); IName scopeName = scope.getScopeName();