From e0bbcd7fc0f9d5b12f6f4ae3a73c9788969da7e1 Mon Sep 17 00:00:00 2001
From: Franck Vedrine <franck.vedrine@cea.fr>
Date: Tue, 3 Nov 2020 19:43:35 +0100
Subject: [PATCH] remove some regression bugs introduced in commit
 8f0afa40f1b42

---
 ACSLTermOrPredicate.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ACSLTermOrPredicate.cpp b/ACSLTermOrPredicate.cpp
index 037be800..5be2a1af 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) {
-- 
GitLab