diff options
author | bosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-12 00:35:43 +0000 |
---|---|---|
committer | bosch <bosch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-12 00:35:43 +0000 |
commit | 39b74c32ec094cbf56b0a86dbb6a91136d205b80 (patch) | |
tree | f4dd830125f688cbef549fdbe0f47615c91597cc | |
parent | 3c53c7f38e3d748d42e6964fb58d01c4e02708c2 (diff) | |
download | gcc-39b74c32ec094cbf56b0a86dbb6a91136d205b80.tar.gz |
* sem_type.adb (Add_One_Interp): an operator for a type declared in
an extension of System is known to be visible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46217 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/sem_type.adb | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2ab878c5743..bf4395902e6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 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 properly. Fixes regression on ACATS C34005G. diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index 9c335e6c4c6..afb347d4c71 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -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; |