This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FYI: small simplification in breakpoint.c


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 = &not_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, &not_found);
> +    }
>  
>    /* If caller is interested in rc value from parse, set value.  */
>    switch (e.reason)
> 

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]