exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
authorRobert Dewar <dewar@adacore.com>
Tue, 14 Aug 2007 08:38:33 +0000 (10:38 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 14 Aug 2007 08:38:33 +0000 (10:38 +0200)
commit3e8ee849e158dffe379771f62ddc0edb094ddf44
tree3e060f4b84844970e977b3f49ac4cba77c22fa42
parent5d37ba92f667fc076287b111dd3166b8d48012b8
exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit

2007-08-14  Robert Dewar  <dewar@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
(Expand_N_Attribute_Reference): Further unify the handling of the
three forms of access attributes, using common code now for all three
cases. Add a test for the case of applying an access attribute to
an explicit dereference when the context is an access-to-interface
type. In that case we need to apply the conversion to the prefix
of the explicit dereference rather than the prefix of the attribute.
(Attribute_Version, UET_Address): Set entity as internal to ensure
proper dg output of implicit importation.
(Expand_Access_To_Type): Removed.
(Expand_N_Attribute_Reference): Merge the code from the three cases
of access attributes, since the processing is largely identical for
these cases. The substantive fix here is to process the case of a
type name prefix (current instance case) before handling the case
of interface prefixes.

From-SVN: r127416
gcc/ada/exp_attr.adb