diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/cp-namespace.c | 5 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 |
3 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cbd3a77..cd35011 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-04-16 Keith Seitz <keiths@redhat.com> + + PR c++/16597 + * cp-namespace.c (lookup_symbol_file): If the type name of + `this' is NULL, return immediately. + 2014-04-14 Keith Seitz <keiths@redhat.com> PR c++/16253 diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c index 1085556..ae7c852 100644 --- a/gdb/cp-namespace.c +++ b/gdb/cp-namespace.c @@ -694,6 +694,11 @@ lookup_symbol_file (const char *name, } type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this))); + /* If TYPE_NAME is NULL, abandon trying to find this symbol. + This can happen for lambda functions compiled with clang++, + which outputs no name for the container class. */ + if (TYPE_NAME (type) == NULL) + return NULL; klass = xstrdup (TYPE_NAME (type)); nested = xstrdup (name); } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 7c7bd34..a7e7dcb 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-04-16 Keith Seitz <keiths@redhat.com> + + PR c++/16597 + * gdb.cp/namelessclass.cc: New file. + * gdb.cp/namelessclass.exp: New file. + * gdb.cp/namelessclass.S: New file. + 2014-04-16 Doug Evans <dje@google.com> * lib/gdbserver-support.exp (gdbserver_default_get_remote_address): |