aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-09-07 04:46:29 +0200
committerTristan Gingold <tgingold@free.fr>2022-09-07 04:46:29 +0200
commit901d76e72bec4496a2bc1b9a50c088afd8457674 (patch)
tree0b88ea69d31711331815aa45314d81eebc935d64 /src
parent100cd38bc4da75a5637fa221fd95cd2ae77bc56a (diff)
downloadghdl-901d76e72bec4496a2bc1b9a50c088afd8457674.tar.gz
ghdl-901d76e72bec4496a2bc1b9a50c088afd8457674.tar.bz2
ghdl-901d76e72bec4496a2bc1b9a50c088afd8457674.zip
synth: handle open entity aspect
Diffstat (limited to 'src')
-rw-r--r--src/synth/elab-vhdl_insts.adb8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/synth/elab-vhdl_insts.adb b/src/synth/elab-vhdl_insts.adb
index 835474445..3e4906228 100644
--- a/src/synth/elab-vhdl_insts.adb
+++ b/src/synth/elab-vhdl_insts.adb
@@ -737,7 +737,7 @@ package body Elab.Vhdl_Insts is
Aspect := Get_Entity_Aspect (Bind);
-- Extract entity/architecture instantiated by the component.
- case Get_Kind (Aspect) is
+ case Iir_Kinds_Entity_Aspect (Get_Kind (Aspect)) is
when Iir_Kind_Entity_Aspect_Entity =>
Ent := Get_Entity (Aspect);
Arch := Get_Architecture (Aspect);
@@ -746,9 +746,9 @@ package body Elab.Vhdl_Insts is
Sub_Config := Get_Block_Configuration (Get_Configuration (Aspect));
Arch := Get_Block_Specification (Sub_Config);
Ent := Get_Entity (Get_Named_Entity (Arch));
- when others =>
- Vhdl.Errors.Error_Kind
- ("Elab_Component_Instantiation_Statement(2)", Aspect);
+ when Iir_Kind_Entity_Aspect_Open =>
+ Create_Component_Instance (Comp_Inst, null);
+ return;
end case;
if Get_Kind (Ent) = Iir_Kind_Foreign_Module then