From 8e5537477dead6c8a99c8ade77c1384570efa2bf Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Fri, 27 Mar 2020 18:22:57 +0100
Subject: [PATCH] [parser] Fix long-standing shift/reduce conflict in logic
 parser

original issue introduced here: b9a1eb430b05c3deb87a00d856f96be5dc147d5f
---
 src/kernel_internals/parsing/logic_parser.mly | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/kernel_internals/parsing/logic_parser.mly b/src/kernel_internals/parsing/logic_parser.mly
index b19f7e478bd..59ed65b49bb 100644
--- a/src/kernel_internals/parsing/logic_parser.mly
+++ b/src/kernel_internals/parsing/logic_parser.mly
@@ -720,9 +720,12 @@ cv:
 ;
 
 type_spec_cv:
-     type_spec { $1 }
+     type_spec cv_after { $2 $1 }
 |    cv type_spec_cv { LTattribute ($2, $1) }
-|    type_spec_cv cv { LTattribute ($1, $2) }
+
+cv_after:
+  /* empty */ { fun t -> t }
+| cv cv_after { fun t -> $2 (LTattribute (t,$1)) }
 
 cast_logic_type:
  | type_spec_cv abs_spec_cv_option { $2 $1 }
-- 
GitLab