diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-12 13:00:42 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-10-12 13:00:42 +0200 |
commit | beacce027435fb068f0edcb0a0e094ab6630ff01 (patch) | |
tree | 7e0cd7e0a9942df3ea3c59ba7deec6900d9f0a80 /gcc/ada/sinfo.ads | |
parent | a4feaa716751d9755b7c0420cd8845089c6d6d3a (diff) | |
download | gcc-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.ads | 25 |
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); |