From 416f9a2726513adc796ca7ed2145fca54da9fd1d Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Sat, 24 Oct 2020 08:01:58 -0400 Subject: [PATCH] [Ada] Constraint_Error in Task_Wrapper and -u0 gcc/ada/ * libgnarl/s-tassta.adb (Task_Wrapper): Fix computation of Pattern_Size. --- gcc/ada/libgnarl/s-tassta.adb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gcc/ada/libgnarl/s-tassta.adb b/gcc/ada/libgnarl/s-tassta.adb index aada7347771..900b3b7aa7b 100644 --- a/gcc/ada/libgnarl/s-tassta.adb +++ b/gcc/ada/libgnarl/s-tassta.adb @@ -1096,11 +1096,10 @@ package body System.Tasking.Stages is -- stack analysis. Big_Overflow_Guard : constant := 64 * 1024 + 8 * 1024; - Small_Stack_Limit : constant := 64 * 1024; - -- ??? These three values are experimental, and seem to work on - -- most platforms. They still need to be analyzed further. They - -- also need documentation, what are they and why does the logic - -- differ depending on whether the stack is large or small??? + -- These two values are experimental, and seem to work on most + -- platforms. They still need to be analyzed further. They also + -- need documentation, what are they and why does the logic differ + -- depending on whether the stack is large or small??? Pattern_Size : Natural := Natural (Self_ID.Common. @@ -1123,7 +1122,7 @@ package body System.Tasking.Stages is -- Adjustments for inner frames Pattern_Size := Pattern_Size - - (if Pattern_Size < Small_Stack_Limit + (if Pattern_Size < Big_Overflow_Guard then Small_Overflow_Guard else Big_Overflow_Guard); else