diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-09-26 20:40:24 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-09-27 02:27:51 +0200 |
commit | f44b3c78755e01a9bd7fd9b639a08711b7c52660 (patch) | |
tree | c3bd192c03ce9d5403288c330e21e8c7811a08a9 /src/ghdldrv/ghdllocal.adb | |
parent | 080c7dd9329aa90d4d797f638bb34312487cd496 (diff) | |
download | ghdl-f44b3c78755e01a9bd7fd9b639a08711b7c52660.tar.gz ghdl-f44b3c78755e01a9bd7fd9b639a08711b7c52660.tar.bz2 ghdl-f44b3c78755e01a9bd7fd9b639a08711b7c52660.zip |
vhdl08: more support for interface subprograms.
Diffstat (limited to 'src/ghdldrv/ghdllocal.adb')
-rw-r--r-- | src/ghdldrv/ghdllocal.adb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb index 0d4c035e0..082c2e438 100644 --- a/src/ghdldrv/ghdllocal.adb +++ b/src/ghdldrv/ghdllocal.adb @@ -19,6 +19,8 @@ with Ada.Text_IO; use Ada.Text_IO; with Ada.Command_Line; use Ada.Command_Line; with GNAT.Directory_Operations; with Types; use Types; +with Iir_Chains; +with Nodes_Meta; with Libraries; with Std_Package; with Flags; @@ -100,6 +102,12 @@ package body Ghdllocal is -- Create the bodies for instances Set_Package_Instantiation_Bodies_Chain (Lib_Unit, Canon.Create_Instantiation_Bodies (Lib_Unit)); + elsif Get_Kind (Lib_Unit) = Iir_Kind_Package_Body + and then Get_Need_Instance_Bodies (Get_Package (Lib_Unit)) + then + Iir_Chains.Append_Chain + (Lib_Unit, Nodes_Meta.Field_Declaration_Chain, + Canon.Create_Instantiation_Bodies (Get_Package (Lib_Unit))); end if; if (Main or Flags.List_All) and then Flags.List_Canon then |