Commit beb50807 by Arnaud Charlet

[multiple changes]

2009-04-09  Bob Duff  <duff@adacore.com>

	* exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
	Set Sloc of generated nodes for calls to Undefer_Aborts and
	Save_Occurrence to No_Location, so the debugger ignores them and
	therefore does not jump back and forth when single stepping.

2009-04-09  Robert Dewar  <dewar@adacore.com>

	* switch-b.adb: Minor reformatting.

From-SVN: r145821
parent a4100e55
2009-04-09 Bob Duff <duff@adacore.com>
* exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
Set Sloc of generated nodes for calls to Undefer_Aborts and
Save_Occurrence to No_Location, so the debugger ignores them and
therefore does not jump back and forth when single stepping.
2009-04-09 Robert Dewar <dewar@adacore.com>
* switch-b.adb: Minor reformatting.
2009-04-09 Robert Dewar <dewar@adacore.com> 2009-04-09 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb, * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
...@@ -848,14 +848,16 @@ package body Exp_Ch11 is ...@@ -848,14 +848,16 @@ package body Exp_Ch11 is
Ent : constant Entity_Id := RTE (Proc); Ent : constant Entity_Id := RTE (Proc);
begin begin
-- If we have no Entity, then we are probably in no run time mode -- If we have no Entity, then we are probably in no run time mode or
-- or some weird error has occurred. In either case do nothing! -- some weird error has occurred. In either case do nothing. Note use
-- of No_Location to hide this code from the debugger, so single
-- stepping doesn't jump back and forth.
if Present (Ent) then if Present (Ent) then
declare declare
Call : constant Node_Id := Call : constant Node_Id :=
Make_Procedure_Call_Statement (Loc, Make_Procedure_Call_Statement (No_Location,
Name => New_Occurrence_Of (RTE (Proc), Loc), Name => New_Occurrence_Of (RTE (Proc), No_Location),
Parameter_Associations => Args); Parameter_Associations => Args);
begin begin
...@@ -1016,17 +1018,23 @@ package body Exp_Ch11 is ...@@ -1016,17 +1018,23 @@ package body Exp_Ch11 is
Save : Node_Id; Save : Node_Id;
begin begin
-- Note use of No_Location to hide this code from the
-- debugger, so single stepping doesn't jump back and
-- forth.
Save := Save :=
Make_Procedure_Call_Statement (Loc, Make_Procedure_Call_Statement (No_Location,
Name => Name =>
New_Occurrence_Of (RTE (RE_Save_Occurrence), Loc), New_Occurrence_Of (RTE (RE_Save_Occurrence),
No_Location),
Parameter_Associations => New_List ( Parameter_Associations => New_List (
New_Occurrence_Of (Cparm, Cloc), New_Occurrence_Of (Cparm, Cloc),
Make_Explicit_Dereference (Loc, Make_Explicit_Dereference (No_Location,
Make_Function_Call (Loc, Make_Function_Call (No_Location,
Name => Make_Explicit_Dereference (Loc, Name => Make_Explicit_Dereference (No_Location,
New_Occurrence_Of New_Occurrence_Of
(RTE (RE_Get_Current_Excep), Loc)))))); (RTE (RE_Get_Current_Excep),
No_Location))))));
Mark_Rewrite_Insertion (Save); Mark_Rewrite_Insertion (Save);
Prepend (Save, Statements (Handler)); Prepend (Save, Statements (Handler));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment