aboutsummaryrefslogtreecommitdiffstats
path: root/src/ghdldrv/ghdllocal.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-09-19 02:32:16 +0200
committerTristan Gingold <tgingold@free.fr>2016-09-19 02:32:16 +0200
commit8c6e8db93f3ef85f7edf242d83c3e7e9af194636 (patch)
treeeb353ac4ba18040935973d15801420b8c0fe953f /src/ghdldrv/ghdllocal.adb
parent62652e356f2e91d2317f5305a03f972385ba7ca1 (diff)
downloadghdl-8c6e8db93f3ef85f7edf242d83c3e7e9af194636.tar.gz
ghdl-8c6e8db93f3ef85f7edf242d83c3e7e9af194636.tar.bz2
ghdl-8c6e8db93f3ef85f7edf242d83c3e7e9af194636.zip
vhdl08: create interface subprogram declaration.
Diffstat (limited to 'src/ghdldrv/ghdllocal.adb')
-rw-r--r--src/ghdldrv/ghdllocal.adb10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb
index ffb50bcbd..ff54513fb 100644
--- a/src/ghdldrv/ghdllocal.adb
+++ b/src/ghdldrv/ghdllocal.adb
@@ -92,6 +92,16 @@ package body Ghdllocal is
Canon.Canonicalize (Unit);
+ -- FIXME: for Main only ?
+ if Get_Kind (Lib_Unit) = Iir_Kind_Package_Declaration
+ and then not Get_Need_Body (Lib_Unit)
+ and then Get_Need_Instance_Bodies (Lib_Unit)
+ then
+ -- Create the bodies for instances
+ Set_Package_Instantiation_Bodies_Chain
+ (Lib_Unit, Canon.Create_Instantiation_Bodies (Lib_Unit));
+ end if;
+
if (Main or Flags.List_All) and then Flags.List_Canon then
Disp_Vhdl.Disp_Vhdl (Unit);
end if;