This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/13615] inherited typedefs not found properly


http://sourceware.org/bugzilla/show_bug.cgi?id=13615

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2012-11-16 20:54:34 UTC ---
CVSROOT:    /cvs/src
Module name:    src
Changes by:    kseitz@sourceware.org    2012-11-16 20:54:30

Modified files:
    gdb            : ChangeLog cp-namespace.c 
    gdb/testsuite  : ChangeLog 
    gdb/testsuite/gdb.cp: derivation.exp derivation.cc 
Added files:
    gdb/testsuite/gdb.cp: baseenum.cc baseenum.exp 

Log message:
    PR c++/13615
    * cp-namespace.c (cp_lookup_symbol_in_namespace): Add SEARCH
    parameter and pass it to lookup_symbol_file.
    (cp_lookup_symbol_imports): Tell cp_lookup_symbol_in_namespace
    to search base classes.
    (cp_lookup_symbol_namespace): Likewise.
    (lookup_namespace_scope): Likewise.
    (lookup_symbol_file): Add SEARCH parameter.
    If SEARCH is non-zero and no symbol is found, lookup the class
    and call cp_lookup_nested_symbol.
    (find_symbol_in_baseclass): New function.
    (cp_lookup_nested_symbol): Do not let
    cp_lookup_symbol_in_namespace search through base classes.
    Do that later when there is no global symbol match.

    PR c++/13615
    * gdb.cp/baseenum.cc: New file.
    * gdb.cp/baseenum.exp: New file.
    * gdb.cp/derivation.cc (A): Add copyright.
    Add a typedef.
    (B): Use A::value_type instead of int.  Change all references.
    (D): Use value_type instead of int.  Change all references.
    (E): Likewise.
    (F); Likewise.
    (Z): New class.
    (ZZ): New class.
    (N, Base, Derived): New namespace and classes.
    (main): Add instances of Z and ZZ.
    Make sure all symbols from N are kept.
    * gdb.cp/derivation.exp: Update typedef changes in tests.
    Add tests for class typedefs both before and after starting
    the inferior.
    Add tests for searching for a typedef while stopped in a
    method.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.14837&r2=1.14838
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/cp-namespace.c.diff?cvsroot=src&r1=1.59&r2=1.60
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.3459&r2=1.3460
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/baseenum.cc.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/baseenum.exp.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/derivation.exp.diff?cvsroot=src&r1=1.22&r2=1.23
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/derivation.cc.diff?cvsroot=src&r1=1.3&r2=1.4

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]