aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog51
1 files changed, 51 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7b6f675..0815ca3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,56 @@
2008-07-12 Pedro Alves <pedro@codesourcery.com>
+ Rewrite continuations internals on top of cleanups and plug
+ continuation arguments leaks.
+
+ * defs.h (struct continuation): Make it opaque.
+ (add_continuation, add_intermediate_continuation): Drop the int
+ argument of the continuation hook argument. Add
+ continuation_free_args argument.
+ (do_all_continuations, do_all_intermediate_continuations): Drop
+ the error_p argument.
+
+ * utils.c (add_continuation): Drop the int argument of the
+ continuation hook argument. Add continuation_free_args argument.
+ Reimplement on top of cleanups.
+ (do_all_continuations): Drop error argument. Reimplement on top
+ of cleanups.
+ (discard_all_continuations): Reimplement on top of cleanups.
+ (add_intermediate_continuation): Drop the int argument of the
+ continuation hook argument. Add continuation_free_args argument.
+ Reimplement on top of cleanups.
+ (do_all_intermediate_continuations): Drop error argument.
+ Reimplement on top of cleanups.
+ (discard_all_intermediate_continuations): Reimplement on top of
+ cleanups.
+
+ * breakpoint.c (until_break_command_continuation): Drop error
+ argument. Add xfree as continuation argument deleter.
+
+ * inf-loop.c (inferior_event_handler): On error, discard all
+ continuations. Adjust to new do_all_intermediate_continuations
+ and do_all_continuations interfaces.
+
+ * infcmd.c (step_1_continuation): Drop error_p argument. Adjust.
+ Pass xfree as continuation argument deleter.
+ (finish_command_continuation): Drop error_p argument. Adjust.
+ (finish_command_continuation_free_arg): New.
+ (finish_command): Pass finish_command_continuation_free_arg as
+ continuation argument deleter. Adjust to new do_all_continuations
+ interfaces.
+ (attach_command_continuation): Drop error_p argument.
+ (attach_command_continuation_free_args): New.
+ (attach_command): Pass attach_command_continuation_free_args as
+ continuation argument deleter.
+
+ * interps.c (interp_set): Adjust to new do_all_continuations
+ interfaces.
+
+ * event-top.c (stdin_event_handler): In error, also discard the
+ intermediate continuations.
+
+2008-07-12 Pedro Alves <pedro@codesourcery.com>
+
Replace struct continuation_args by void* and per command structs.
* top.c (execute_command): Remove unused arg1 and arg2 locals.