diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-09 12:29:07 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-09 12:29:07 +0200 |
commit | beb50807addf7817dafe8c229f9e9d9a09f5b828 (patch) | |
tree | ddd9ebf15dd27144c82343f1d3eadcaffc8ecd8c /gcc | |
parent | a4100e558204bb2c334606f33cd180b773fe1bf5 (diff) | |
download | gcc-beb50807addf7817dafe8c229f9e9d9a09f5b828.zip gcc-beb50807addf7817dafe8c229f9e9d9a09f5b828.tar.gz gcc-beb50807addf7817dafe8c229f9e9d9a09f5b828.tar.bz2 |
[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
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 42e1f1c..cc7bcf9 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 13da1ff..a7b6fe1 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 82caa29..0d673b7 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); |