aboutsummaryrefslogtreecommitdiffstats
path: root/evaluation.adb
diff options
context:
space:
mode:
authorgingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2007-04-22 06:16:11 +0000
committergingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7>2007-04-22 06:16:11 +0000
commit19db894c481e5c3fca89862ef244803c63a54ed7 (patch)
treed04ed7d0707a74fb072fb57f88948a8416c00375 /evaluation.adb
parent301584eaf540c982676f520d662b473e59890584 (diff)
downloadghdl-19db894c481e5c3fca89862ef244803c63a54ed7.tar.gz
ghdl-19db894c481e5c3fca89862ef244803c63a54ed7.tar.bz2
ghdl-19db894c481e5c3fca89862ef244803c63a54ed7.zip
synchronized to ghdl 0.26
Diffstat (limited to 'evaluation.adb')
-rw-r--r--evaluation.adb12
1 files changed, 8 insertions, 4 deletions
diff --git a/evaluation.adb b/evaluation.adb
index 77183cce7..44d7b4f3b 100644
--- a/evaluation.adb
+++ b/evaluation.adb
@@ -1956,13 +1956,16 @@ package body Evaluation is
end if;
end Eval_Check_Bound;
- function Eval_Is_Range_In_Bound (A_Range : Iir; Sub_Type : Iir)
+ function Eval_Is_Range_In_Bound
+ (A_Range : Iir; Sub_Type : Iir; Any_Dir : Boolean)
return Boolean
is
Type_Range : Iir;
begin
Type_Range := Get_Range_Constraint (Sub_Type);
- if Get_Direction (Type_Range) /= Get_Direction (A_Range) then
+ if not Any_Dir
+ and then Get_Direction (Type_Range) /= Get_Direction (A_Range)
+ then
return True;
end if;
@@ -2019,10 +2022,11 @@ package body Evaluation is
-- and then Eval_Is_In_Bound (Get_Right_Limit (A_Range), Sub_Type);
end Eval_Is_Range_In_Bound;
- procedure Eval_Check_Range (A_Range : Iir; Sub_Type : Iir)
+ procedure Eval_Check_Range
+ (A_Range : Iir; Sub_Type : Iir; Any_Dir : Boolean)
is
begin
- if not Eval_Is_Range_In_Bound (A_Range, Sub_Type) then
+ if not Eval_Is_Range_In_Bound (A_Range, Sub_Type, Any_Dir) then
Error_Msg_Sem ("static range violates bounds", A_Range);
end if;
end Eval_Check_Range;