exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter...
authorJavier Miranda <miranda@adacore.com>
Tue, 2 Aug 2011 10:02:23 +0000 (10:02 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 2 Aug 2011 10:02:23 +0000 (12:02 +0200)
commitcae81f177de95c5de06a61f769f3008925ebcb35
tree496ee54f86dd92f4260963f3fd5496ca9fcb2d5e
parent218e6deed7eb149fdf8cc25fa80d9220cd9e8402
exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter whose type is an access type since it...

2011-08-02  Javier Miranda  <miranda@adacore.com>

* exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
in-mode parameter whose type is an access type since it can be used to
modify its designated object. Enforce code that handles as safe an
access type that is not access-to-constant but it is the result of a
previous removal of side-effects.
(Remove_Side_Effects): Minor code reorganization of cases which require
no action. Done to incorporate documentation on new cases uncovered
working in this ticket: no action needed if this routine was invoked
too early and the nodes are not yet decorated.
* sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
to routine Remove_Side_Effects by calls to Force_Evaluation since they
were issued with actuals that are implicitly provided by
Force_Evaluation.

From-SVN: r177120
gcc/ada/ChangeLog
gcc/ada/exp_util.adb
gcc/ada/sem_res.adb