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.
("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