From e11be5ac78851c754c30299dfccda58a6241d9c3 Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Mon, 30 Jan 2012 13:15:42 +0100 Subject: [PATCH] re PR ada/15846 (Illegal program not detected, self renames) 2012-01-30 Javier Miranda PR ada/15846 * sem_ch8.adb (Analyze_Subprogram_Renaming): Handle self-renaming when the renamed entity is referenced using its expanded name. From-SVN: r183713 --- gcc/ada/sem_ch8.adb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 28edc2f8578..94f369adc8e 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -2665,7 +2665,10 @@ package body Sem_Ch8 is if not Is_Actual and then (Old_S = New_S or else (Nkind (Nam) /= N_Expanded_Name - and then Chars (Old_S) = Chars (New_S))) + and then Chars (Old_S) = Chars (New_S)) + or else (Nkind (Nam) = N_Expanded_Name + and then Entity (Prefix (Nam)) = Current_Scope + and then Chars (Selector_Name (Nam)) = Chars (New_S))) then Error_Msg_N ("subprogram cannot rename itself", N); end if; -- 2.30.2