From c7532b2de4f303ee8fb994411ddf25dc4de45831 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 22 Oct 2010 16:51:40 +0200 Subject: [multiple changes] 2010-10-22 Ben Brosgol * gnat_rm.texi: Add chapter on Ada 2012 support. 2010-10-22 Robert Dewar * sem_ch12.adb: Minor reformatting. 2010-10-22 Thomas Quinot * exp_dist.adb: Mark missing case of nested package when expanding stubs. 2010-10-22 Ed Schonberg * par-ch10.adb: Discard incomplete with_clause. 2010-10-22 Robert Dewar * 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 --- gcc/ada/sinfo.adb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gcc/ada/sinfo.adb') diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index fe6bf81..64d0608 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -2851,6 +2851,15 @@ package body Sinfo is return Node5 (N); end Subtype_Indication; + function Suppress_Assignment_Checks + (N : Node_Id) return Boolean is + begin + pragma Assert (False + or else NT (N).Nkind = N_Assignment_Statement + or else NT (N).Nkind = N_Object_Declaration); + return Flag18 (N); + end Suppress_Assignment_Checks; + function Suppress_Loop_Warnings (N : Node_Id) return Boolean is begin @@ -5886,6 +5895,15 @@ package body Sinfo is Set_List2_With_Parent (N, Val); end Set_Subtype_Marks; + procedure Set_Suppress_Assignment_Checks + (N : Node_Id; Val : Boolean := True) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Assignment_Statement + or else NT (N).Nkind = N_Object_Declaration); + Set_Flag18 (N, Val); + end Set_Suppress_Assignment_Checks; + procedure Set_Suppress_Loop_Warnings (N : Node_Id; Val : Boolean := True) is begin -- cgit v1.1