On Fri, Mar 13, 2009 at 11:20:38AM +0100, Thomas Richter wrote:
> Package: gdb
> Version: 6.8-3
> Severity: normal
> 
> 
> gdb does not provide any useful TAB expansion for class members. That is, if 
> you define a
> name space like A::, pressing on TAB presents all useless symbols that are 
> not even members
> of the class. To reproduce, enter the following program:

This is improved in GDB 7.0, but still not great.

(gdb) complete break A::
break A::A(int)
break A::getX() const
break A::~A()
(gdb) complete break A::A
break A::A(int)
(gdb) break A::A(int)
Breakpoint 1 at 0x4006eb: file 519525.cc, line 12. (2 locations)

Good so far.  But:

(gdb) break A::getX() const
Function "A::getX()" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) break A::getX()
Function "A::getX()" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) break 'A::getX() const'
Breakpoint 2 at 0x4006a4: file 519525.cc, line 24.

If the quotes are necessary, GDB should insert them for you; ideally
they shouldn't be necessary.

And:

(gdb) complete break A::~
break A::~<anonymous struct>
break A::~<anonymous struct>::<anonymous union>
break A::~A
break A::~A::A(int)
break A::~A::getX() const
break A::~A::~A()
break A::~FILE
...

Completion is not recognizing ~ as valid in the middle of a symbol.

-- 
Daniel Jacobowitz
CodeSourcery



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to