This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. c4f87ca6dbe041e2a331e5054a76c9134f29d545
- From: kseitz at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 16 Apr 2014 21:20:54 -0000
- Subject: gdb and binutils branch master updated. c4f87ca6dbe041e2a331e5054a76c9134f29d545
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via c4f87ca6dbe041e2a331e5054a76c9134f29d545 (commit)
from fe28be73c7c22cc6eb1c3573f1be65c75e37d9b7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c4f87ca6dbe041e2a331e5054a76c9134f29d545
commit c4f87ca6dbe041e2a331e5054a76c9134f29d545
Author: Keith Seitz <keiths@redhat.com>
Date: Wed Apr 16 14:20:19 2014 -0700
PR c++/16597
[forgot to commit/push these with previous push]
If lookup_symbol_file tries to locate a member variable with NULL name:
/* A simple lookup failed. Check if the symbol was defined in
a base class. */
cleanup = make_cleanup (null_cleanup, NULL);
/* Find the name of the class and the name of the method,
variable, etc. */
prefix_len = cp_entire_prefix_len (name);
/* If no prefix was found, search "this". */
if (prefix_len == 0)
{
struct type *type;
struct symbol *this;
this = lookup_language_this (language_def (language_cplus), block);
if (this == NULL)
{
do_cleanups (cleanup);
return NULL;
}
type = check_typedef (TYPE_TARGET_TYPE (SYMBOL_TYPE (this)));
klass = xstrdup (TYPE_NAME (type));
nested = xstrdup (name);
}
TYPE_NAME (type) is NULL, so xstrdup (NULL) and boom!
This can happen, e.g., with clang++. See testsuite/gdb.cp/namelessclass.exp
or the bugzilla report.
This patch simply adds a fencepost against this case, allowing the caller
of lookup_symbol_file to search other blocks for the right symbol.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 6 ++++++
gdb/cp-namespace.c | 5 +++++
gdb/testsuite/ChangeLog | 7 +++++++
3 files changed, 18 insertions(+), 0 deletions(-)
hooks/post-receive
--
gdb and binutils