OSDN Git Service

gcc/ada/
authorsam <sam@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Aug 2008 10:57:43 +0000 (10:57 +0000)
committersam <sam@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Aug 2008 10:57:43 +0000 (10:57 +0000)
commit98d58e339c9d356228d74416fd3e1f1bb8516b01
treec41ab659ced89553be1789d5dab8a19dc9465c2f
parente8fc0d3480bf8f266db2caa965af50776e270ec9
gcc/ada/
PR ada/36777
* sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
* sem_attr.adb (Check_Type): The current instance of a protected
object is not a type name.
(Analyze_Access_Attribute): Accept instances of protected objects.
(Analyze_Attribute, Attribute_Address clause): Ditto.
* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
the prefix as being the current instance if needed.

    gcc/testsuite/
PR ada/36777
* gnat.dg/protected_self_ref1.adb, gnat.dg/protected_self_ref2.adb:
New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139051 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/exp_attr.adb
gcc/ada/sem_attr.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/protected_self_ref1.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/protected_self_ref2.adb [new file with mode: 0644]