aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/cp-namespace.c5
-rw-r--r--gdb/testsuite/ChangeLog7
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):