diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java index 329890f59e1..a4bce321f86 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/AbstractGNUSourceCodeParser.java @@ -529,10 +529,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser { expr.setName(exprName); exprName.setParent(expr); exprName.setPropertyInParent(IASTIdExpression.ID_NAME); - - createCompletionNode(token); - completionNode.addName(exprName); - + // Now the declaration statement IASTDeclarationStatement declStmt = createDeclarationStatement(); declStmt.setParent(result); @@ -549,7 +546,6 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser { declSpec.setName(declSpecName); declSpecName.setParent(declSpec); declSpecName.setPropertyInParent(IASTNamedTypeSpecifier.NAME); - completionNode.addName(declSpecName); } } 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 822e2b38987..fcacb7404a5 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 @@ -4365,6 +4365,8 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser { mostRelevantScopeNode = translationUnit; while (true) { try { + if (LT(1) == IToken.tEOC) + break; int checkOffset = LA(1).hashCode(); IASTDeclaration declaration = declaration(); translationUnit.addDeclaration(declaration);