diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java index f84ca590869..44390a4b466 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java @@ -2525,4 +2525,30 @@ public class IndexCPPTemplateResolutionTest extends IndexBindingResolutionTestBa public void testSpecializationOfConstexprFunction_420995() throws Exception { checkBindings(); } + + // template + // class waldo { + // enum { + // X = sizeof(TYPE), + // Y = 1 + // }; + // + // int value = X && 1; + // }; + // + // template struct A {}; + // + // template + // struct impl : A::value> {}; + // + // template + // struct meta : impl::type {}; + // + // template <> + // struct meta {}; + + // int z; + public void testEnumerationWithMultipleEnumerators_434467() throws Exception { + checkBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumScope.java index 3930bd5badb..ce4159f068c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumScope.java @@ -159,7 +159,7 @@ class PDOMCPPEnumScope implements ICPPEnumScope, IIndexScope { Reference> cached= (Reference>) pdom.getCachedResult(key); CharArrayMap map= cached == null ? null : cached.get(); if (map != null) { - map.put(enumType.getNameCharArray(), enumItem); + map.put(enumItem.getNameCharArray(), enumItem); } }