[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gdb
Subject:    Re: Problem with virtual function pointers
From:       Corinna Vinschen <vinschen () redhat ! com>
Date:       2003-03-27 16:18:24
Message-ID: 20030327161824.GM23762 () cygbert ! vinschen ! de
[Download RAW message or body]

On Thu, Mar 27, 2003 at 10:26:52AM -0500, Daniel Jacobowitz wrote:
> There's your bug, right on schedule.  Look at the line:
>   addr = unpack_pointer (lookup_pointer_type (builtin_type_void), valaddr);
> 
> Recommend using builtin_type_void_func_ptr instead of
> lookup_pointer_type (builtin_type_void).  Does that fix it?

Yes, it does fix the problem.  Thank you!

However, I don't understand why it's done this way.  The incoming
type into this function is already correct AFAICS (well, this time,
I didn't get it when I wrote my first posting, apparently).  type
is a TYPE_CODE_PTR to a TYPE_CODE_METHOD to TYPE_CODE_VOID.

So, from my point of view the correct call would just be

  addr = unpack_pointer (type, valaddr);

Why isn't type just used as is?

Btw., I've just ran the full c++ testsuite again and using just type shows
no regressions (for xstormy16).


Corinna

-- 
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.
mailto:vinschen@redhat.com

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic