This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: FYI: small simplification in breakpoint.c
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Mon, 4 Apr 2011 16:33:37 +0100
- Subject: Re: FYI: small simplification in breakpoint.c
- References: <m3y63qf3d0.fsf@fleche.redhat.com>
On Monday 04 April 2011 16:22:35, Tom Tromey wrote:
> I'm checking this in on the trunk.
>
> This patch is just a little cleanup to replace a call to catch_exception
> (and associated helper function and argument struct) with a direct use
> of TRY_CATCH.
catch_exceptions also prints the exception string, if
any (w/ print_any_exception), was the change intentional? (your note seems to
imply this is meant as a 1-1 replacement, but I do see a few
exception_print's below the TRY_CATCH, so I can't tell.)
>
> Built and regtested on x86-64 (compile farm).
>
> Tom
>
> 2011-04-04 Tom Tromey <tromey@redhat.com>
>
> * breakpoint.c (struct captured_parse_breakpoint_args): Remove.
> (do_captured_parse_breakpoint): Remove.
> (create_breakpoint): `e' is now volatile. Remove `parse_args'.
> Use TRY_CATCH directly.
>
> Index: breakpoint.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/breakpoint.c,v
> retrieving revision 1.562
> diff -u -r1.562 breakpoint.c
> --- breakpoint.c 1 Apr 2011 16:59:57 -0000 1.562
> +++ breakpoint.c 4 Apr 2011 15:21:05 -0000
> @@ -6066,14 +6066,6 @@
> delete_breakpoint (b);
> }
>
> -struct captured_parse_breakpoint_args
> - {
> - char **arg_p;
> - struct symtabs_and_lines *sals_p;
> - struct linespec_result *canonical_p;
> - int *not_found_ptr;
> - };
> -
> struct lang_and_radix
> {
> enum language lang;
> @@ -7774,15 +7766,6 @@
> }
> }
>
> -static void
> -do_captured_parse_breakpoint (struct ui_out *ui, void *data)
> -{
> - struct captured_parse_breakpoint_args *args = data;
> -
> - parse_breakpoint_sals (args->arg_p, args->sals_p, args->canonical_p,
> - args->not_found_ptr);
> -}
> -
> /* Given TOK, a string specification of condition and thread, as
> accepted by the 'break' command, extract the condition
> string and thread number and set *COND_STRING and *THREAD.
> @@ -7918,7 +7901,7 @@
> struct breakpoint_ops *ops,
> int from_tty, int enabled, int internal)
> {
> - struct gdb_exception e;
> + volatile struct gdb_exception e;
> struct symtabs_and_lines sals;
> struct symtab_and_line pending_sal;
> char *copy_arg;
> @@ -7926,7 +7909,6 @@
> struct linespec_result canonical;
> struct cleanup *old_chain;
> struct cleanup *bkpt_chain = NULL;
> - struct captured_parse_breakpoint_args parse_args;
> int i;
> int pending = 0;
> int not_found = 0;
> @@ -7937,11 +7919,6 @@
> sals.nelts = 0;
> init_linespec_result (&canonical);
>
> - parse_args.arg_p = &arg;
> - parse_args.sals_p = &sals;
> - parse_args.canonical_p = &canonical;
> - parse_args.not_found_ptr = ¬_found;
> -
> if (type_wanted == bp_static_tracepoint && is_marker_spec (arg))
> {
> int i;
> @@ -7955,8 +7932,10 @@
> goto done;
> }
>
> - e = catch_exception (uiout, do_captured_parse_breakpoint,
> - &parse_args, RETURN_MASK_ALL);
> + TRY_CATCH (e, RETURN_MASK_ALL)
> + {
> + parse_breakpoint_sals (&arg, &sals, &canonical, ¬_found);
> + }
>
> /* If caller is interested in rc value from parse, set value. */
> switch (e.reason)
>
--
Pedro Alves