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.
From-SVN: r101592
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
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;