diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionBugs.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionBugs.java index b53754d3668..bca19402d2b 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionBugs.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionBugs.java @@ -54,6 +54,27 @@ public class IndexCPPBindingResolutionBugs extends IndexBindingResolutionTestBas setStrategy(new SinglePDOMTestStrategy(true)); } + // template + // class C : public C {}; + + // void foo() { + // C::unresolvable(); + // }; + public void _test185828() throws Exception { + // Bug 185828 reports a StackOverflowException is thrown before we get here. + // That the SOE is thrown is detected in BaseTestCase via an Error IStatus + + IBinding b0= getBindingFromASTName("C", 1); + IBinding b1= getBindingFromASTName("C", 6, true); + IBinding b2= getProblemFromASTName("unresolvable", 12); + + assertInstance(b0, ICPPClassType.class); + assertInstance(b0, ICPPClassTemplate.class); + + assertInstance(b1, ICPPClassType.class); + assertInstance(b1, ICPPSpecialization.class); + } + // class MyClass { // public: // template