diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java index 70a6c2e7382..aeb94691c30 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java @@ -221,7 +221,10 @@ public class SemanticUtil { static IType getUltimateTypeViaTypedefs(IType type) { try { while(type instanceof ITypedef) { - type= ((ITypedef)type).getType(); + IType t= ((ITypedef)type).getType(); + if (t == null) + return type; + type= t; } } catch(DOMException e) { type= e.getProblem();