aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-disp_tree.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-01-07 08:07:42 +0100
committerTristan Gingold <tgingold@free.fr>2015-01-07 08:07:42 +0100
commit99443212bf78a5d36b693abab225a160a92d097a (patch)
tree9191d2419b376bd45737e3b23e9b95967c017560 /src/grt/grt-disp_tree.adb
parent3aaf2679a61b4d8bd61c7cccd5ca0ec1f1606de5 (diff)
downloadghdl-99443212bf78a5d36b693abab225a160a92d097a.tar.gz
ghdl-99443212bf78a5d36b693abab225a160a92d097a.tar.bz2
ghdl-99443212bf78a5d36b693abab225a160a92d097a.zip
Handle vhdl08 if generate statements
Diffstat (limited to 'src/grt/grt-disp_tree.adb')
-rw-r--r--src/grt/grt-disp_tree.adb14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/grt/grt-disp_tree.adb b/src/grt/grt-disp_tree.adb
index 4afb64191..3eb715d3f 100644
--- a/src/grt/grt-disp_tree.adb
+++ b/src/grt/grt-disp_tree.adb
@@ -154,10 +154,11 @@ package body Grt.Disp_Tree is
when Ghdl_Rtik_If_Generate =>
Put (" [if-generate ");
if Ctxt.Base = Null_Address then
- Put ("false]");
+ Put ("false");
else
- Put ("true]");
+ Put ("true");
end if;
+ Put ("]");
when Ghdl_Rtik_Signal =>
Put (" [signal]");
when Ghdl_Rtik_Port =>
@@ -282,16 +283,13 @@ package body Grt.Disp_Tree is
end;
when Ghdl_Rtik_If_Generate =>
declare
- Gen : constant Ghdl_Rtin_Generate_Acc :=
- To_Ghdl_Rtin_Generate_Acc (Child);
- Nctxt : Rti_Context;
+ Nctxt : constant Rti_Context :=
+ Get_If_Generate_Child (Ctxt, Child);
begin
- Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Gen.Loc).all,
- Block => Gen.Child);
Disp_Header (Nctxt);
if Nctxt.Base /= Null_Address then
Disp_Sub_Block
- (To_Ghdl_Rtin_Block_Acc (Gen.Child), Nctxt);
+ (To_Ghdl_Rtin_Block_Acc (Nctxt.Block), Nctxt);
end if;
end;
when Ghdl_Rtik_Instance =>