diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-11-20 16:46:20 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-11-20 16:46:20 +0100 |
commit | 8c691dc68e9c514a6a3359cdb7cac06836ec81a8 (patch) | |
tree | 9af7a1db084ffb82dcc55272209843e4d28eac06 /gcc/ada/exp_ch5.adb | |
parent | 1e2d79e2b3c249697931b6bd0ea93f0a4091c2e6 (diff) | |
download | gcc-8c691dc68e9c514a6a3359cdb7cac06836ec81a8.zip gcc-8c691dc68e9c514a6a3359cdb7cac06836ec81a8.tar.gz gcc-8c691dc68e9c514a6a3359cdb7cac06836ec81a8.tar.bz2 |
[multiple changes]
2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Initialization_Call): Reimplement the
circuitry which extraacts the [underlying] full view of a
private type to handle a case where the private type acts as a
generic actual.
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
loop label form the original loop regardless of whether it came
from source.
* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
expression function with a generated body that has not been
analyzed yet, analyze the body to freeze the expression.
* sem_util.adb (Set_Public_Status_Of): New routine.
(Transfer_Entities): Handle the case where a private type with
an internally generated full view is being transfered and update
its full view.
2014-11-20 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
file, its object file is never the same as any other unit.
2014-11-20 Bob Duff <duff@adacore.com>
* s-taskin.adb (Initialize_ATCB): Take into
account the fact that the domain of the activator can be null
if we're initializing a foreign task.
From-SVN: r217877
Diffstat (limited to 'gcc/ada/exp_ch5.adb')
-rw-r--r-- | gcc/ada/exp_ch5.adb | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb index e66a5836..fc6141a 100644 --- a/gcc/ada/exp_ch5.adb +++ b/gcc/ada/exp_ch5.adb @@ -3766,14 +3766,10 @@ package body Exp_Ch5 is end loop; end if; - -- If original loop has a source name, preserve it so it can be - -- recognized by an exit statement in the body of the rewritten loop. - -- This only concerns source names: the generated name of an anonymous - -- loop will be create again during the subsequent analysis below. + -- Inherit the loop identifier from the original loop. This ensures that + -- the scope stack is consistent after the rewriting. - if Present (Identifier (N)) - and then Comes_From_Source (Identifier (N)) - then + if Present (Identifier (N)) then Set_Identifier (Core_Loop, Relocate_Node (Identifier (N))); end if; |