aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-04-06 18:32:23 +0200
committerTristan Gingold <tgingold@free.fr>2020-04-06 20:10:58 +0200
commitb554bd141fa6588c99eaad567fd7f09357f03569 (patch)
treee0f92015d8dcd42a17be5a3f235403aa15d0df47 /src/synth
parentb15cdfcacfc2f96dbd0f645550eec8b594c20108 (diff)
downloadghdl-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.adb4
-rw-r--r--src/synth/synth-insts.adb8
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