* breakpoint.c (struct captured_parse_breakpoint_args): Remove.
authorTom Tromey <tromey@redhat.com>
Mon, 4 Apr 2011 15:22:51 +0000 (15:22 +0000)
committerTom Tromey <tromey@redhat.com>
Mon, 4 Apr 2011 15:22:51 +0000 (15:22 +0000)
(do_captured_parse_breakpoint): Remove.
(create_breakpoint): `e' is now volatile.  Remove `parse_args'.
Use TRY_CATCH directly.

gdb/ChangeLog
gdb/breakpoint.c

index 3ced718..9d0d1d1 100644 (file)
@@ -1,5 +1,12 @@
 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.
+
+2011-04-04  Tom Tromey  <tromey@redhat.com>
+
        * symtab.h (free_symtab): Remove.
        (forget_cached_source_info_for_objfile): Declare.
        * symmisc.c (free_symtab): Remove.
index 2a25c8d..14adae6 100644 (file)
@@ -6066,14 +6066,6 @@ remove_thread_event_breakpoints (void)
       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 @@ check_fast_tracepoint_sals (struct gdbarch *gdbarch,
     }
 }
 
-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 @@ create_breakpoint (struct gdbarch *gdbarch,
                   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 @@ create_breakpoint (struct gdbarch *gdbarch,
   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 @@ create_breakpoint (struct gdbarch *gdbarch,
   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 @@ create_breakpoint (struct gdbarch *gdbarch,
       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)