aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch5.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-11-20 16:46:20 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-11-20 16:46:20 +0100
commit8c691dc68e9c514a6a3359cdb7cac06836ec81a8 (patch)
tree9af7a1db084ffb82dcc55272209843e4d28eac06 /gcc/ada/exp_ch5.adb
parent1e2d79e2b3c249697931b6bd0ea93f0a4091c2e6 (diff)
downloadgcc-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.adb10
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;