sem_util.adb (Is_Aliased_View): Defend against the case where this subprogram is...
authorThomas Quinot <quinot@act-europe.fr>
Wed, 27 Oct 2004 13:54:52 +0000 (15:54 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 27 Oct 2004 13:54:52 +0000 (15:54 +0200)
commit130c236a6af56ccee2579b8d9b960d4473d8b339
tree4f442f9f47f7101c623fbfb3e03dc8ea8420e42c
parent65b03d7d594f24807a36b96e1c52c061817cc307
sem_util.adb (Is_Aliased_View): Defend against the case where this subprogram is called with a parameter that...

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).

From-SVN: r89674
gcc/ada/exp_ch9.adb
gcc/ada/sem_util.adb