[Ada] Reuse routines for detecting attributes Old and Result
Commit Message
Code cleanup related to handling of attribute 'Old in Contract_Cases;
semantics is unaffected.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* exp_ch4.adb (Expand_N_Op_Eq): Reuse Is_Attribute_Result.
* exp_prag.adb (Expand_Attributes): Reuse Is_Attribute_Old.
@@ -8609,8 +8609,7 @@ package body Exp_Ch4 is
-- f'Machine (expr) to eliminate surprise from extra precision.
if Is_Floating_Point_Type (Typl)
- and then Nkind (Original_Node (Lhs)) = N_Attribute_Reference
- and then Attribute_Name (Original_Node (Lhs)) = Name_Result
+ and then Is_Attribute_Result (Original_Node (Lhs))
then
-- Stick in the Typ'Machine call if not already there
@@ -1525,9 +1525,7 @@ package body Exp_Prag is
begin
-- Attribute 'Old
- if Nkind (N) = N_Attribute_Reference
- and then Attribute_Name (N) = Name_Old
- then
+ if Is_Attribute_Old (N) then
Pref := Prefix (N);
Indirect := Indirect_Temp_Needed (Etype (Pref));