aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-10-12 13:00:42 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-12 13:00:42 +0200
commitbeacce027435fb068f0edcb0a0e094ab6630ff01 (patch)
tree7e0cd7e0a9942df3ea3c59ba7deec6900d9f0a80 /gcc/ada/sinfo.ads
parenta4feaa716751d9755b7c0420cd8845089c6d6d3a (diff)
downloadgcc-beacce027435fb068f0edcb0a0e094ab6630ff01.zip
gcc-beacce027435fb068f0edcb0a0e094ab6630ff01.tar.gz
gcc-beacce027435fb068f0edcb0a0e094ab6630ff01.tar.bz2
[multiple changes]
2010-10-12 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Clarify that 'Old can be used in preconditions and postcondition pragmas. 2010-10-12 Robert Dewar <dewar@adacore.com> * errout.ads, erroutc.adb: The # insertion now handles from in place of at. * exp_prag.adb (Expand_Pragma_Check): Suppress generated default message if new switch Exception_Locations_Suppressed is set. (Expand_Pragma_Check): Revised wording for default message for case of precondition or postcondition. * namet.ads, namet.adb (Build_Location_String): New procedure. * opt.ads (List_Inherited_Pre_Post): New flag. * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Add call to list inherited pre/post aspects. * sem_ch13.adb (Analyze_Aspect_Specification): Improve generation of messages for precondition/postcondition cases. * sem_ch6.adb (Process_PPCs): General cleanup, and list inherited PPC's if flag List_Inherited_Pre_Post is set True. (Process_PPCs): Add initial handling for inherited preconditions (List_Inherited_Pre_Post_Aspects): New procedure * sem_ch6.ads (List_Inherited_Pre_Post_Aspects): New procedure * sem_disp.adb (Inherited_Subprograms): New function * sem_disp.ads (Inherited_Subprograms): New function * sem_prag.adb (Check_Duplicate_Pragma): Clean up handling of pre/postcondition. (Check_Precondition_Postcondition): Check for inherited aspects * sem_warn.adb: Process -gnatw.l/w.L setting List_Inherited_Pre_Post * sinfo.ads, sinfo.adb (Split_PPC): New flag. * sinput.ads, sinput.adb (Build_Location_String): New function. * usage.adb: Add line for -gnatw.l/-gnatw.L 2010-10-12 Javier Miranda <miranda@adacore.com> * exp_util.adb (Remove_Side_Effects): Remove wrong code. 2010-10-12 Arnaud Charlet <charlet@adacore.com> * xref_lib.adb: Add handling of j/J letters. From-SVN: r165361
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads25
1 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 6009160..aa0dfe3 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1689,6 +1689,14 @@ package Sinfo is
-- source type entity for the unchecked conversion instantiation
-- which gigi must do size validation for.
+ -- Split_PPC (Flag17)
+ -- When a Pre or Postaspect specification is processed, it is broken
+ -- into AND THEN sections. The left most section has Split_PPC set to
+ -- False, indicating that it is the original specification (e.g. for
+ -- posting errors). For other sections, Split_PPC is set to True.
+ -- This flag is set in both the N_Aspect_Specification node itself,
+ -- and in the pragma which is generated from this node.
+
-- Static_Processing_OK (Flag4-Sem)
-- Present in N_Aggregate nodes. When the Compile_Time_Known_Aggregate
-- flag is set, the full value of the aggregate can be determined at
@@ -2037,7 +2045,8 @@ package Sinfo is
-- Is_Delayed_Aspect (Flag14-Sem)
-- Import_Interface_Present (Flag16-Sem)
-- Aspect_Cancel (Flag11-Sem)
- -- Class_Present (Flag6) (set False if not from Aspect with 'Class)
+ -- Split_PPC (Flag17) set if corresponding aspect had Split_PPC set
+ -- Class_Present (Flag6) set if from Aspect with 'Class
-- Note: we should have a section on what pragmas are passed on to
-- the back end to be processed. This section should note that pragma
@@ -6442,9 +6451,15 @@ package Sinfo is
-- Entity (Node4-Sem) entity to which the aspect applies
-- Class_Present (Flag6) Set if 'Class present
-- Next_Rep_Item (Node5-Sem)
+ -- Split_PPC (Flag17) Set if split pre/post attribute
-- Note: Aspect_Specification is an Ada 2012 feature
+ -- Note: When a Pre or Post aspect specification is processed, it is
+ -- broken into AND THEN sections. The left most section has Split_PPC
+ -- set to False, indicating that it is the original specification (e.g.
+ -- for posting errors). For the other sections, Split_PPC is set True.
+
---------------------------------------------
-- 13.4 Enumeration representation clause --
---------------------------------------------
@@ -8709,6 +8724,9 @@ package Sinfo is
function Specification
(N : Node_Id) return Node_Id; -- Node1
+ function Split_PPC
+ (N : Node_Id) return Boolean; -- Flag17
+
function Statements
(N : Node_Id) return List_Id; -- List3
@@ -9654,6 +9672,9 @@ package Sinfo is
procedure Set_Specification
(N : Node_Id; Val : Node_Id); -- Node1
+ procedure Set_Split_PPC
+ (N : Node_Id; Val : Boolean); -- Flag17
+
procedure Set_Statements
(N : Node_Id; Val : List_Id); -- List3
@@ -11744,6 +11765,7 @@ package Sinfo is
pragma Inline (Shift_Count_OK);
pragma Inline (Source_Type);
pragma Inline (Specification);
+ pragma Inline (Split_PPC);
pragma Inline (Statements);
pragma Inline (Static_Processing_OK);
pragma Inline (Storage_Pool);
@@ -12055,6 +12077,7 @@ package Sinfo is
pragma Inline (Set_Shift_Count_OK);
pragma Inline (Set_Source_Type);
pragma Inline (Set_Specification);
+ pragma Inline (Set_Split_PPC);
pragma Inline (Set_Statements);
pragma Inline (Set_Static_Processing_OK);
pragma Inline (Set_Storage_Pool);