diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalTypeId.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalTypeId.java index 1abb5425a0a..85bd7612c16 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalTypeId.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalTypeId.java @@ -158,7 +158,7 @@ public class EvalTypeId extends CPPDependentEvaluation { return CompositeValue.create(classType); } else if (ctor == AGGREGATE_INITIALIZATION) { return CompositeValue.create(new EvalInitList(fArguments, getTemplateDefinition()), classType); - } else if (ctor != null) { + } else if (ctor instanceof ICPPConstructor) { EvalConstructor evalCtor = new EvalConstructor(classType, (ICPPConstructor) ctor, fArguments, getTemplateDefinition()); ICPPEvaluation computedEvalCtor = evalCtor.computeForFunctionCall(new ActivationRecord(),