summaryrefslogtreecommitdiff
path: root/src/vhdl/translate/trans-chap3.ads
diff options
context:
space:
mode:
authorTristan Gingold2014-11-17 06:26:42 +0100
committerTristan Gingold2014-11-17 06:26:42 +0100
commit0506aa8f9797a0b3eff751d564818cd65b7a57b5 (patch)
tree7d7e5938595d94826110d21e1f1668e19dcadfc3 /src/vhdl/translate/trans-chap3.ads
parent56ab294531f7c12ae9407df88ec12c448e695e5a (diff)
downloadghdl-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.ads13
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.