diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java index f483a0c25c8..2e62f688e45 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java @@ -953,10 +953,10 @@ public class CPPVisitor { IASTExpression owner = fieldReference.getFieldOwner(); IType type = getExpressionType(owner); if (fieldReference.isPointerDereference()) { - type= getUltimateTypeUptoPointers(type); // bug 205964: as long as the type is a class type, recurse. // Be defensive and allow a max of 10 levels. for (int j = 0; j < 10; j++) { + type= getUltimateTypeUptoPointers(type); if (type instanceof ICPPClassType) { ICPPFunction op = CPPSemantics.findOperator(fieldReference, (ICPPClassType) type); if (op != null) {