aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-04-09 12:29:07 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-09 12:29:07 +0200
commitbeb50807addf7817dafe8c229f9e9d9a09f5b828 (patch)
treeddd9ebf15dd27144c82343f1d3eadcaffc8ecd8c /gcc/ada
parenta4100e558204bb2c334606f33cd180b773fe1bf5 (diff)
downloadgcc-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/ada')
-rw-r--r--gcc/ada/ChangeLog11
-rw-r--r--gcc/ada/exp_ch11.adb28
-rw-r--r--gcc/ada/switch-b.adb4
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);