diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-04-06 18:32:23 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-04-06 20:10:58 +0200 |
commit | b554bd141fa6588c99eaad567fd7f09357f03569 (patch) | |
tree | e0f92015d8dcd42a17be5a3f235403aa15d0df47 /src/synth | |
parent | b15cdfcacfc2f96dbd0f645550eec8b594c20108 (diff) | |
download | ghdl-b554bd141fa6588c99eaad567fd7f09357f03569.tar.gz ghdl-b554bd141fa6588c99eaad567fd7f09357f03569.tar.bz2 ghdl-b554bd141fa6588c99eaad567fd7f09357f03569.zip |
synth: handle configuration_specification. Fix #1197
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/synth-decls.adb | 4 | ||||
-rw-r--r-- | src/synth/synth-insts.adb | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/synth/synth-decls.adb b/src/synth/synth-decls.adb index 41da02795..552fab7f7 100644 --- a/src/synth/synth-decls.adb +++ b/src/synth/synth-decls.adb @@ -874,6 +874,8 @@ package body Synth.Decls is null; when Iir_Kind_Use_Clause => null; + when Iir_Kind_Configuration_Specification => + null; when others => Vhdl.Errors.Error_Kind ("synth_declaration", Decl); end case; @@ -990,6 +992,8 @@ package body Synth.Decls is null; when Iir_Kind_File_Declaration => null; + when Iir_Kind_Configuration_Specification => + null; when Iir_Kind_Psl_Default_Clock => -- Ignored; directly used by PSL directives. null; diff --git a/src/synth/synth-insts.adb b/src/synth/synth-insts.adb index cd0e664e7..da5b23b04 100644 --- a/src/synth/synth-insts.adb +++ b/src/synth/synth-insts.adb @@ -1112,12 +1112,12 @@ package body Synth.Insts is if Arch = Null_Node then Arch := Libraries.Get_Latest_Architecture (Ent); - Sub_Config := Get_Library_Unit - (Get_Default_Configuration_Declaration (Arch)); - Sub_Config := Get_Block_Configuration (Sub_Config); else - raise Internal_Error; + Arch := Get_Named_Entity (Arch); end if; + Sub_Config := Get_Library_Unit + (Get_Default_Configuration_Declaration (Arch)); + Sub_Config := Get_Block_Configuration (Sub_Config); -- Elaborate generic + map aspect for the entity instance. Sub_Inst := Make_Instance |