aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/sem_expr.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-09-30 20:27:01 +0200
committerTristan Gingold <tgingold@free.fr>2016-09-30 20:27:01 +0200
commit128c4a0f7d52116b4377aa6218f91066f1b20109 (patch)
tree6c087a445bdeb55069b23b4d3cbf7f8269f0a83f /src/vhdl/sem_expr.adb
parent0ecff214b82f61da149e51075254c3ecc4904d75 (diff)
downloadghdl-128c4a0f7d52116b4377aa6218f91066f1b20109.tar.gz
ghdl-128c4a0f7d52116b4377aa6218f91066f1b20109.tar.bz2
ghdl-128c4a0f7d52116b4377aa6218f91066f1b20109.zip
Rework range_expression and incomplete type for instantiation.
Diffstat (limited to 'src/vhdl/sem_expr.adb')
-rw-r--r--src/vhdl/sem_expr.adb9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vhdl/sem_expr.adb b/src/vhdl/sem_expr.adb
index 027ed5e20..925c06826 100644
--- a/src/vhdl/sem_expr.adb
+++ b/src/vhdl/sem_expr.adb
@@ -553,8 +553,8 @@ package body Sem_Expr is
Expr_Type : Iir;
begin
Expr_Type := Get_Type (Expr);
- Left := Get_Left_Limit (Expr);
- Right := Get_Right_Limit (Expr);
+ Left := Get_Left_Limit_Expr (Expr);
+ Right := Get_Right_Limit_Expr (Expr);
if Expr_Type = Null_Iir then
-- Pass 1.
@@ -659,8 +659,13 @@ package body Sem_Expr is
Left := Eval_Expr_If_Static (Left);
Right := Eval_Expr_If_Static (Right);
+
+ Set_Left_Limit_Expr (Expr, Left);
+ Set_Right_Limit_Expr (Expr, Right);
+
Set_Left_Limit (Expr, Left);
Set_Right_Limit (Expr, Right);
+
Set_Expr_Staticness (Expr, Min (Get_Expr_Staticness (Left),
Get_Expr_Staticness (Right)));