diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionTest.java index 85f46fe55cb..c13d4e954f4 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPBindingResolutionTest.java @@ -2396,4 +2396,17 @@ public class IndexCPPBindingResolutionTest extends IndexBindingResolutionTestBas public void testFriendClassDeclaration_508338() throws Exception { getProblemFromFirstIdentifier("B*"); } + + // class waldo { + // static waldo instance; + // + // constexpr waldo() {} + // }; + // + // waldo waldo::instance; + + // // empty file + public void testStaticFieldOfEnclosingType_508254() throws Exception { + checkBindings(); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/CompositeValue.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/CompositeValue.java index 09da10c9269..3bb2101f05f 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/CompositeValue.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/CompositeValue.java @@ -216,6 +216,8 @@ public final class CompositeValue implements IValue { ICPPField[] fields = ClassTypeHelper.getDeclaredFields(classType, null); for (ICPPField field : fields) { + if (field.isStatic()) + continue; final ICPPEvaluation value = EvalUtil.getVariableValue(field, record); int fieldPos = CPPASTFieldReference.getFieldPosition(field); record.update(field, value);