diff --git a/ACSLTermOrPredicate.cpp b/ACSLTermOrPredicate.cpp index 037be800b744d113b26bc00b251512ef7401070b..5be2a1afa48aa25a70fc9ab67f932945d2ce4d0f 100644 --- a/ACSLTermOrPredicate.cpp +++ b/ACSLTermOrPredicate.cpp @@ -6133,6 +6133,7 @@ TermOrPredicate::readToken(Parser::State& state, Parser::Arguments& arguments) { arguments.extendLocationWithToken(_loc); if (_doesStopTypeAmbiguity) DefineTReduce; + DefineGotoCase(AfterPrimary) } break; case KeywordToken::TAt: @@ -8222,7 +8223,7 @@ TermOrPredicate::readToken(Parser::State& state, Parser::Arguments& arguments) { DefineShift(EndSizeOf, *subTerm, &TermOrPredicate::readToken); } }; - DefineGotoCase(EndSizeOf) + DefineGotoCaseAndParse(EndSizeOf) DefineParseCase(EndSizeOf) assert(_startLocation); { AbstractToken token = arguments.queryToken(); @@ -9261,7 +9262,7 @@ TermOrPredicate::Binders::readToken(Parser::State& state, _currentDeclType = rule->extractType(); state.freeRuleResult(); }; - DefineReduceAndParse + DefineGotoCaseAndParse(TypeModifier) // We'll recurse to check for multiple '*', but we only have to extract // the specifier once. AfterType thus falls through // the main part of the rule which starts here. @@ -9806,7 +9807,7 @@ TermOrPredicate::WithConstruct::readToken(Parser::State& state, _node = term_cons(term_node_TUpdate(_node, offset, updateNode), loc, NULL); }; - DefineGotoCase(End) + DefineGotoCaseAndParse(End) DefineParseCase(End) { AbstractToken token = arguments.queryToken(); if (token.getType() == AbstractToken::TOperatorPunctuator) {