aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-rtis_utils.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-01-04 05:36:03 +0100
committerTristan Gingold <tgingold@free.fr>2015-01-04 05:36:03 +0100
commit3aaf2679a61b4d8bd61c7cccd5ca0ec1f1606de5 (patch)
tree08236cb25552ca9d06d236beef528a9380a4e914 /src/grt/grt-rtis_utils.adb
parent3fea917ef9a145d448ab2dd5d83d7ac7de280602 (diff)
downloadghdl-3aaf2679a61b4d8bd61c7cccd5ca0ec1f1606de5.tar.gz
ghdl-3aaf2679a61b4d8bd61c7cccd5ca0ec1f1606de5.tar.bz2
ghdl-3aaf2679a61b4d8bd61c7cccd5ca0ec1f1606de5.zip
Rework for vhdl08 generate: change rtis.
Diffstat (limited to 'src/grt/grt-rtis_utils.adb')
-rw-r--r--src/grt/grt-rtis_utils.adb22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/grt/grt-rtis_utils.adb b/src/grt/grt-rtis_utils.adb
index 0d4328e7e..1994e90cb 100644
--- a/src/grt/grt-rtis_utils.adb
+++ b/src/grt/grt-rtis_utils.adb
@@ -63,28 +63,26 @@ package body Grt.Rtis_Utils is
end;
when Ghdl_Rtik_For_Generate =>
declare
- Nblk : Ghdl_Rtin_Block_Acc;
+ Gen : constant Ghdl_Rtin_Generate_Acc :=
+ To_Ghdl_Rtin_Generate_Acc (Child);
Length : Ghdl_Index_Type;
begin
- Nblk := To_Ghdl_Rtin_Block_Acc (Child);
- Nctxt :=
- (Base => To_Addr_Acc (Ctxt.Base + Nblk.Loc).all,
- Block => Child);
- Length := Get_For_Generate_Length (Nblk, Ctxt);
+ Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Gen.Loc).all,
+ Block => Gen.Child);
+ Length := Get_For_Generate_Length (Gen, Ctxt);
for I in 1 .. Length loop
Res := Traverse_Blocks_1 (Nctxt);
exit when Res = Traverse_Stop;
- Nctxt.Base := Nctxt.Base + Nblk.Size;
+ Nctxt.Base := Nctxt.Base + Gen.Size;
end loop;
end;
when Ghdl_Rtik_If_Generate =>
declare
- Nblk : Ghdl_Rtin_Block_Acc;
+ Gen : constant Ghdl_Rtin_Generate_Acc :=
+ To_Ghdl_Rtin_Generate_Acc (Child);
begin
- Nblk := To_Ghdl_Rtin_Block_Acc (Child);
- Nctxt :=
- (Base => To_Addr_Acc (Ctxt.Base + Nblk.Loc).all,
- Block => Child);
+ Nctxt := (Base => To_Addr_Acc (Ctxt.Base + Gen.Loc).all,
+ Block => Gen.Child);
if Nctxt.Base /= Null_Address then
Res := Traverse_Blocks_1 (Nctxt);
end if;