diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-10-19 04:13:48 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-10-19 04:15:12 +0200 |
commit | ab0e8ee2d7a77ce7eb2a935be378bd94d1155901 (patch) | |
tree | d531d64e0fe01f6c6239dfa92e4e580e2e513d59 /src/vhdl/translate/trans-chap1.adb | |
parent | 1a937d7be6bc85c9fe79d00184762e9ddad9460c (diff) | |
download | ghdl-ab0e8ee2d7a77ce7eb2a935be378bd94d1155901.tar.gz ghdl-ab0e8ee2d7a77ce7eb2a935be378bd94d1155901.tar.bz2 ghdl-ab0e8ee2d7a77ce7eb2a935be378bd94d1155901.zip |
canon: do not set formal of association by position.
Diffstat (limited to 'src/vhdl/translate/trans-chap1.adb')
-rw-r--r-- | src/vhdl/translate/trans-chap1.adb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/vhdl/translate/trans-chap1.adb b/src/vhdl/translate/trans-chap1.adb index 4c5083ef6..a84442df4 100644 --- a/src/vhdl/translate/trans-chap1.adb +++ b/src/vhdl/translate/trans-chap1.adb @@ -392,6 +392,10 @@ package body Trans.Chap1 is end if; Entity_Aspect := Get_Entity_Aspect (Binding); + if Get_Kind (Entity_Aspect) = Iir_Kind_Entity_Aspect_Open then + -- Unbound component. + return; + end if; Comp := Get_Named_Entity (Get_Component_Name (Cfg)); Comp_Info := Get_Info (Comp); @@ -530,13 +534,21 @@ package body Trans.Chap1 is procedure Translate_Component_Configuration_Call (Cfg : Iir; Base_Block : Iir; Block_Info : Block_Info_Acc) is + Binding : constant Iir := Get_Binding_Indication (Cfg); + Aspect : Iir; Cfg_Info : Config_Info_Acc; Base_Info : Block_Info_Acc; begin - if Get_Binding_Indication (Cfg) = Null_Iir then + if Is_Null (Binding) then -- Unbound component configuration, nothing to do. return; end if; + Aspect := Get_Entity_Aspect (Binding); + if Is_Null (Aspect) + or else Get_Kind (Aspect) = Iir_Kind_Entity_Aspect_Open + then + return; + end if; Cfg_Info := Get_Info (Cfg); Base_Info := Get_Info (Base_Block); |