Formal parameters have their flag Never_Set_In_Source set at the
beginning of Process_Formals routine (regardless of the parameter mode).
There is no need to set it again when Process_Formals calls
Set_Formal_Mode (for parameters of mode IN OUT and OUT).
Code cleanup related to improved detection of uninitialised objects;
behaviour is unaffected.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* sem_ch6.adb (Set_Formal_Mode): Remove unnecessary setting of
Never_Set_In_Source.
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -13298,10 +13298,9 @@ package body Sem_Ch6 is
Mutate_Ekind (Formal_Id, E_In_Out_Parameter);
else
- Mutate_Ekind (Formal_Id, E_Out_Parameter);
- Set_Never_Set_In_Source (Formal_Id, True);
- Set_Is_True_Constant (Formal_Id, False);
- Set_Current_Value (Formal_Id, Empty);
+ Mutate_Ekind (Formal_Id, E_Out_Parameter);
+ Set_Is_True_Constant (Formal_Id, False);
+ Set_Current_Value (Formal_Id, Empty);
end if;
else