exp_ch5.adb (Expand_N_Assignment_Statement, [...]): For an assignment of a value...
authorCyrille Comar <comar@adacore.com>
Tue, 15 Nov 2005 13:57:37 +0000 (14:57 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 15 Nov 2005 13:57:37 +0000 (14:57 +0100)
commited789fe9b07451de3170648409c7242083e21449
tree62a5e233d912a22ae19f2e94781992b0c7814089
parent5dcc05e6bcbe1976ddfa17c82eb5b5e0f8654752
exp_ch5.adb (Expand_N_Assignment_Statement, [...]): For an assignment of a value of a tagged type that has been rewritten to a...

2005-11-14  Cyrille Comar  <comar@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
assignment of a value of a tagged type that has been rewritten to a
block statement, it is known by construction that no checks are
necessary for the statements within the block: analyze it with checks
suppressed.
(Expand_N_If_Statement): When killing a dead then-branch in an
if-statement that has elsif_parts, recompute the Current_Value node
for any entity whose value is known from the condition of the first
elsif_part.
(Expand_N_Return_Statement): When returning a mutable record, convert
the return value into its actual subtype in order to help the backend
to return the actual size instead of the maximum. This is another
aftermath of not returning mutable records on the sec-stack anymore.

* sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
handling of error msg for suspicious reverse range iteration.
(Check_Possible_Current_Value_Condition): Move declaration from body to
spec, to allow this subprogram to be called from exp_ch5.

From-SVN: r106972
gcc/ada/exp_ch5.adb
gcc/ada/sem_ch5.adb
gcc/ada/sem_ch5.ads