From bd525f07535cb1a144e39cbb5c9b33e845d19e87 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 28 Oct 2024 11:44:47 +0100 Subject: ada: Fix internal error on invalid prefix with assertions enabled This happens for example with: package Q3 is type Types is (One, Two); end Q3; with Q3; package P3 is Kind : Q3.Types := Q3.Types.One; end P3; and prevents the error from being given. gcc/ada/ChangeLog: PR ada/112979 * sem_ch8.adb (Find_Selected_Component): Try to recognize the object operation notation only if the selector is a subprogram. --- gcc/ada/sem_ch8.adb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 2007db3..449bfa8 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -8535,7 +8535,7 @@ package body Sem_Ch8 is Current_Entity (Selector_Name (N)); begin if Present (F) - and then Is_Overloadable (F) + and then Is_Subprogram (F) and then Present (First_Entity (F)) and then not Is_Tagged_Type (Etype (First_Entity (F))) then -- cgit v1.1