sem_type.adb (Add_One_Interp): an operator for a type declared in an extension of System is known to be visible.

* sem_type.adb (Add_One_Interp): an operator for a type declared in
	an extension of System is known to be visible.

From-SVN: r46217
This commit is contained in:
Ed Schonberg 2001-10-12 00:35:43 +00:00 committed by Geert Bosch
parent c3de5c4c1b
commit 45667f04a0
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2001-10-11 Ed Schonberg <schonber@gnat.com>
* sem_type.adb (Add_One_Interp): an operator for a type declared in
an extension of System is known to be visible.
2001-10-11 Ed Schonberg <schonber@gnat.com>
* sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- $Revision: 1.198 $
-- $Revision$
-- --
-- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- --
@ -286,12 +286,15 @@ package body Sem_Type is
-- If the node is given in functional notation and the prefix
-- is an expanded name, then the operator is visible if the
-- prefix is the scope of the result type as well.
-- prefix is the scope of the result type as well. If the
-- operator is (implicitly) defined in an extension of system,
-- it is know to be valid (see Defined_In_Scope, sem_ch4.adb).
elsif Nkind (N) = N_Function_Call
and then Nkind (Name (N)) = N_Expanded_Name
and then (Entity (Prefix (Name (N))) = Scope (Base_Type (T))
or else Entity (Prefix (Name (N))) = Scope (Vis_Type))
or else Entity (Prefix (Name (N))) = Scope (Vis_Type)
or else Scope (Vis_Type) = System_Aux_Id)
then
null;