diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-12-03 04:10:55 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-12-03 04:10:55 +0100 |
commit | 27dde16b6a7e5ba415af918dc1591880bd2e6040 (patch) | |
tree | 56dcc8cb66c182cf90dc062d2417ec257d3f4748 /src/vhdl/translate/trans-chap7.ads | |
parent | 89551a8e7e3c004f1fec71c877ebccbea11e083f (diff) | |
download | ghdl-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.ads | 18 |
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; |