diff options
author | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2007-04-22 06:16:11 +0000 |
---|---|---|
committer | gingold <gingold@b72b5c32-5f01-0410-b925-b5c7b92870f7> | 2007-04-22 06:16:11 +0000 |
commit | 19db894c481e5c3fca89862ef244803c63a54ed7 (patch) | |
tree | d04ed7d0707a74fb072fb57f88948a8416c00375 /evaluation.adb | |
parent | 301584eaf540c982676f520d662b473e59890584 (diff) | |
download | ghdl-19db894c481e5c3fca89862ef244803c63a54ed7.tar.gz ghdl-19db894c481e5c3fca89862ef244803c63a54ed7.tar.bz2 ghdl-19db894c481e5c3fca89862ef244803c63a54ed7.zip |
synchronized to ghdl 0.26
Diffstat (limited to 'evaluation.adb')
-rw-r--r-- | evaluation.adb | 12 |
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; |