diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-06-08 20:49:57 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-05 08:28:20 +0000 |
commit | 6ba8c078cabee2c6abc669971e1351536ce721ec (patch) | |
tree | ff5948bee9c1f4fa56212b5ddf86968507af9a23 /gcc | |
parent | 076a6d13d1e07a72fb964579316920225829777c (diff) | |
download | gcc-6ba8c078cabee2c6abc669971e1351536ce721ec.zip gcc-6ba8c078cabee2c6abc669971e1351536ce721ec.tar.gz gcc-6ba8c078cabee2c6abc669971e1351536ce721ec.tar.bz2 |
[Ada] Reorder processing of default expressions to avoid repeated calls
Code cleanup related to improved detection of uninitialised objects;
semantics is unaffected.
gcc/ada/
* sem_ch6.adb (Process_Formals): Avoid repeated calls to
Expression.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_ch6.adb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 440770a..1efc884 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -12985,10 +12985,10 @@ package body Sem_Ch6 is Set_Formal_Mode (Formal); if Ekind (Formal) = E_In_Parameter then - Set_Default_Value (Formal, Expression (Param_Spec)); + Default := Expression (Param_Spec); - if Present (Expression (Param_Spec)) then - Default := Expression (Param_Spec); + if Present (Default) then + Set_Default_Value (Formal, Default); if Is_Scalar_Type (Etype (Default)) then if Nkind (Parameter_Type (Param_Spec)) /= |