aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-annotations.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2021-12-15 08:18:10 +0100
committerTristan Gingold <tgingold@free.fr>2021-12-15 08:18:10 +0100
commit9df3cb21ad765f38561fff0a568ce94359d4d977 (patch)
tree162232a463e986d01e65fc476c40093596b84e09 /src/vhdl/vhdl-annotations.adb
parentc661e58db492f14b22e2ab59e58a8abde6e74c10 (diff)
downloadghdl-9df3cb21ad765f38561fff0a568ce94359d4d977.tar.gz
ghdl-9df3cb21ad765f38561fff0a568ce94359d4d977.tar.bz2
ghdl-9df3cb21ad765f38561fff0a568ce94359d4d977.zip
synth: handle interface type in generics. For #412
Diffstat (limited to 'src/vhdl/vhdl-annotations.adb')
-rw-r--r--src/vhdl/vhdl-annotations.adb11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/vhdl/vhdl-annotations.adb b/src/vhdl/vhdl-annotations.adb
index b1a36646e..13aa8bf3b 100644
--- a/src/vhdl/vhdl-annotations.adb
+++ b/src/vhdl/vhdl-annotations.adb
@@ -431,7 +431,8 @@ package body Vhdl.Annotations is
when Iir_Kind_Protected_Type_Declaration =>
Annotate_Protected_Type_Declaration (Block_Info, Def);
- when Iir_Kind_Incomplete_Type_Definition =>
+ when Iir_Kind_Incomplete_Type_Definition
+ | Iir_Kind_Subtype_Attribute =>
null;
when Iir_Kind_Foreign_Vector_Type_Definition =>
@@ -509,8 +510,12 @@ package body Vhdl.Annotations is
Create_Object_Info (Block_Info, Decl);
when Iir_Kind_Interface_Package_Declaration =>
Annotate_Interface_Package_Declaration (Block_Info, Decl);
- when Iir_Kinds_Interface_Subprogram_Declaration
- | Iir_Kind_Interface_Type_Declaration =>
+ when Iir_Kind_Interface_Type_Declaration =>
+ if Flag_Synthesis then
+ -- Create an info on the interface_type_definition
+ Create_Object_Info (Block_Info, Get_Type (Decl));
+ end if;
+ when Iir_Kinds_Interface_Subprogram_Declaration =>
-- Macro-expanded
null;
when others =>