diff options
Diffstat (limited to 'gcc/ada/exp_ch4.ads')
-rw-r--r-- | gcc/ada/exp_ch4.ads | 31 |
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 |