diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-22 16:51:40 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-22 16:51:40 +0200 |
commit | c7532b2de4f303ee8fb994411ddf25dc4de45831 (patch) | |
tree | 38cfcc39f78d32f0add42722075410891f22b133 /gcc/ada/sinfo.ads | |
parent | 41787e1db8b690bc4ba27ad31042fb3722da348a (diff) | |
download | gcc-c7532b2de4f303ee8fb994411ddf25dc4de45831.zip gcc-c7532b2de4f303ee8fb994411ddf25dc4de45831.tar.gz gcc-c7532b2de4f303ee8fb994411ddf25dc4de45831.tar.bz2 |
[multiple changes]
2010-10-22 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Add chapter on Ada 2012 support.
2010-10-22 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb: Minor reformatting.
2010-10-22 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb: Mark missing case of nested package when expanding
stubs.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* par-ch10.adb: Discard incomplete with_clause.
2010-10-22 Robert Dewar <dewar@adacore.com>
* checks.adb (Enable_Range_Check): Remove code suppressing range check
if static predicate present, not needed.
* exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
* exp_ch3.adb (Expand_N_Object_Declaration): Check
Suppress_Assignment_Checks flag.
* exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
of ranges when predicates are present.
* exp_ch5.adb (Expand_Predicated_Loop): New procedure
(Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
(Expand_N_Loop_Statement): Handle loops over predicated types
* sem_case.adb (Analyze_Choices): Remove extra blank in error message.
* sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
message for inheritance if within a generic instance, not useful there!
(Build_Static_Predicate): Optimize test in predicate function
based on static ranges determined.
* sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
subtype with non-static predicate.
* sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
From-SVN: r165834
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r-- | gcc/ada/sinfo.ads | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index d306afe..4a267fc 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -1733,6 +1733,13 @@ package Sinfo is -- value of a type whose size is not known at compile time on the -- secondary stack. + -- Suppress_Assignment_Checks (Flag18-Sem) + -- Used in genererated N_Assignment_Statement nodes to suppress predicate + -- and range checks in cases where the generated code knows that the + -- value being assigned is in range and satisifies any predicate. Also + -- can be set in N_Object_Declaration nodes, to similarly suppress any + -- checks on the initializing value. + -- Suppress_Loop_Warnings (Flag17-Sem) -- Used in N_Loop_Statement node to indicate that warnings within the -- body of the loop should be suppressed. This is set when the range @@ -2331,6 +2338,7 @@ package Sinfo is -- Exception_Junk (Flag8-Sem) -- Is_Subprogram_Descriptor (Flag16-Sem) -- Has_Init_Expression (Flag14) + -- Suppress_Assignment_Checks (Flag18-Sem) ------------------------------------- -- 3.3.1 Defining Identifier List -- @@ -4052,9 +4060,10 @@ package Sinfo is -- Backwards_OK (Flag6-Sem) -- No_Ctrl_Actions (Flag7-Sem) -- Componentwise_Assignment (Flag14-Sem) + -- Suppress_Assignment_Checks (Flag18-Sem) -- Note: if a range check is required, then the Do_Range_Check flag - -- is set in the Expression (right hand side), with the check being + -- is set in the Expression (right hand side), with the check b6ing -- done against the type of the Name (left hand side). -- Note: the back end places some restrictions on the form of the @@ -8844,6 +8853,9 @@ package Sinfo is function Subtype_Marks (N : Node_Id) return List_Id; -- List2 + function Suppress_Assignment_Checks + (N : Node_Id) return Boolean; -- Flag18 + function Suppress_Loop_Warnings (N : Node_Id) return Boolean; -- Flag17 @@ -9804,6 +9816,9 @@ package Sinfo is procedure Set_Subtype_Marks (N : Node_Id; Val : List_Id); -- List2 + procedure Set_Suppress_Assignment_Checks + (N : Node_Id; Val : Boolean := True); -- Flag18 + procedure Set_Suppress_Loop_Warnings (N : Node_Id; Val : Boolean := True); -- Flag17 @@ -11899,6 +11914,7 @@ package Sinfo is pragma Inline (Subtype_Indication); pragma Inline (Subtype_Mark); pragma Inline (Subtype_Marks); + pragma Inline (Suppress_Assignment_Checks); pragma Inline (Suppress_Loop_Warnings); pragma Inline (Synchronized_Present); pragma Inline (Tagged_Present); @@ -12215,6 +12231,7 @@ package Sinfo is pragma Inline (Set_Subtype_Indication); pragma Inline (Set_Subtype_Mark); pragma Inline (Set_Subtype_Marks); + pragma Inline (Set_Suppress_Assignment_Checks); pragma Inline (Set_Suppress_Loop_Warnings); pragma Inline (Set_Synchronized_Present); pragma Inline (Set_Tagged_Present); |