aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch3.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2014-07-30 14:32:24 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-30 16:32:24 +0200
commit41a58113f8e2d6bc4bd52e168e7079053cda5eb9 (patch)
treeb1cf07aef5bdb3dcf68a1d943d6495a81c0d1952 /gcc/ada/sem_ch3.ads
parent2b4c962d787e092de9af83d2a3ca568ce3ca69bb (diff)
downloadgcc-41a58113f8e2d6bc4bd52e168e7079053cda5eb9.zip
gcc-41a58113f8e2d6bc4bd52e168e7079053cda5eb9.tar.gz
gcc-41a58113f8e2d6bc4bd52e168e7079053cda5eb9.tar.bz2
exp_aggr.adb: Update comments.
2014-07-30 Robert Dewar <dewar@adacore.com> * exp_aggr.adb: Update comments. * a-chtgbo.adb, a-chtgbo.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting. 2014-07-30 Robert Dewar <dewar@adacore.com> * cstand.adb (New_Standard_Entity): New version takes name string to call Make_Name. (Create_Standard): Use this routine to set name before setting other fields. 2014-07-30 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_Attribute, case First): Rewrite simple entity reference. (Expand_Attribute, case Last): Ditto. * exp_ch3.adb (Constrain_Index): New calling sequence for Process_Range_Expr_In_Decl. (Expand_N_Object_Declaration): Avoid setting Is_Known_Valid in one problematical case. * sem_ch3.adb (Constrain_Index): New calling sequence for Process_Range_Expr_In_Decl. (Set_Scalar_Range_For_Subtype): ditto. (Process_Range_Expr_In_Decl): Create constants to hold bounds for subtype. * sem_ch3.ads (Process_Range_Expr_In_Decl): Add Subtyp parameter. * sem_eval.adb (Compile_Time_Compare): Make sure we use base types if we are not assuming no invalid values. From-SVN: r213286
Diffstat (limited to 'gcc/ada/sem_ch3.ads')
-rw-r--r--gcc/ada/sem_ch3.ads10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/sem_ch3.ads b/gcc/ada/sem_ch3.ads
index a046580..dedf943 100644
--- a/gcc/ada/sem_ch3.ads
+++ b/gcc/ada/sem_ch3.ads
@@ -264,9 +264,10 @@ package Sem_Ch3 is
procedure Process_Range_Expr_In_Decl
(R : Node_Id;
T : Entity_Id;
- Check_List : List_Id := Empty_List;
- R_Check_Off : Boolean := False;
- In_Iter_Schm : Boolean := False);
+ Subtyp : Entity_Id := Empty;
+ Check_List : List_Id := Empty_List;
+ R_Check_Off : Boolean := False;
+ In_Iter_Schm : Boolean := False);
-- Process a range expression that appears in a declaration context. The
-- range is analyzed and resolved with the base type of the given type, and
-- an appropriate check for expressions in non-static contexts made on the
@@ -279,6 +280,9 @@ package Sem_Ch3 is
-- package. R_Check_Off is set to True when the call to Range_Check is to
-- be skipped. In_Iter_Schm is True if Process_Range_Expr_In_Decl is called
-- on the discrete subtype definition in an iteration scheme.
+ --
+ -- If Subtyp is given, then the range is for the named subtype Subtyp, and
+ -- in this case the bounds are captured if necessary using this name.
function Process_Subtype
(S : Node_Id;