diff options
author | Tristan Gingold | 2014-11-17 06:26:42 +0100 |
---|---|---|
committer | Tristan Gingold | 2014-11-17 06:26:42 +0100 |
commit | 0506aa8f9797a0b3eff751d564818cd65b7a57b5 (patch) | |
tree | 7d7e5938595d94826110d21e1f1668e19dcadfc3 /src/vhdl/translate/trans-chap3.ads | |
parent | 56ab294531f7c12ae9407df88ec12c448e695e5a (diff) | |
download | ghdl-0506aa8f9797a0b3eff751d564818cd65b7a57b5.tar.gz ghdl-0506aa8f9797a0b3eff751d564818cd65b7a57b5.tar.bz2 ghdl-0506aa8f9797a0b3eff751d564818cd65b7a57b5.zip |
Translate: rewrite concatenation. Now O(n).
Diffstat (limited to 'src/vhdl/translate/trans-chap3.ads')
-rw-r--r-- | src/vhdl/translate/trans-chap3.ads | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/vhdl/translate/trans-chap3.ads b/src/vhdl/translate/trans-chap3.ads index d45dae0..b5f42e8 100644 --- a/src/vhdl/translate/trans-chap3.ads +++ b/src/vhdl/translate/trans-chap3.ads @@ -227,15 +227,13 @@ package Trans.Chap3 is -- Insert a scalar check for VALUE of type ATYPE. EXPR may be NULL_IIR. function Insert_Scalar_Check - (Value : O_Enode; Expr : Iir; Atype : Iir; Loc : Iir) - return O_Enode; + (Value : O_Enode; Expr : Iir; Atype : Iir; Loc : Iir) return O_Enode; -- The base type of EXPR and the base type of ATYPE must be the same. -- If the type is a scalar type, and if a range check is needed, this -- function inserts the check. Otherwise, it returns VALUE. function Maybe_Insert_Scalar_Check - (Value : O_Enode; Expr : Iir; Atype : Iir) - return O_Enode; + (Value : O_Enode; Expr : Iir; Atype : Iir) return O_Enode; -- Return True iff all indexes of L_TYPE and R_TYPE have the same -- length. They must be locally static. @@ -246,11 +244,8 @@ package Trans.Chap3 is -- (resp. R_NODE) are not used (and may be Mnode_Null). -- If L_TYPE (resp. T_TYPE) is a fat array, then L_NODE (resp. R_NODE) -- must designate the array. - procedure Check_Array_Match (L_Type : Iir; - L_Node : Mnode; - R_Type : Iir; - R_Node : Mnode; - Loc : Iir); + procedure Check_Array_Match + (L_Type : Iir; L_Node : Mnode; R_Type : Iir; R_Node : Mnode; Loc : Iir); -- Create a subtype range to be stored into RES from length LENGTH, which -- is of type INDEX_TYPE. |