Re: Problem calling functions within gdb (version 7.5)

Keith Seitz <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 04/25/2013 07:24 AM, Saurabh T wrote:
>> From: [email protected]
>>
>> Saurabh> 1. call fn(3, x)
>> Saurabh> gdb says: Cannot resolve function fn to any overloaded instance
>> Saurabh> This used to work with gdb 7.2. The function signature completely
>> Saurabh> matches the arguments so I dont know what it's complaining about.
>>
>> Please file a bug report.
>
> Done: http://sourceware.org/bugzilla/show_bug.cgi?id=15398

Thank you. This was introduced in 7.2 with support for ADL. Looks like a 
bug in types_equal, which doesn't account for cv qualifiers.

>> Saurabh> 2. print k
>> Saurabh> Let's say this prints 0x7ffb24
>> Saurabh> call fn2(0x7ffb24)
>> Saurabh> gdb again says: Cannot resolve function fn2 to any overloaded instance
>> Saurabh> This also used to work with gdb 7.2. Here I can understand if
>> Saurabh> promoting ints to arbitrary pointers is no longer supported.
>>
>> I was under the impression that we allowed this again, but it fails for
>> me too. Please file another bug for this one.
>
> Done: http://sourceware.org/bugzilla/show_bug.cgi?id=15399

What is "show check type"? If that is enabled/non-zero, gdb will not 
allow this conversion. If you disable it ("set check type 0"), it should 
work:

(gdb) p fn2(0x7fffffffde14)
Cannot resolve function fn2 to any overloaded instance
(gdb) set check type 0
(gdb) p fn2(0x7fffffffde14)
3
$7 = void

Keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.