2004-05-01 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Sat, 1 May 2004 19:02:11 +0000 (19:02 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sat, 1 May 2004 19:02:11 +0000 (19:02 +0000)
* frame.h (deprecated_set_frame_type): Delete declaration.
* frame.c (deprecated_set_frame_type): Delete function, update
comments.

gdb/ChangeLog
gdb/frame.c
gdb/frame.h

index 3e9c708..17fc35f 100644 (file)
@@ -1,5 +1,9 @@
 2004-05-01  Andrew Cagney  <cagney@redhat.com>
 
+       * frame.h (deprecated_set_frame_type): Delete declaration.
+       * frame.c (deprecated_set_frame_type): Delete function, update
+       comments.
+
        * gdbarch.sh (DEPRECATED_PC_IN_SIGTRAMP): Delete.
        * gdbarch.h, gdbarch.c: Re-generate.
        * shnbsd-tdep.c (shnbsd_init_abi): Do not set pc_in_sigtramp.
index 0db1473..f120a16 100644 (file)
@@ -67,10 +67,10 @@ struct frame_info
   int level;
 
   /* The frame's type.  */
-  /* FIXME: cagney/2003-04-02: Should instead be returning
-     ->unwind->type.  Unfortunately, legacy code is still explicitly
-     setting the type using the method deprecated_set_frame_type.
-     Eliminate that method and this field can be eliminated.  */
+  /* FIXME: cagney/2004-05-01: Should instead just use ->unwind->type.
+     Unfortunately, legacy_get_prev_frame is still explicitly setting
+     the type.  Eliminate that method and this field can be
+     eliminated.  */
   enum frame_type type;
 
   /* For each register, address of where it was saved on entry to the
@@ -233,11 +233,10 @@ get_frame_id (struct frame_info *fi)
        {
          fi->unwind = frame_unwind_find_by_frame (fi->next,
                                                   &fi->prologue_cache);
-         /* FIXME: cagney/2003-04-02: Rather than storing the frame's
-            type in the frame, the unwinder's type should be returned
-            directly.  Unfortunately legacy code, called by
-            legacy_get_prev_frame(), explicitly sets the frame's type
-            using the method deprecated_set_frame_type().  */
+         /* FIXME: cagney/2004-05-01: Should instead just use
+            ->unwind->type.  Unfortunately, legacy_get_prev_frame is
+            still explicitly setting the type.  Eliminate that method
+            and this field can be eliminated.  */
          fi->type = fi->unwind->type;
        }
       /* Find THIS frame's ID.  */
@@ -548,11 +547,10 @@ frame_register_unwind (struct frame_info *frame, int regnum,
     {
       frame->unwind = frame_unwind_find_by_frame (frame->next,
                                                  &frame->prologue_cache);
-      /* FIXME: cagney/2003-04-02: Rather than storing the frame's
-        type in the frame, the unwinder's type should be returned
-        directly.  Unfortunately, legacy code, called by
-        legacy_get_prev_frame(), explicitly set the frames type using
-        the method deprecated_set_frame_type().  */
+      /* FIXME: cagney/2004-05-01: Should instead just use ->unwind->type.
+        Unfortunately, legacy_get_prev_frame is still explicitly setting
+        the type.  Eliminate that method and this field can be
+        eliminated.  */
       frame->type = frame->unwind->type;
     }
 
@@ -1507,11 +1505,10 @@ legacy_get_prev_frame (struct frame_info *this_frame)
          /* Find PREV frame's unwinder.  */
          prev->unwind = frame_unwind_find_by_frame (this_frame,
                                                     &prev->prologue_cache);
-         /* FIXME: cagney/2003-04-02: Rather than storing the frame's
-            type in the frame, the unwinder's type should be returned
-            directly.  Unfortunately, legacy code, called by
-            legacy_get_prev_frame(), explicitly set the frames type
-            using the method deprecated_set_frame_type().  */
+         /* FIXME: cagney/2004-05-01: Should instead just use
+            ->unwind->type.  Unfortunately, legacy_get_prev_frame is
+            still explicitly setting the type.  Eliminate that method
+            and this field can be eliminated.  */
          prev->type = prev->unwind->type;
          /* Find PREV frame's ID.  */
          prev->unwind->this_id (this_frame,
@@ -2105,11 +2102,10 @@ get_frame_type (struct frame_info *frame)
          provides the frame's type.  */
       frame->unwind = frame_unwind_find_by_frame (frame->next, 
                                                  &frame->prologue_cache);
-      /* FIXME: cagney/2003-04-02: Rather than storing the frame's
-        type in the frame, the unwinder's type should be returned
-        directly.  Unfortunately, legacy code, called by
-        legacy_get_prev_frame(), explicitly set the frames type using
-        the method deprecated_set_frame_type().  */
+      /* FIXME: cagney/2004-05-01: Should instead just use
+        ->unwind->type.  Unfortunately, legacy_get_prev_frame is
+        still explicitly setting the type.  Eliminate that method and
+        this field can be eliminated.  */
       frame->type = frame->unwind->type;
     }
   if (frame->type == UNKNOWN_FRAME)
@@ -2118,13 +2114,6 @@ get_frame_type (struct frame_info *frame)
     return frame->type;
 }
 
-void
-deprecated_set_frame_type (struct frame_info *frame, enum frame_type type)
-{
-  /* Arrrg!  See comment in "frame.h".  */
-  frame->type = type;
-}
-
 struct frame_extra_info *
 get_frame_extra_info (struct frame_info *fi)
 {
index eb8243d..617d3a1 100644 (file)
@@ -343,9 +343,9 @@ extern int frame_relative_level (struct frame_info *fi);
 enum frame_type
 {
   /* The frame's type hasn't yet been defined.  This is a catch-all
-     for legacy code that uses really strange technicques, such as
-     deprecated_set_frame_type, to set the frame's type.  New code
-     should not use this value.  */
+     for legacy_get_prev_frame that uses really strange techniques to
+     determine the frame's type.  New code should not use this
+     value.  */
   UNKNOWN_FRAME,
   /* A true stack frame, created by the target program during normal
      execution.  */
@@ -359,18 +359,6 @@ enum frame_type
 };
 extern enum frame_type get_frame_type (struct frame_info *);
 
-/* FIXME: cagney/2002-11-10: Some targets want to directly mark a
-   frame as being of a specific type.  This shouldn't be necessary.
-   DEPRECATED_PC_IN_CALL_DUMMY() indicates a DUMMY_FRAME.  I suspect
-   the real problem here is that get_prev_frame() only sets
-   initialized after DEPRECATED_INIT_EXTRA_FRAME_INFO as been called.
-   Consequently, some targets found that the frame's type was wrong
-   and tried to fix it.  The correct fix is to modify get_prev_frame()
-   so that it initializes the frame's type before calling any other
-   functions.  */
-extern void deprecated_set_frame_type (struct frame_info *,
-                                      enum frame_type type);
-
 /* Unwind the stack frame so that the value of REGNUM, in the previous
    (up, older) frame is returned.  If VALUEP is NULL, don't
    fetch/compute the value.  Instead just return the location of the