aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-09-21 06:47:49 +0200
committerTristan Gingold <tgingold@free.fr>2016-09-22 21:26:52 +0200
commitbcfbe673c08402fc63e2acb4a350d407e14fe993 (patch)
tree84668ff9546157a953e2033be312fb6554bbc9d8 /src/vhdl/translate
parent6ee23b96ecf9ab9e7ca8767ebe8fb825b0309393 (diff)
downloadghdl-bcfbe673c08402fc63e2acb4a350d407e14fe993.tar.gz
ghdl-bcfbe673c08402fc63e2acb4a350d407e14fe993.tar.bz2
ghdl-bcfbe673c08402fc63e2acb4a350d407e14fe993.zip
vhdl08: first working example of interface type.
Diffstat (limited to 'src/vhdl/translate')
-rw-r--r--src/vhdl/translate/ortho_front.adb3
-rw-r--r--src/vhdl/translate/trans_be.adb10
2 files changed, 11 insertions, 2 deletions
diff --git a/src/vhdl/translate/ortho_front.adb b/src/vhdl/translate/ortho_front.adb
index 2c3da3189..667bbfe5b 100644
--- a/src/vhdl/translate/ortho_front.adb
+++ b/src/vhdl/translate/ortho_front.adb
@@ -222,8 +222,7 @@ package body Ortho_Front is
-- Lighter version of libraries.is_obselete, since DESIGN_UNIT must be in
-- the currently analyzed design file.
- function Is_Obsolete (Design_Unit : Iir_Design_Unit)
- return Boolean
+ function Is_Obsolete (Design_Unit : Iir_Design_Unit) return Boolean
is
List : Iir_List;
El : Iir;
diff --git a/src/vhdl/translate/trans_be.adb b/src/vhdl/translate/trans_be.adb
index 64906f85c..81c0efa7e 100644
--- a/src/vhdl/translate/trans_be.adb
+++ b/src/vhdl/translate/trans_be.adb
@@ -76,6 +76,16 @@ package body Trans_Be is
Canon.Canonicalize (Unit);
+ -- FIXME: for Main only ?
+ if Get_Kind (Lib) = Iir_Kind_Package_Declaration
+ and then not Get_Need_Body (Lib)
+ and then Get_Need_Instance_Bodies (Lib)
+ then
+ -- Create the bodies for instances
+ Set_Package_Instantiation_Bodies_Chain
+ (Lib, Canon.Create_Instantiation_Bodies (Lib));
+ end if;
+
if (Main or Flags.Dump_All) and then Flags.Dump_Canon then
Disp_Tree.Disp_Tree (Unit);
end if;