aboutsummaryrefslogtreecommitdiffstats
path: root/sem_types.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-07-21 07:47:19 +0200
committerTristan Gingold <tgingold@free.fr>2014-07-21 07:47:19 +0200
commit694a4d2744f252b326121c37c2271133e0ec535f (patch)
tree3ece5db5d351cc3cb400691727a3d54673e540e1 /sem_types.adb
parent348dcc000d792200eb9e9853a1684ab6b3b25764 (diff)
downloadghdl-694a4d2744f252b326121c37c2271133e0ec535f.tar.gz
ghdl-694a4d2744f252b326121c37c2271133e0ec535f.tar.bz2
ghdl-694a4d2744f252b326121c37c2271133e0ec535f.zip
Add overflow literal.
Diffstat (limited to 'sem_types.adb')
-rw-r--r--sem_types.adb11
1 files changed, 8 insertions, 3 deletions
diff --git a/sem_types.adb b/sem_types.adb
index e7f8c97b4..ffa426809 100644
--- a/sem_types.adb
+++ b/sem_types.adb
@@ -1884,6 +1884,7 @@ package body Sem_Types is
Res := Create_Iir (Iir_Kind_Access_Subtype_Definition);
Location_Copy (Res, Def);
Set_Base_Type (Res, Type_Mark);
+ Set_Type_Mark (Res, Base_Type);
Set_Signal_Type_Flag (Res, False);
Free_Old_Iir (Def);
return Res;
@@ -2001,9 +2002,12 @@ package body Sem_Types is
Set_Type_Mark (Res, Def);
Set_Range_Constraint (Res, Get_Range_Constraint (Def));
- when Iir_Kind_Access_Subtype_Definition
- | Iir_Kind_Access_Type_Definition =>
+ when Iir_Kind_Access_Subtype_Definition =>
Res := Create_Iir (Iir_Kind_Access_Subtype_Definition);
+ Set_Type_Mark (Res, Get_Type_Mark (Def));
+ when Iir_Kind_Access_Type_Definition =>
+ Res := Create_Iir (Iir_Kind_Access_Subtype_Definition);
+ Set_Type_Mark (Res, Get_Designated_Type (Def));
when Iir_Kind_Array_Type_Definition =>
Res := Create_Iir (Iir_Kind_Array_Subtype_Definition);
@@ -2035,7 +2039,8 @@ package body Sem_Types is
end if;
Set_Resolved_Flag (Res, Get_Resolved_Flag (Def));
Set_Constraint_State (Res, Get_Constraint_State (Def));
-
+ Set_Elements_Declaration_List
+ (Res, Get_Elements_Declaration_List (Def));
when others =>
-- FIXME: todo
Error_Kind ("copy_subtype_indication", Def);