diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalFoldExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalFoldExpression.java index 5eb13634ab4..44d29f0e0ea 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalFoldExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalFoldExpression.java @@ -84,9 +84,6 @@ public class EvalFoldExpression extends CPPDependentEvaluation { @Override public boolean isTypeDependent() { - if (fType != null) { - return fType instanceof TypeOfDependentExpression; - } return containsDependentType(fPackEvals) || (fInitEval != null && fInitEval.isTypeDependent()); } @@ -122,7 +119,7 @@ public class EvalFoldExpression extends CPPDependentEvaluation { @Override public IType getType() { if (fType == null) { - if (isTypeDependent()) { + if (isTypeDependent() || isValueDependent()) { fType = new TypeOfDependentExpression(this); } else { fType = computeEvaluation().getType();