* namespace and argument dependent name lookup (ADL) in gdb
@ 2007-12-13 3:39 Peng Yu
2007-12-13 4:02 ` Daniel Jacobowitz
0 siblings, 1 reply; 3+ messages in thread
From: Peng Yu @ 2007-12-13 3:39 UTC (permalink / raw)
To: gdb
Hi,
I don't have to write test::f in the following program because of
argument dependent name lookup.
http://en.wikipedia.org/wiki/Argument_dependent_name_lookup
But to debug such program, I have to write the namespace test. For example,
(gdb) tb f
Function "f" not defined.
(gdb) tb test::f
Breakpoint 1 at 0x804867c: file main.cc, line 11.
I'm wondering if gdb supports ADL. In a big program, it might not be
easy for me to find out which namespace is the function "f" in. If gdb
support ADL, it would save user a lot of time.
Thanks,
Peng
#include <iostream>
namespace test {
struct A {
A() : x(10) { }
int x;
};
void f(const A &a) {
std::cout << a.x << std::endl;
}
}
int main(){
test::A a;
f(a);//do not have to write test::f
}
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: namespace and argument dependent name lookup (ADL) in gdb
2007-12-13 3:39 namespace and argument dependent name lookup (ADL) in gdb Peng Yu
@ 2007-12-13 4:02 ` Daniel Jacobowitz
[not found] ` <366c6f340712141515u4a55053if6bc378bc6712975@mail.gmail.com>
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Jacobowitz @ 2007-12-13 4:02 UTC (permalink / raw)
To: Peng Yu; +Cc: gdb
On Wed, Dec 12, 2007 at 09:38:53PM -0600, Peng Yu wrote:
> Hi,
>
> I don't have to write test::f in the following program because of
> argument dependent name lookup.
>
> http://en.wikipedia.org/wiki/Argument_dependent_name_lookup
>
> But to debug such program, I have to write the namespace test. For example,
> (gdb) tb f
> Function "f" not defined.
> (gdb) tb test::f
> Breakpoint 1 at 0x804867c: file main.cc, line 11.
That's not Koenig lookup. There's no arguments. If you were already
in the namespace 'test', GDB would search it.
> I'm wondering if gdb supports ADL. In a big program, it might not be
> easy for me to find out which namespace is the function "f" in. If gdb
> support ADL, it would save user a lot of time.
GDB supports some kinds of context-sensitive lookup, but not this one.
It is too complex to reconstruct the necessary information in the
debugger to do accurate name lookup.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-12-15 4:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-13 3:39 namespace and argument dependent name lookup (ADL) in gdb Peng Yu
2007-12-13 4:02 ` Daniel Jacobowitz
[not found] ` <366c6f340712141515u4a55053if6bc378bc6712975@mail.gmail.com>
2007-12-15 4:46 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox