aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2019-06-17 07:32:14 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2019-06-17 09:32:14 +0200
commit61efadedfdc723491bc13cc33bf80bd262465cca (patch)
tree72d12100876643c7b20f43e3d796134f448c4936 /gcc
parent21e42f7bc1ac6a23a30d8f7eb65b766723927d7b (diff)
downloadgcc-61efadedfdc723491bc13cc33bf80bd262465cca.zip
gcc-61efadedfdc723491bc13cc33bf80bd262465cca.tar.gz
gcc-61efadedfdc723491bc13cc33bf80bd262465cca.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog8
-rw-r--r--gcc/ada/exp_ch9.adb15
2 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 3b60a92..f73bb49 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,11 @@
+2019-06-17 Arnaud Charlet <charlet@adacore.com>
+
+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 <ebotcazou@adacore.com>
* 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 5ec9fb4..a3785d7 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,