summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2023-01-26 15:56:04 +0100
committerMarc Poulhiès <poulhies@adacore.com>2023-05-16 10:30:58 +0200
commitb358f011bde393ee602d756ec19a5d1ceb181a72 (patch)
tree7afab14019b7f248a46f9514a5007e27389e04b4
parent4803e348aa63482085d535127689528e4925cccf (diff)
downloadgcc-b358f011bde393ee602d756ec19a5d1ceb181a72.tar.gz
ada: Apply range checks to preanalyzed aggregate expressions
When preanalyzing expressions in GNATprove mode, e.g. Pre/Post contracts, we apply checks, because these expressions will never be expanded. This didn't happen for aggregate expressions, most likely because of an oversight. gcc/ada/ * sem_util.adb (Aggregate_Constraint_Checks): Don't exit early when preanalysing in GNATprove mode. Now the condition is consistent with other similar conditions in other code.
-rw-r--r--gcc/ada/sem_util.adb2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index ad74de6b6f6..38dc654f7be 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -477,7 +477,7 @@ package body Sem_Util is
-- this breaks the name resolution mechanism for generic instances.
if not Expander_Active
- and (Inside_A_Generic or not Full_Analysis or not GNATprove_Mode)
+ and not (GNATprove_Mode and not Inside_A_Generic)
then
return;
end if;