aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/disp_vhdl.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/disp_vhdl.adb')
-rw-r--r--src/vhdl/disp_vhdl.adb16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/vhdl/disp_vhdl.adb b/src/vhdl/disp_vhdl.adb
index f3e8c8f37..603c41879 100644
--- a/src/vhdl/disp_vhdl.adb
+++ b/src/vhdl/disp_vhdl.adb
@@ -274,12 +274,16 @@ package body Disp_Vhdl is
when Iir_Kind_Base_Attribute =>
Disp_Name (Get_Prefix (Name));
Put ("'base");
+ when Iir_Kind_Subtype_Attribute =>
+ Disp_Name (Get_Prefix (Name));
+ Put ("'subtype");
when Iir_Kind_Type_Declaration
| Iir_Kind_Subtype_Declaration
| Iir_Kind_Enumeration_Literal
| Iir_Kind_Unit_Declaration
| Iir_Kinds_Interface_Object_Declaration
| Iir_Kind_Variable_Declaration
+ | Iir_Kind_Constant_Declaration
| Iir_Kind_Function_Declaration
| Iir_Kind_Procedure_Declaration
| Iir_Kind_Terminal_Declaration
@@ -567,10 +571,14 @@ package body Disp_Vhdl is
Base_Type : Iir;
Decl : Iir;
begin
- if Get_Kind (Def) in Iir_Kinds_Denoting_Name then
- Disp_Name (Def);
- return;
- end if;
+ case Get_Kind (Def) is
+ when Iir_Kinds_Denoting_Name
+ | Iir_Kind_Subtype_Attribute =>
+ Disp_Name (Def);
+ return;
+ when others =>
+ null;
+ end case;
Decl := Get_Type_Declarator (Def);
if not Full_Decl and then Decl /= Null_Iir then