aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/translate/trans-chap7.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-12-03 04:10:55 +0100
committerTristan Gingold <tgingold@free.fr>2018-12-03 04:10:55 +0100
commit27dde16b6a7e5ba415af918dc1591880bd2e6040 (patch)
tree56dcc8cb66c182cf90dc062d2417ec257d3f4748 /src/vhdl/translate/trans-chap7.ads
parent89551a8e7e3c004f1fec71c877ebccbea11e083f (diff)
downloadghdl-27dde16b6a7e5ba415af918dc1591880bd2e6040.tar.gz
ghdl-27dde16b6a7e5ba415af918dc1591880bd2e6040.tar.bz2
ghdl-27dde16b6a7e5ba415af918dc1591880bd2e6040.zip
translate: handle unbounded aggregate for signal target.
Fix for #676.
Diffstat (limited to 'src/vhdl/translate/trans-chap7.ads')
-rw-r--r--src/vhdl/translate/trans-chap7.ads18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/vhdl/translate/trans-chap7.ads b/src/vhdl/translate/trans-chap7.ads
index 18b849de4..3c1acdefa 100644
--- a/src/vhdl/translate/trans-chap7.ads
+++ b/src/vhdl/translate/trans-chap7.ads
@@ -70,17 +70,16 @@ package Trans.Chap7 is
return O_Cnode;
-- Convert (if necessary) EXPR of type EXPR_TYPE to type ATYPE.
- function Translate_Implicit_Conv
- (Expr : O_Enode;
- Expr_Type : Iir;
- Atype : Iir;
- Is_Sig : Object_Kind_Type;
- Loc : Iir)
- return O_Enode;
+ function Translate_Implicit_Conv (Expr : O_Enode;
+ Expr_Type : Iir;
+ Atype : Iir;
+ Is_Sig : Object_Kind_Type;
+ Loc : Iir)
+ return O_Enode;
function Translate_Type_Conversion
(Expr : O_Enode; Expr_Type : Iir; Res_Type : Iir; Loc : Iir)
- return O_Enode;
+ return O_Enode;
-- Convert bounds SRC (of type SRC_TYPE) to RES (of type RES_TYPE).
procedure Translate_Type_Conversion_Bounds
@@ -115,6 +114,9 @@ package Trans.Chap7 is
procedure Translate_Aggregate
(Target : Mnode; Target_Type : Iir; Aggr : Iir);
+ -- Fill BOUNDS from aggregate AGGR.
+ procedure Translate_Aggregate_Bounds (Bounds : Mnode; Aggr : Iir);
+
-- Convert bounds access PTR to a fat pointer.
function Bounds_Acc_To_Fat_Pointer (Ptr : O_Dnode; Acc_Type : Iir)
return Mnode;