From: Eric Botcazou Date: Fri, 1 Apr 2022 23:21:36 +0000 (+0200) Subject: [Ada] Fix internal error on subprogram instantiation X-Git-Tag: basepoints/gcc-14~6615 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de02cb5d72cfbac5a7a5537c5bf85c11f716f806;p=thirdparty%2Fgcc.git [Ada] Fix internal error on subprogram instantiation The compiler builds renamings for actuals of formal objects for debugging purposes in this case, but it must not generate them for temporaries. gcc/ada/ * exp_dbug.ads (Build_Subprogram_Instance_Renamings): Fix typo. * exp_dbug.adb (Build_Subprogram_Instance_Renamings): Build the renaming only for actuals of formal objects. --- diff --git a/gcc/ada/exp_dbug.adb b/gcc/ada/exp_dbug.adb index 2231b9c7774..76f08e3619b 100644 --- a/gcc/ada/exp_dbug.adb +++ b/gcc/ada/exp_dbug.adb @@ -1028,6 +1028,7 @@ package body Exp_Dbug is E := First_Entity (Wrapper); while Present (E) loop if Nkind (Parent (E)) = N_Object_Declaration + and then Present (Corresponding_Generic_Association (Parent (E))) and then Is_Elementary_Type (Etype (E)) then Loc := Sloc (Expression (Parent (E))); diff --git a/gcc/ada/exp_dbug.ads b/gcc/ada/exp_dbug.ads index 0c0dd1a0b0f..273d6eded93 100644 --- a/gcc/ada/exp_dbug.ads +++ b/gcc/ada/exp_dbug.ads @@ -1444,7 +1444,7 @@ package Exp_Dbug is -- placed within the wrapper package of the instance, and the entity in -- these declarations is encoded in a complex way that GDB does not handle -- well. These new renaming declarations appear within the body of the - -- subprogram, and are redundant from a visibility point of view, but They + -- subprogram, and are redundant from a visibility point of view, but they -- should have no measurable performance impact, and require no special -- decoding in the debugger.