From e236ba4424253599ed1f75a522c863d2afc8cd03 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Fri, 30 Nov 2007 10:00:26 +0000 Subject: [PATCH] Make insert_breakpoints return void. * breakpoint.h (insert_breakpoints): Change return type to void. * breakpoint.c (insert_breakpoints): Change return type to void. Rename local return_val variable to error. * infrun.c (keep_going): Instead of checking return value from insert_breakpoints, catch exception. --- gdb/ChangeLog | 11 +++++++++++ gdb/breakpoint.c | 9 ++++----- gdb/breakpoint.h | 2 +- gdb/infrun.c | 7 ++++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc33f1ed853..6e257fe97b4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2007-11-30 Vladimir Prus + + Make insert_breakpoints return void. + * breakpoint.h (insert_breakpoints): Change + return type to void. + * breakpoint.c (insert_breakpoints): Change + return type to void. Rename local return_val + variable to error. + * infrun.c (keep_going): Instead of checking + return value from insert_breakpoints, catch exception. + 2007-11-29 Vladimir Prus Stop infrun from tracking breakpoint insertion status. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 49958e699d4..0f96997ec18 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1220,11 +1220,11 @@ in which its expression is valid.\n"), Both return zero if successful, or an `errno' value if could not write the inferior. */ -int +void insert_breakpoints (void) { struct bp_location *b, *temp; - int return_val = 0; /* return success code. */ + int error = 0; int val = 0; int disabled_breaks = 0; int hw_breakpoint_error = 0; @@ -1265,10 +1265,10 @@ insert_breakpoints (void) &disabled_breaks, &process_warning, &hw_breakpoint_error); if (val) - return_val = val; + error = val; } - if (return_val) + if (error) { /* If a hardware breakpoint or watchpoint was inserted, add a message about possibly exhausted resources. */ @@ -1286,7 +1286,6 @@ You may have requested too many hardware breakpoints/watchpoints.\n"); target_terminal_ours_for_output (); error_stream (tmp_error_stream); } - return return_val; } int diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 4b8450255ba..56b9a6ee46f 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -717,7 +717,7 @@ extern void awatch_command_wrapper (char *, int); extern void rwatch_command_wrapper (char *, int); extern void tbreak_command (char *, int); -extern int insert_breakpoints (void); +extern void insert_breakpoints (void); extern int remove_breakpoints (void); diff --git a/gdb/infrun.c b/gdb/infrun.c index ad1de6b35d9..62d6d1e3a4b 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2948,9 +2948,14 @@ keep_going (struct execution_control_state *ecs) if (!ecs->another_trap) { + struct gdb_exception e; /* Stop stepping when inserting breakpoints has failed. */ - if (insert_breakpoints () != 0) + TRY_CATCH (e, RETURN_MASK_ERROR) + { + insert_breakpoints (); + } + if (e.reason < 0) { stop_stepping (ecs); return; -- 2.30.2