From a9a26fba14bd568d71873d8a359d69e0c8c04b39 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 30 Mar 2011 14:42:21 +0000 Subject: [PATCH] Bug 340773: Correctly consider alternate decl-specifiers. --- .../core/dom/parser/AbstractGNUSourceCodeParser.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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 8b28d716893..ef782241f1c 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 @@ -69,6 +69,7 @@ import org.eclipse.cdt.core.dom.ast.INodeFactory; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression; import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider; +import org.eclipse.cdt.core.dom.parser.IExtensionToken; import org.eclipse.cdt.core.dom.parser.ISourceCodeParser; import org.eclipse.cdt.core.parser.AbstractParserLogService; import org.eclipse.cdt.core.parser.EndOfFileException; @@ -2449,7 +2450,8 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser { protected boolean canBeTypeSpecifier() throws EndOfFileException { - switch (LT(1)) { + final int lt1 = LT(1); + switch (lt1) { // simple type specifiers: case IToken.tIDENTIFIER: case IToken.tCOLONCOLON: @@ -2497,7 +2499,10 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser { return true; default: - return false; + if (lt1 >= IExtensionToken.t__otherDeclSpecModifierFirst && lt1 <= IExtensionToken.t__otherDeclSpecModifierLast) + return true; + + return false; } }