From c01817d2e03b80c93d4be08927d4573777c5e129 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 30 Aug 2011 15:41:24 +0200 Subject: [multiple changes] 2011-08-30 Javier Miranda * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have been reported and a subprogram covering an interface primitive is not found then skip generating the internal entity. Done to avoid crashing the frontend. (Check_Abstract_Overriding): Change text of error of wrong formal of protected subprogram or entry. Done for consistency to emit exactly the same error reported by Check_Synchronized_Overriding. In addition, the error is restricted to protected types (bug found working on AI05-0090) 2011-08-30 Yannick Moy * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during expansion in Alfa mode. * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public. * exp_light.adb, exp_light.ads: New package defining light expansion. * expander.adb (Expand): Call light expansion in Alfa mode * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6 constructs. * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7 constructs. * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes * gnat1drv.adb (Adjust_Global_Switches): Comment 2011-08-30 Yannick Moy * lib-xref-alfa.adb: Minor refactoring. 2011-08-30 Yannick Moy * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa mode. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform expansion in Alfa mode. * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa mode. 2011-08-30 Robert Dewar * debug_a.adb: Update comment. From-SVN: r178304 --- gcc/ada/debug_a.adb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gcc/ada/debug_a.adb') diff --git a/gcc/ada/debug_a.adb b/gcc/ada/debug_a.adb index 35b7f00..43455b91 100644 --- a/gcc/ada/debug_a.adb +++ b/gcc/ada/debug_a.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2007, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -75,6 +75,8 @@ package body Debug_A is -- Now push the new element + -- Why is this done unconditionally??? + Debug_A_Depth := Debug_A_Depth + 1; if Debug_A_Depth <= Max_Node_Ids then @@ -101,6 +103,8 @@ package body Debug_A is -- We look down the stack to find something with a decent Sloc. (If -- we find nothing, just leave it unchanged which is not so terrible) + -- This seems nasty overhead for the normal case ??? + for J in reverse 1 .. Integer'Min (Max_Node_Ids, Debug_A_Depth) loop if Sloc (Node_Ids (J)) > No_Location then Current_Error_Node := Node_Ids (J); -- cgit v1.1