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 faf7b494bce..1282e40ebef 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 @@ -365,9 +365,11 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser { case IToken.tCOMPLETION: case IToken.tEOC: last = consume(); - last = consumeTemplateArguments(last, argumentList); - if (last.getType() == IToken.tGT) + IToken templateLast = consumeTemplateArguments(last, argumentList); + if (last != templateLast) { + last = templateLast; hasTemplateId = true; + } break; default: