From: Javier Miranda Date: Thu, 31 Jul 2008 13:25:48 +0000 (+0200) Subject: sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to handle synchroni... X-Git-Tag: releases/gcc-4.4.0~3564 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9febb58f8cfe49e9d2440e3c4de7beff01669299;p=thirdparty%2Fgcc.git sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to handle synchronized types. 2008-07-31 Javier Miranda * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to handle synchronized types. Required to handle well the object.operation notation applied to synchronized types. From-SVN: r138404 --- diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 4994ac8d45e4..d6983b1e6484 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -6380,9 +6380,15 @@ package body Sem_Ch4 is ----------------------------- function Valid_First_Argument_Of (Op : Entity_Id) return Boolean is - Typ : constant Entity_Id := Etype (First_Formal (Op)); + Typ : Entity_Id := Etype (First_Formal (Op)); begin + if Is_Concurrent_Type (Typ) + and then Present (Corresponding_Record_Type (Typ)) + then + Typ := Corresponding_Record_Type (Typ); + end if; + -- Simple case. Object may be a subtype of the tagged type or -- may be the corresponding record of a synchronized type.