Sat Nov 21 17:15:40 1998 Philippe De Muyter <phdm@macqel.be>
authorStan Shebs <shebs@codesourcery.com>
Sat, 21 Nov 1998 20:16:49 +0000 (20:16 +0000)
committerStan Shebs <shebs@codesourcery.com>
Sat, 21 Nov 1998 20:16:49 +0000 (20:16 +0000)
* breakpoint.c (bpstat_stop_status): Do not increment hit_count
of breakpoint if condition is not true.

gdb/ChangeLog
gdb/breakpoint.c

index 0b9c618f811d8b129fffe0d894d212b5267f444c..1a8c0a0e88e58d1064f8f36e1f0141d4845f444f 100644 (file)
@@ -1,5 +1,8 @@
 Sat Nov 21 17:15:40 1998  Philippe De Muyter  <phdm@macqel.be>
 
+       * breakpoint.c (bpstat_stop_status): Do not increment hit_count
+       of breakpoint if condition is not true. 
+
        * coffread.c (coff_symtab_read): Discard C_LABEL's that are not
        function entry points, to avoid getting them in the stack dump
        instead of the actual function.
index 6706bdde66d376f46960ec602d108e8eb3761e83..f6d860cc4e02309dd40b55cbaa7f08b12a885c8c 100644 (file)
@@ -39,147 +39,106 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "symfile.h"
 #include "objfiles.h"
 
-/* local function prototypes */
+/* Prototypes for local functions. */
 
-static void
-catch_command_1 PARAMS ((char *, int, int));
+static void catch_command_1 PARAMS ((char *, int, int));
 
-static void
-enable_delete_command PARAMS ((char *, int));
+static void enable_delete_command PARAMS ((char *, int));
 
-static void
-enable_delete_breakpoint PARAMS ((struct breakpoint *));
+static void enable_delete_breakpoint PARAMS ((struct breakpoint *));
 
-static void
-enable_once_command PARAMS ((char *, int));
+static void enable_once_command PARAMS ((char *, int));
 
-static void
-enable_once_breakpoint PARAMS ((struct breakpoint *));
+static void enable_once_breakpoint PARAMS ((struct breakpoint *));
 
-static void
-disable_command PARAMS ((char *, int));
+static void disable_command PARAMS ((char *, int));
 
-static void
-enable_command PARAMS ((char *, int));
+static void enable_command PARAMS ((char *, int));
 
-static void
-map_breakpoint_numbers PARAMS ((char *,        void (*)(struct breakpoint *)));
-
-static void
-ignore_command PARAMS ((char *, int));
+static void map_breakpoint_numbers PARAMS ((char *, 
+                                           void (*)(struct breakpoint *)));
 
-static int
-breakpoint_re_set_one PARAMS ((char *));
-
-void
-delete_command PARAMS ((char *, int));
+static void ignore_command PARAMS ((char *, int));
 
-static void
-clear_command PARAMS ((char *, int));
+static int breakpoint_re_set_one PARAMS ((char *));
 
-static void
-catch_command PARAMS ((char *, int));
+static void clear_command PARAMS ((char *, int));
 
-static struct symtabs_and_lines
-get_catch_sals PARAMS ((int));
+static void catch_command PARAMS ((char *, int));
 
-static void
-watch_command PARAMS ((char *, int));
+static struct symtabs_and_lines get_catch_sals PARAMS ((int));
 
-static int
-can_use_hardware_watchpoint PARAMS ((struct value *));
+static void watch_command PARAMS ((char *, int));
 
-static void
-tbreak_command PARAMS ((char *, int));
+static int can_use_hardware_watchpoint PARAMS ((struct value *));
 
-static void
-break_command_1 PARAMS ((char *, int, int));
+static void tbreak_command PARAMS ((char *, int));
 
-static void
-mention PARAMS ((struct breakpoint *));
+static void break_command_1 PARAMS ((char *, int, int));
 
-struct breakpoint *
-set_raw_breakpoint PARAMS ((struct symtab_and_line));
+static void mention PARAMS ((struct breakpoint *));
 
-static void
-check_duplicates PARAMS ((CORE_ADDR, asection *));
+struct breakpoint *set_raw_breakpoint PARAMS ((struct symtab_and_line));
 
-static void
-describe_other_breakpoints PARAMS ((CORE_ADDR, asection *));
+static void check_duplicates PARAMS ((CORE_ADDR, asection *));
 
-static void
-breakpoints_info PARAMS ((char *, int));
+static void describe_other_breakpoints PARAMS ((CORE_ADDR, asection *));
 
-static void
-breakpoint_1 PARAMS ((int, int));
+static void breakpoints_info PARAMS ((char *, int));
 
-static bpstat
-bpstat_alloc PARAMS ((struct breakpoint *, bpstat));
+static void breakpoint_1 PARAMS ((int, int));
 
-static int
-breakpoint_cond_eval PARAMS ((char *));
+static bpstat bpstat_alloc PARAMS ((struct breakpoint *, bpstat));
 
-static void
-cleanup_executing_breakpoints PARAMS ((PTR));
+static int breakpoint_cond_eval PARAMS ((char *));
 
-static void
-commands_command PARAMS ((char *, int));
+static void cleanup_executing_breakpoints PARAMS ((PTR));
 
-static void
-condition_command PARAMS ((char *, int));
+static void commands_command PARAMS ((char *, int));
 
-static int
-get_number PARAMS ((char **));
+static void condition_command PARAMS ((char *, int));
 
-void
-set_breakpoint_count PARAMS ((int));
+static int get_number PARAMS ((char **));
 
-static int
-remove_breakpoint PARAMS ((struct breakpoint *));
+static int remove_breakpoint PARAMS ((struct breakpoint *));
 
-static int
-print_it_normal PARAMS ((bpstat));
+static int print_it_normal PARAMS ((bpstat));
 
-static int
-watchpoint_check PARAMS ((char *));
+static int watchpoint_check PARAMS ((char *));
 
-static int
-print_it_done PARAMS ((bpstat));
+static int print_it_done PARAMS ((bpstat));
 
-static int
-print_it_noop PARAMS ((bpstat));
+static int print_it_noop PARAMS ((bpstat));
 
-static void
-maintenance_info_breakpoints PARAMS ((char *, int));
+static void maintenance_info_breakpoints PARAMS ((char *, int));
 
 #ifdef GET_LONGJMP_TARGET
-static void
-create_longjmp_breakpoint PARAMS ((char *));
+static void create_longjmp_breakpoint PARAMS ((char *));
 #endif
 
-static int
-hw_breakpoint_used_count PARAMS ((void));
+static int hw_breakpoint_used_count PARAMS ((void));
 
-static int
-hw_watchpoint_used_count PARAMS ((enum bptype, int *));
+static int hw_watchpoint_used_count PARAMS ((enum bptype, int *));
 
-static void
-hbreak_command PARAMS ((char *, int));
+static void hbreak_command PARAMS ((char *, int));
 
-static void
-thbreak_command PARAMS ((char *, int));
+static void thbreak_command PARAMS ((char *, int));
 
-static void
-watch_command_1 PARAMS ((char *, int, int));
+static void watch_command_1 PARAMS ((char *, int, int));
 
-static void
-rwatch_command PARAMS ((char *, int));
+static void rwatch_command PARAMS ((char *, int));
 
-static void
-awatch_command PARAMS ((char *, int));
+static void awatch_command PARAMS ((char *, int));
 
-static void
-do_enable_breakpoint PARAMS ((struct breakpoint *, enum bpdisp));
+static void do_enable_breakpoint PARAMS ((struct breakpoint *, enum bpdisp));
+
+/* Prototypes for exported functions. */
+
+void delete_command PARAMS ((char *, int));
+
+void _initialize_breakpoint PARAMS ((void));
+
+void set_breakpoint_count PARAMS ((int));
 
 extern int addressprint;               /* Print machine addresses? */
 
@@ -1447,7 +1406,8 @@ bpstat_stop_status (pc, not_a_breakpoint)
              /* Don't stop.  */
              bs->print_it = print_it_noop;
              bs->stop = 0;
-             --(b->hit_count);  /* don't consider this a hit */
+             /* Don't consider this a hit.  */
+             --(b->hit_count);
              continue;
            default:
              /* Can't happen.  */
@@ -1536,6 +1496,8 @@ bpstat_stop_status (pc, not_a_breakpoint)
          if (b->cond && value_is_zero)
            {
              bs->stop = 0;
+             /* Don't consider this a hit.  */
+             --(b->hit_count);
            }
          else if (b->ignore_count > 0)
            {