From: Piotr Trojanek Date: Tue, 20 Dec 2022 15:27:30 +0000 (+0100) Subject: ada: Remove unhelpful special case for renamed bodies in GNATprove mode X-Git-Tag: basepoints/gcc-14~2180 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6147feb54c7473033c5e9344fdd834c417820af4;p=thirdparty%2Fgcc.git ada: Remove unhelpful special case for renamed bodies in GNATprove mode This patch reverts a special-case related to inlining of renamed bodies in GNATprove mode. Its idea was that inlining is decided in routine Cannot_Inline, which is called much later. This didn't quite work, because in the meantime the renamed body was prepared to inlining in Build_Body_To_Inline, which was not designed to handle renamed bodies. gcc/ada/ * freeze.adb (Build_Renamed_Body): Revert a special case for GNATprove; remove unnecessary initialization of a local variable. --- diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index 97a25d108350..a3ab685f5fc6 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -398,7 +398,7 @@ package body Freeze is Nam : constant Node_Id := Name (N); Old_S : Entity_Id; Spec : constant Node_Id := New_Copy_Tree (Specification (Decl)); - Actuals : List_Id := No_List; + Actuals : List_Id; Call_Node : Node_Id; Call_Name : Node_Id; Body_Node : Node_Id; @@ -477,14 +477,11 @@ package body Freeze is -- calls to the renamed entity. The body must be generated in any case -- for calls that may appear elsewhere. This is not done in the case -- where the subprogram is an instantiation because the actual proper - -- body has not been built yet. This is also not done in GNATprove mode - -- as we need to check other conditions for creating a body to inline - -- in that case, which are controlled in Analyze_Subprogram_Body_Helper. + -- body has not been built yet. if Ekind (Old_S) in E_Function | E_Procedure and then Nkind (Decl) = N_Subprogram_Declaration and then not Is_Generic_Instance (Old_S) - and then not GNATprove_Mode then Set_Body_To_Inline (Decl, Old_S); end if;