aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch4.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_ch4.ads')
-rw-r--r--gcc/ada/exp_ch4.ads31
1 files changed, 15 insertions, 16 deletions
diff --git a/gcc/ada/exp_ch4.ads b/gcc/ada/exp_ch4.ads
index f2deaae..44872fd 100644
--- a/gcc/ada/exp_ch4.ads
+++ b/gcc/ada/exp_ch4.ads
@@ -29,20 +29,6 @@ with Types; use Types;
package Exp_Ch4 is
- function Build_Eq_Call
- (Typ : Entity_Id;
- Loc : Source_Ptr;
- Lhs : Node_Id;
- Rhs : Node_Id) return Node_Id;
- -- AI05-0123: Locate primitive equality for type if it exists, and build
- -- the corresponding call. If operation is abstract, replace call with
- -- an explicit raise. Return Empty if there is no primitive.
- -- Used in the construction of record-equality routines for records here
- -- and for variant records in exp_ch3.adb. These two paths are distinct
- -- for historical but also technical reasons: for variant records the
- -- constructed function includes a case statement with nested returns,
- -- while for records without variants only a simple expression is needed.
-
procedure Expand_N_Allocator (N : Node_Id);
procedure Expand_N_And_Then (N : Node_Id);
procedure Expand_N_Case_Expression (N : Node_Id);
@@ -88,13 +74,26 @@ package Exp_Ch4 is
procedure Expand_N_Unchecked_Expression (N : Node_Id);
procedure Expand_N_Unchecked_Type_Conversion (N : Node_Id);
+ function Build_Eq_Call
+ (Typ : Entity_Id;
+ Loc : Source_Ptr;
+ Lhs : Node_Id;
+ Rhs : Node_Id) return Node_Id;
+ -- AI05-0123: Locate primitive equality for type if it exists, and build
+ -- the corresponding call. If operation is abstract, replace call with
+ -- an explicit raise. Return Empty if there is no primitive.
+ -- Used in the construction of record-equality routines for records here
+ -- and for variant records in exp_ch3.adb. These two paths are distinct
+ -- for historical but also technical reasons: for variant records the
+ -- constructed function includes a case statement with nested returns,
+ -- while for records without variants only a simple expression is needed.
+
function Expand_Record_Equality
(Nod : Node_Id;
Typ : Entity_Id;
Lhs : Node_Id;
Rhs : Node_Id;
- Bodies : List_Id)
- return Node_Id;
+ Bodies : List_Id) return Node_Id;
-- Expand a record equality into an expression that compares the fields
-- individually to yield the required Boolean result. Loc is the
-- location for the generated nodes. Typ is the type of the record, and