From: Tom Tromey Date: Thu, 30 May 2013 17:04:03 +0000 (+0000) Subject: cleanup fixes for inf-ptrace.c X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=25f435004904ce1dce520d7dcc40eb9b623e244e;p=deliverable%2Fbinutils-gdb.git cleanup fixes for inf-ptrace.c This is one of the stylistic patches. The code here in inf-ptrace.c is not incorrect, but it is in a style that the cleanup checker cannot handle. This patch changes it to a simpler style, following the usual method of introducing an unconditional "outer" cleanup. * inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally call discard_cleanups. (inf_ptrace_attach): Likewise. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ea1d34123c..c3303ea78d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2013-05-30 Tom Tromey + + * inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally + call discard_cleanups. + (inf_ptrace_attach): Likewise. + 2013-05-30 Tom Tromey * remote-mips.c (mips_exit_debug): Call do_cleanups on all diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c index 27bbf4d7de..046e0ce966 100644 --- a/gdb/inf-ptrace.c +++ b/gdb/inf-ptrace.c @@ -122,20 +122,19 @@ inf_ptrace_create_inferior (struct target_ops *ops, /* Do not change either targets above or the same target if already present. The reason is the target stack is shared across multiple inferiors. */ int ops_already_pushed = target_is_pushed (ops); - struct cleanup *back_to = NULL; + struct cleanup *back_to = make_cleanup (null_cleanup, NULL); if (! ops_already_pushed) { /* Clear possible core file with its process_stratum. */ push_target (ops); - back_to = make_cleanup_unpush_target (ops); + make_cleanup_unpush_target (ops); } pid = fork_inferior (exec_file, allargs, env, inf_ptrace_me, NULL, NULL, NULL, NULL); - if (! ops_already_pushed) - discard_cleanups (back_to); + discard_cleanups (back_to); /* START_INFERIOR_TRAPS_EXPECTED is defined in inferior.h, and will be 1 or 2 depending on whether we're starting without or with a @@ -196,7 +195,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty) /* Do not change either targets above or the same target if already present. The reason is the target stack is shared across multiple inferiors. */ int ops_already_pushed = target_is_pushed (ops); - struct cleanup *back_to = NULL; + struct cleanup *back_to = make_cleanup (null_cleanup, NULL); pid = parse_pid_to_attach (args); @@ -208,7 +207,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty) /* target_pid_to_str already uses the target. Also clear possible core file with its process_stratum. */ push_target (ops); - back_to = make_cleanup_unpush_target (ops); + make_cleanup_unpush_target (ops); } if (from_tty) @@ -243,8 +242,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty) target, it should decorate the ptid later with more info. */ add_thread_silent (inferior_ptid); - if (! ops_already_pushed) - discard_cleanups (back_to); + discard_cleanups (back_to); } #ifdef PT_GET_PROCESS_STATE