From: Arnaud Charlet Date: Thu, 9 Apr 2009 10:29:07 +0000 (+0200) Subject: [multiple changes] X-Git-Tag: releases/gcc-4.5.0~6753 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=beb50807addf7817dafe8c229f9e9d9a09f5b828;p=thirdparty%2Fgcc.git [multiple changes] 2009-04-09 Bob Duff * 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 * switch-b.adb: Minor reformatting. From-SVN: r145821 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 42e1f1c97935..cc7bcf97e15b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,14 @@ +2009-04-09 Bob Duff + + * 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 + + * switch-b.adb: Minor reformatting. + 2009-04-09 Robert Dewar * 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 13da1ff83a99..a7b6fe1a9051 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 82caa29f99e9..0d673b7daee1 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);