[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
This commit is contained in:
Arnaud Charlet 2009-04-09 12:29:07 +02:00
parent a4100e5582
commit beb50807ad
3 changed files with 31 additions and 12 deletions

View File

@ -1,3 +1,14 @@
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>
* sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,

View File

@ -848,14 +848,16 @@ package body Exp_Ch11 is
Ent : constant Entity_Id := RTE (Proc);
begin
-- If we have no Entity, then we are probably in no run time mode
-- or some weird error has occurred. In either case do nothing!
-- If we have no Entity, then we are probably in no run time mode or
-- 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
declare
Call : constant Node_Id :=
Make_Procedure_Call_Statement (Loc,
Name => New_Occurrence_Of (RTE (Proc), Loc),
Make_Procedure_Call_Statement (No_Location,
Name => New_Occurrence_Of (RTE (Proc), No_Location),
Parameter_Associations => Args);
begin
@ -1016,17 +1018,23 @@ package body Exp_Ch11 is
Save : Node_Id;
begin
-- Note use of No_Location to hide this code from the
-- debugger, so single stepping doesn't jump back and
-- forth.
Save :=
Make_Procedure_Call_Statement (Loc,
Make_Procedure_Call_Statement (No_Location,
Name =>
New_Occurrence_Of (RTE (RE_Save_Occurrence), Loc),
New_Occurrence_Of (RTE (RE_Save_Occurrence),
No_Location),
Parameter_Associations => New_List (
New_Occurrence_Of (Cparm, Cloc),
Make_Explicit_Dereference (Loc,
Make_Function_Call (Loc,
Name => Make_Explicit_Dereference (Loc,
Make_Explicit_Dereference (No_Location,
Make_Function_Call (No_Location,
Name => Make_Explicit_Dereference (No_Location,
New_Occurrence_Of
(RTE (RE_Get_Current_Excep), Loc))))));
(RTE (RE_Get_Current_Excep),
No_Location))))));
Mark_Rewrite_Insertion (Save);
Prepend (Save, Statements (Handler));

View File

@ -402,10 +402,10 @@ package body Switch.B is
case Switch_Chars (Ptr) is
when 'e' =>
Warning_Mode := Treat_As_Error;
Warning_Mode := Treat_As_Error;
when 's' =>
Warning_Mode := Suppress;
Warning_Mode := Suppress;
when others =>
Bad_Switch (Switch_Chars);