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 1985379bfa0..fbd78fe3cd2 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 @@ -10193,4 +10193,16 @@ public class AST2TemplateTests extends AST2TestBase { public void testDependentSizeofInDefaultArgument_513430() throws Exception { parseAndCheckBindings(); } + + // template + // struct A; + // + // template + // struct A { + // A(int); + // A() : A(5) {} + // }; + public void testDelegatingConstructorInPartialSpecialization_512932() throws Exception { + parseAndCheckBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java index 0cba0c43894..e933baee8cf 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java @@ -404,8 +404,7 @@ public class CPPSemantics { && !(binding instanceof ICPPTemplateParameter) && !(lookupName instanceof ICPPASTTemplateId)) { ASTNodeProperty prop = lookupName.getPropertyInParent(); - if (prop != ICPPASTConstructorChainInitializer.MEMBER_ID && - prop != ICPPASTTemplateId.TEMPLATE_NAME && !lookupName.isQualified()) { + if (prop != ICPPASTTemplateId.TEMPLATE_NAME && !lookupName.isQualified()) { // You cannot use a class template name outside of the class template scope, // mark it as a problem. IBinding user= CPPTemplates.isUsedInClassTemplateScope((ICPPClassTemplate) binding, lookupName);