diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-09 10:29:07 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-09 10:29:07 +0000 |
commit | 7efd77ab65d7f00004ea2f4f4ebf554e10037289 (patch) | |
tree | ddd9ebf15dd27144c82343f1d3eadcaffc8ecd8c /gcc | |
parent | d60c9ff7609bacfd60f686e1f3b935b0a67b793e (diff) | |
download | gcc-7efd77ab65d7f00004ea2f4f4ebf554e10037289.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/exp_ch11.adb | 28 | ||||
-rw-r--r-- | gcc/ada/switch-b.adb | 4 |
3 files changed, 31 insertions, 12 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 42e1f1c9793..cc7bcf97e15 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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, diff --git a/gcc/ada/exp_ch11.adb b/gcc/ada/exp_ch11.adb index 13da1ff83a9..a7b6fe1a905 100644 --- a/gcc/ada/exp_ch11.adb +++ b/gcc/ada/exp_ch11.adb @@ -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)); diff --git a/gcc/ada/switch-b.adb b/gcc/ada/switch-b.adb index 82caa29f99e..0d673b7daee 100644 --- a/gcc/ada/switch-b.adb +++ b/gcc/ada/switch-b.adb @@ -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); |