From 32d6bd2439f8a4fc054beec320cf03b7e89f9de1 Mon Sep 17 00:00:00 2001
From: Tristan Gingold <tgingold@free.fr>
Date: Tue, 19 Dec 2017 18:13:33 +0100
Subject: sem_types: always set element position on record element constraint.

---
 src/vhdl/sem_types.adb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/vhdl/sem_types.adb b/src/vhdl/sem_types.adb
index 471ec9864..cef868bcc 100644
--- a/src/vhdl/sem_types.adb
+++ b/src/vhdl/sem_types.adb
@@ -2011,16 +2011,18 @@ package body Sem_Types is
                      Set_Element_Declaration (El, Tm_El);
                      Set_Base_Element_Declaration
                        (El, Get_Base_Element_Declaration (Tm_El));
-                     Set_Element_Position (El, Get_Element_Position (Tm_El));
                      El_Type := Null_Iir;
                   else
                      El := Els (I);
                      El_Type := Get_Type (El);
+                     pragma Assert
+                       (Get_Kind (El) = Iir_Kind_Record_Element_Constraint);
                   end if;
                   El_Type := Sem_Subtype_Constraint (El_Type,
                                                      Get_Type (Tm_El),
                                                      Res_Els (I));
                   Set_Type (El, El_Type);
+                  Set_Element_Position (El, Get_Element_Position (Tm_El));
                end if;
                Set_Nth_Element (El_List, I, El);
                Constraint := Update_Record_Constraint (Constraint, El_Type);
-- 
cgit v1.2.3