diff --git a/type.c b/type.c index 3a1f926..57ec289 100644 --- a/type.c +++ b/type.c @@ -457,6 +457,14 @@ int TypeParseFront(struct ParseState *Parser, struct ValueType **Typ, Token = LexGetToken(Parser, &LexerValue, true); } + /* handle long with trailing int by consuming and ignoring the int */ + if (Token == TokenLongType) { + enum LexToken FollowToken = LexGetToken(Parser, &LexerValue, false); + if (FollowToken == TokenIntType) { + LexGetToken(Parser, &LexerValue, true); + } + } + switch (Token) { case TokenIntType: *Typ = Unsigned ? &pc->UnsignedIntType : &pc->IntType;