From 61efadedfdc723491bc13cc33bf80bd262465cca Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 17 Jun 2019 07:32:14 +0000 Subject: [PATCH] re PR ada/80590 (non-bootstrap build failure of Ada runtime) PR ada/80590 * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two conditions to avoid a unnecessary exception propagation in the default case. From-SVN: r272372 --- gcc/ada/ChangeLog | 8 ++++++++ gcc/ada/exp_ch9.adb | 15 +++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3b60a92b2d7..f73bb4989b9 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2019-06-17 Arnaud Charlet + +PR ada/80590 + + * exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two + conditions to avoid a unnecessary exception propagation in the default + case. + 2019-05-28 Eric Botcazou * gcc-interface/utils.c (handle_stack_protect_attribute): Move around. diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index 5ec9fb486e5..a3785d7c667 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -8258,18 +8258,17 @@ package body Exp_Ch9 is Proc : Entity_Id; begin - -- Try to use System.Relative_Delays.Delay_For only if available. This - -- is the implementation used on restricted platforms when Ada.Calendar - -- is not available. + -- Try to use Ada.Calendar.Delays.Delay_For if available. - if RTE_Available (RO_RD_Delay_For) then - Proc := RTE (RO_RD_Delay_For); + if RTE_Available (RO_CA_Delay_For) then + Proc := RTE (RO_CA_Delay_For); - -- Otherwise, use Ada.Calendar.Delays.Delay_For and emit an error - -- message if not available. + -- Otherwise, use System.Relative_Delays.Delay_For and emit an error + -- message if not available. This is the implementation used on + -- restricted platforms when Ada.Calendar is not available. else - Proc := RTE (RO_CA_Delay_For); + Proc := RTE (RO_RD_Delay_For); end if; Rewrite (N,