OSDN Git Service

2004-10-26 Thomas Quinot <quinot@act-europe.fr>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2004 13:54:52 +0000 (13:54 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 2004 13:54:52 +0000 (13:54 +0000)
commite1dc3134843fff33c3ba0aaf94423aafcface1bd
tree4f442f9f47f7101c623fbfb3e03dc8ea8420e42c
parent556c393f6d39bd35dc8762d00a7b652acb03d369
2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
    Ed Schonberg   <schonberg@gnat.com>

* sem_util.adb (Is_Aliased_View): Defend against the case where this
subprogram is called with a parameter that is not an object name. This
situation arises for some cases of illegal code, which is diagnosed
later, and in this case it is wrong to call Is_Aliased, as that might
cause a compiler crash.
(Explain_Limited_Type): Refine previous fix to include
inherited components of derived types, to provide complete information.

* exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
is the prival for a protected object.
It is necessary to mark this entity as a variable, in addition to
flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
modified to avoid checking the Aliased flag on entities that are not
objects. (Checking that flag for non-objects is erroneous and could
lead to a compiler crash).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89674 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/exp_ch9.adb
gcc/ada/sem_util.adb