* breakpoint.c (watchpoint_check): Remove accidentally checked in
authorCorinna Vinschen <corinna@vinschen.de>
Thu, 4 Sep 2003 17:41:48 +0000 (17:41 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Thu, 4 Sep 2003 17:41:48 +0000 (17:41 +0000)
unused code.  Add comment.

gdb/ChangeLog
gdb/breakpoint.c

index 103b422e4cd5137286e03eddbb328afbd44b8b10..fe40552b8cd82be4285dbd84c000d008506bb79c 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-04  Corinna Vinschen  <vinschen@redhat.com>
+
+       * breakpoint.c (watchpoint_check): Remove accidentally checked in
+       unused code.  Add comment.
+
 2003-09-04  Corinna Vinschen  <vinschen@redhat.com>
 
        * breakpoint.c (watchpoint_check): Check for pc being in an
index 82e5b117f722abc7f1823b56ca17ee70acb228ca..d09425eb13600730d038aa8e811ff219fe5dde48 100644 (file)
@@ -2408,24 +2408,18 @@ watchpoint_check (void *p)
          the frame chain (so we can determine if we're in scope).  */
       reinit_frame_cache ();
       fr = frame_find_by_id (b->watchpoint_frame);
-#if 0
-      current_frame_id = get_frame_id (get_current_frame ());
-      within_current_scope = frame_id_eq (current_frame_id, b->watchpoint_frame)
-                            || frame_id_inner (current_frame_id,
-                                               b->watchpoint_frame);
-#else
       within_current_scope = (fr != NULL);
-#endif
       /* in_function_epilogue_p() returns a non-zero value if we're still
         in the function but the stack frame has already been invalidated.
         Since we can't rely on the values of local variables after the
         stack has been destroyed, we are treating the watchpoint in that
-        state as `not changed' without further checking. */
-#if 0
-      if (within_current_scope && (!fr || fr == get_current_frame ())
-#else
+        state as `not changed' without further checking.
+        
+        vinschen/2003-09-04: The former implementation left out the case
+        that the watchpoint frame couldn't be found by frame_find_by_id()
+        because the current PC is currently in an epilogue.  Calling
+        gdbarch_in_function_epilogue_p() also when fr == NULL fixes that. */
       if ((!within_current_scope || fr == get_current_frame ())
-#endif
           && gdbarch_in_function_epilogue_p (current_gdbarch, read_pc ()))
        return WP_VALUE_NOT_CHANGED;
       if (fr && within_current_scope)