[gcc r14-7049] ada: Remove dead detection of recursive inlined subprograms

Marc Poulhi?s dkm@gcc.gnu.org
Tue Jan 9 13:15:32 GMT 2024


https://gcc.gnu.org/g:00a97303c2ab27263b18a008a389c3567650123b

commit r14-7049-g00a97303c2ab27263b18a008a389c3567650123b
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Tue Dec 5 16:05:10 2023 +0100

    ada: Remove dead detection of recursive inlined subprograms
    
    Inlining of subprogram calls happens in routine Expand_Inlined_Call
    which calls Establish_Actual_Mapping_For_Inlined_Call. Both routines
    had detection of recursive calls. The detection in the second routine
    was dead code.
    
    gcc/ada/
    
            * inline.adb (Establish_Actual_Mapping_For_Inlined_Call):
            Remove detection of recursive calls.

Diff:
---
 gcc/ada/inline.adb | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index f6bed4d26e3..dffd6293394 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -2988,25 +2988,6 @@ package body Inline is
       F := First_Formal (Subp);
       A := First_Actual (N);
       while Present (F) loop
-         if Present (Renamed_Object (F)) then
-
-            --  If expander is active, it is an error to try to inline a
-            --  recursive subprogram. In GNATprove mode, just indicate that the
-            --  inlining will not happen, and mark the subprogram as not always
-            --  inlined.
-
-            if GNATprove_Mode then
-               Cannot_Inline
-                 ("cannot inline call to recursive subprogram?", N, Subp);
-               Set_Is_Inlined_Always (Subp, False);
-            else
-               Error_Msg_N
-                 ("cannot inline call to recursive subprogram", N);
-            end if;
-
-            return;
-         end if;
-
          --  Reset Last_Assignment for any parameters of mode out or in out, to
          --  prevent spurious warnings about overwriting for assignments to the
          --  formal in the inlined code.


More information about the Gcc-cvs mailing list