aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEd Schonberg <schonber@gnat.com>2001-10-12 00:35:43 +0000
committerGeert Bosch <bosch@gcc.gnu.org>2001-10-12 02:35:43 +0200
commit45667f04a0f91e85ddc4aed8eff679d007cdc15f (patch)
treef4dd830125f688cbef549fdbe0f47615c91597cc /gcc/ada
parentc3de5c4c1b485db9b8ac9573aa6c812de396749d (diff)
downloadgcc-45667f04a0f91e85ddc4aed8eff679d007cdc15f.zip
gcc-45667f04a0f91e85ddc4aed8eff679d007cdc15f.tar.gz
gcc-45667f04a0f91e85ddc4aed8eff679d007cdc15f.tar.bz2
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
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/sem_type.adb9
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 2ab878c..bf43959 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 9c335e6..afb347d 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;