diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java index 12001a3387b..c798594dc16 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java @@ -2498,10 +2498,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser { for (int i = 0; i < parms.length; ++i) { if (!(parms[i].getDeclSpecifier() instanceof IASTNamedTypeSpecifier)) return d1; - if (((ASTNode) parms[i].getDeclarator().getName()) - .getLength() > 0) - return d1; IASTDeclarator d = parms[i].getDeclarator(); + if (d == null) // must be an EOC + return d1; + if (((ASTNode)d.getName()).getLength() > 0) + return d1; while (d.getNestedDeclarator() != null) d = d.getNestedDeclarator(); if (((ASTNode) d.getName()).getLength() > 0)