From 28270211f0e9ae358cfb4e4ac76e9268b3626829 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 11 Apr 2013 11:39:15 +0200 Subject: [PATCH] [multiple changes] 2013-04-11 Thomas Quinot * exp_ch4.adb (Find_Enclosing_Context): Add missing case of N_Procedure_Call_Statement. 2013-04-11 Robert Dewar * debug.adb: Minor comment fix. From-SVN: r197748 --- gcc/ada/ChangeLog | 9 +++++++++ gcc/ada/debug.adb | 4 ---- gcc/ada/exp_ch4.adb | 15 ++++++++++----- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 243c8db..8058353 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2013-04-11 Thomas Quinot + + * exp_ch4.adb (Find_Enclosing_Context): Add missing case of + N_Procedure_Call_Statement. + +2013-04-11 Robert Dewar + + * debug.adb: Minor comment fix. + 2013-04-11 Johannes Kanig * debug.adb: Remove comment for -gnatd.G. diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb index f6f69cb..deb36ec 100644 --- a/gcc/ada/debug.adb +++ b/gcc/ada/debug.adb @@ -605,10 +605,6 @@ package body Debug is -- as well as additional cross reference information in ALI files to -- compute effects of subprograms. - -- d.G Precondition only mode for gnat2why. In this mode, gnat2why will - -- only generate Why code that checks for the well-guardedness of - -- preconditions. - -- d.H Standard package only mode for gnat2why. In this mode, gnat2why -- will only generate Why code for package Standard. Any given input -- file will be ignored. diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 8083898..1c87c32 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -5137,11 +5137,16 @@ package body Exp_Ch4 is -- return ... and then Ctrl_Func_Call ...; + -- Yet another case: a formal in a procedure call statement: + + -- Proc (... and then Ctrl_Func_Call ...); + while Present (Par) loop if Nkind_In (Par, N_Assignment_Statement, N_Object_Declaration, N_Pragma, - N_Simple_Return_Statement) + N_Simple_Return_Statement, + N_Procedure_Call_Statement) then return Par; @@ -10899,9 +10904,9 @@ package body Exp_Ch4 is function Element_To_Compare (C : Entity_Id) return Entity_Id is Comp : Entity_Id; + begin Comp := C; - loop -- Exit loop when the next element to be compared is found, or -- there is no more such element. @@ -10919,7 +10924,7 @@ package body Exp_Ch4 is -- inherited components only. (Is_Tagged_Type (Typ) - and then Comp /= Original_Record_Component (Comp)) + and then Comp /= Original_Record_Component (Comp)) -- Skip _Tag @@ -10931,8 +10936,8 @@ package body Exp_Ch4 is -- .NET/JVM, skip _Parent whenever it has type Root_Controlled. or else (Chars (Comp) = Name_uParent - and then VM_Target /= No_VM - and then Etype (Comp) = RTE (RE_Root_Controlled)) + and then VM_Target /= No_VM + and then Etype (Comp) = RTE (RE_Root_Controlled)) -- Skip interface elements (secondary tags???) -- 2.7.4