https://gcc.gnu.org/g:87023e0c7cd3aadb2ef60aa2592ba34d0ab8a5af
commit r15-3468-g87023e0c7cd3aadb2ef60aa2592ba34d0ab8a5af Author: Ronan Desplanques <desplanq...@adacore.com> Date: Wed Aug 21 17:22:20 2024 +0200 ada: Tweak assertions in Inline.Cannot_Inline The purpose of this patch is to silence a GNATSAS report. gcc/ada/ * inline.adb (Cannot_Inline): Remove assertion. * inline.ads (Cannot_Inline): Add precondition. Diff: --- gcc/ada/inline.adb | 2 -- gcc/ada/inline.ads | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb index 519e26ecec8..5f310abafda 100644 --- a/gcc/ada/inline.adb +++ b/gcc/ada/inline.adb @@ -2136,8 +2136,6 @@ package body Inline is end; end if; - pragma Assert (Msg (Msg'Last) = '?'); - -- Legacy front-end inlining model if not Back_End_Inlining then diff --git a/gcc/ada/inline.ads b/gcc/ada/inline.ads index bc90c0ce6d8..696f4227c7b 100644 --- a/gcc/ada/inline.ads +++ b/gcc/ada/inline.ads @@ -165,7 +165,10 @@ package Inline is N : Node_Id; Subp : Entity_Id; Is_Serious : Boolean := False; - Suppress_Info : Boolean := False); + Suppress_Info : Boolean := False) + with + Pre => Msg'First <= Msg'Last + and then Msg (Msg'Last) = '?'; -- This procedure is called if the node N, an instance of a call to -- subprogram Subp, cannot be inlined. Msg is the message to be issued, -- which ends with ? (it does not end with ?p?, this routine takes care of