aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-01-10 18:48:04 +0100
committerMarc Poulhiès <poulhies@adacore.com>2024-05-07 09:55:59 +0200
commitcb478e0a6f3a296e1c234a85fc0d45d633a0ff93 (patch)
tree5ae0145859b25f48e9dd9ce1d064d8b1901ca3de /gcc/ada
parentc6b06faa3ccb2b12b80ee682d3f22a7f5aa9ddd3 (diff)
downloadgcc-cb478e0a6f3a296e1c234a85fc0d45d633a0ff93.zip
gcc-cb478e0a6f3a296e1c234a85fc0d45d633a0ff93.tar.gz
gcc-cb478e0a6f3a296e1c234a85fc0d45d633a0ff93.tar.bz2
ada: Fix calculation of tasks in null arrays
Fix handling of null arrays when calculating the secondary stack size for the binder. gcc/ada/ * sem_util.adb (Number_Of_Elements_In_Array): Fix counting of elements in null arrays; remove redundant parenthesis; avoid run-time conversion of 1 to universal integer.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/sem_util.adb3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index bee078e..5f44b4c 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -25404,7 +25404,8 @@ package body Sem_Util is
return 0;
else
Num :=
- Num * UI_To_Int ((Expr_Value (High) - Expr_Value (Low) + 1));
+ Num * Int'Max
+ (0, UI_To_Int (Expr_Value (High) - Expr_Value (Low) + Uint_1));
end if;
Next_Index (Indx);