From: Piotr Trojanek Date: Thu, 26 Jan 2023 14:56:04 +0000 (+0100) Subject: ada: Apply range checks to preanalyzed aggregate expressions X-Git-Tag: basepoints/gcc-15~9245 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b358f011bde393ee602d756ec19a5d1ceb181a72;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index ad74de6b6f62..38dc654f7bee 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;