From b554bd141fa6588c99eaad567fd7f09357f03569 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Mon, 6 Apr 2020 18:32:23 +0200 Subject: synth: handle configuration_specification. Fix #1197 --- src/synth/synth-decls.adb | 4 ++++ 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 -- cgit v1.2.3