From: Eric Botcazou Date: Thu, 27 Feb 2020 16:02:14 +0000 (+0100) Subject: [Ada] Remove bypass for instance bodies from Is_Visible_Component X-Git-Tag: upstream/12.2.0~15860 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc8adf598fb3a7d6086b69e02007098bd7555d16;p=platform%2Fupstream%2Fgcc.git [Ada] Remove bypass for instance bodies from Is_Visible_Component 2020-06-09 Eric Botcazou gcc/ada/ * sem_ch3.adb (Is_Visible_Component): Do not special-case bodies of instances. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 7882cb8..2c04084 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -18762,39 +18762,6 @@ package body Sem_Ch3 is then return True; - -- In the body of an instantiation, check the visibility of a component - -- in case it has a homograph that is a primitive operation of a private - -- type which was not visible in the generic unit. - - -- Should Is_Prefixed_Call be propagated from template to instance??? - - elsif In_Instance_Body then - if not Is_Tagged_Type (Original_Type) - or else not Is_Private_Type (Original_Type) - then - return True; - - else - declare - Subp_Elmt : Elmt_Id; - - begin - Subp_Elmt := First_Elmt (Primitive_Operations (Original_Type)); - while Present (Subp_Elmt) loop - - -- The component is hidden by a primitive operation - - if Chars (Node (Subp_Elmt)) = Chars (C) then - return False; - end if; - - Next_Elmt (Subp_Elmt); - end loop; - - return True; - end; - end if; - -- If the component has been declared in an ancestor which is currently -- a private type, then it is not visible. The same applies if the -- component's containing type is not in an open scope and the original