From: Yannick Moy Date: Thu, 8 Jun 2023 14:52:24 +0000 (+0200) Subject: ada: Fix crash on inlining in GNATprove X-Git-Tag: basepoints/gcc-15~8153 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c11ef75cb2cd60b0c4408aa8ed1898b69b8c946a;p=thirdparty%2Fgcc.git ada: Fix crash on inlining in GNATprove After the recent change on detection of non-inlining, calls inside the iterator part of a quantified expression were not considered as preventing inlining anymore, leading to a crash later on inside GNATprove. Now fixed. gcc/ada/ * sem_res.adb (Resolve_Call): Fix change that replaced test for quantified expressions by the test for potentially unevaluated contexts. Both should be performed. --- diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index f4dfc041cd67..2c8efec524b3 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -7300,6 +7300,15 @@ package body Sem_Res is ("cannot inline & (in potentially unevaluated context)?", N, Nam_UA); + -- Calls are not inlined inside the loop_parameter_specification + -- or iterator_specification of the quantified expression, as they + -- are only preanalyzed. Calls in the predicate part are handled + -- by the previous test on potentially unevaluated expressions. + + elsif In_Quantified_Expression (N) then + Cannot_Inline + ("cannot inline & (in quantified expression)?", N, Nam_UA); + -- Inlining should not be performed during preanalysis elsif Full_Analysis then