[gcc(refs/users/giulianob/heads/autopar_rebase2)] [Ada] Remove bypass for instance bodies from Is_Visible_Component
Giuliano Belinassi
giulianob@gcc.gnu.org
Mon Aug 17 23:24:37 GMT 2020
https://gcc.gnu.org/g:93cd320e69152efbded649f121602486df99d020
commit 93cd320e69152efbded649f121602486df99d020
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Thu Feb 27 17:02:14 2020 +0100
[Ada] Remove bypass for instance bodies from Is_Visible_Component
2020-06-09 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* sem_ch3.adb (Is_Visible_Component): Do not special-case
bodies of instances.
Diff:
---
gcc/ada/sem_ch3.adb | 33 ---------------------------------
1 file changed, 33 deletions(-)
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 7882cb803f9..2c04084b625 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
More information about the Gcc-cvs
mailing list