diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalConstructor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalConstructor.java index 6339c3c0eae..32d0f94b9c6 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalConstructor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalConstructor.java @@ -258,8 +258,13 @@ public final class EvalConstructor extends CPPDependentEvaluation { private static ICPPEvaluation[] evaluateArguments(IASTInitializerClause... clauses) { ICPPEvaluation[] args = new ICPPEvaluation[clauses.length]; for (int i = 0; i < clauses.length; i++) { - ICPPEvaluationOwner clause = (ICPPEvaluationOwner) clauses[i]; - args[i] = clause.getEvaluation(); + IASTInitializerClause initializerClause = clauses[i]; + if (initializerClause instanceof ICPPEvaluationOwner) { + ICPPEvaluationOwner clause = (ICPPEvaluationOwner) initializerClause; + args[i] = clause.getEvaluation(); + } else { + args[i] = EvalFixed.INCOMPLETE; + } } return args; }