Re: [patch/rfc] frame_id_unwind()

Alexandre Oliva
2002-12-13T20:21:08Z

[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]

On Dec 11, 2002, Andrew Cagney <ac131313@redhat.com> wrote:

> +struct frame_id
^^
> +dummy_frame_id_unwind (struct frame_info *frame,
> + void **cache)

> +extern struct frame_id dummy_frame_id_unwind (struct frame_info *frame,
> + void **unwind_cache);
> +
^^

> +struct frame_id
> +frame_id_unwind (struct frame_info *frame)
> +{
> + if (!frame->id_unwind_cache_p)
> + {
> + frame->id_unwind_cache =
> + frame->id_unwind (frame, &frame->unwind_cache);
[ type mismatch above ]
> + frame->id_unwind_cache_p = 1;
> + }
> + return frame->id_unwind_cache;
> +}

> +/* Unwind the frame ID. Return an ID that uniquely identifies the
> + caller's frame. */
> +extern struct frame_id frame_id_unwind (struct frame_info *frame);
^^

> + struct frame_id id_unwind_cache;
^^

I believe this is enough evidence that the typedef below was meant to
have struct frame_id in the return type, instead of frame_info:

> +typedef struct frame_info (frame_id_unwind_ftype) (struct frame_info *frame,
> + void **unwind_cache);
^^^^

So I'm checking this in as obvious.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gdb-frame-id-unwind-ret-type.patch --]
[-- Type: text/x-patch, Size: 820 bytes --]

Index: gdb/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>

* frame.h (frame_id_unwind_ftype): Fix typo in return type.

Index: gdb/frame.h
===================================================================
RCS file: /cvs/uberbaum/gdb/frame.h,v
retrieving revision 1.49
diff -u -p -r1.49 frame.h
--- gdb/frame.h 13 Dec 2002 16:40:25 -0000 1.49
+++ gdb/frame.h 13 Dec 2002 20:14:23 -0000
@@ -335,8 +335,8 @@ typedef CORE_ADDR (frame_pc_unwind_ftype
/* Same as for registers above, but return the ID of the frame that
called this one. */

-typedef struct frame_info (frame_id_unwind_ftype) (struct frame_info *frame,
- void **unwind_cache);
+typedef struct frame_id (frame_id_unwind_ftype) (struct frame_info *frame,
+ void **unwind_cache);

/* Describe the saved registers of a frame. */

[-- Attachment #3: Type: text/plain, Size: 289 bytes --]

--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer