diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-04 13:30:32 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-04 13:30:32 +0000 |
commit | 82287127426a6c1a516a6493660beb745818805b (patch) | |
tree | 6bed2c520beed9caa18834439f1264f2067763f3 /gcc/ada/sem_util.adb | |
parent | 686cf3d12ca471400fcb33453161cfc18485086a (diff) | |
download | gcc-82287127426a6c1a516a6493660beb745818805b.tar.gz |
2005-07-04 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Object_Reference): An indexed or selected component
whose prefix is an implicit dereference is an object reference. Removes
spurious errors when compiling with -gnatc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101592 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r-- | gcc/ada/sem_util.adb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 04107a5c9df..4d3577e8ea0 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -4074,7 +4074,9 @@ package body Sem_Util is else case Nkind (N) is when N_Indexed_Component | N_Slice => - return Is_Object_Reference (Prefix (N)); + return + Is_Object_Reference (Prefix (N)) + or else Is_Access_Type (Etype (Prefix (N))); -- In Ada95, a function call is a constant object @@ -4089,7 +4091,9 @@ package body Sem_Util is when N_Selected_Component => return Is_Object_Reference (Selector_Name (N)) - and then Is_Object_Reference (Prefix (N)); + and then + (Is_Object_Reference (Prefix (N)) + or else Is_Access_Type (Etype (Prefix (N)))); when N_Explicit_Dereference => return True; |