[Bug exp/17106] Infinite recursion in in_dynamic_types (e.g. when printing a variable)
cvs-commit at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Mon Jul 14 16:39:00 GMT 2014
https://sourceware.org/bugzilla/show_bug.cgi?id=17106
--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
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, gdb-7.8-branch has been updated
via c086b11bd257f68392b75a2297d601a6ab741a6b (commit)
from cb1a4f45173ee9c7482b3ae0f0a44cffcad4dd24 (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=c086b11bd257f68392b75a2297d601a6ab741a6b
commit c086b11bd257f68392b75a2297d601a6ab741a6b
Author: Tom Tromey <tromey@redhat.com>
Date: Wed Jul 2 15:53:31 2014 -0600
fix PR 17106
This fixes PR 17106, a regression in printing.
The bug is that resolve_dynamic_type follows struct members and
references, but doesn't consider the possibility of infinite
recursion.
This patch fixes the problem by limiting reference following to the
topmost layer of calls -- that is, reference-typed struct members are
never considered as being VLAs.
Built and regtested on x86-64 Fedora 20.
New test case included.
2014-07-14 Tom Tromey <tromey@redhat.com>
PR exp/17106:
* gdbtypes.c (is_dynamic_type_internal): New function, from
is_dynamic_type.
(is_dynamic_type): Rewrite.
(resolve_dynamic_union): Use resolve_dynamic_type_internal.
(resolve_dynamic_struct): Likewise.
(resolve_dynamic_type_internal): New function, from
resolve_dynamic_type.
(resolve_dynamic_type): Rewrite.
2014-07-14 Tom Tromey <tromey@redhat.com>
* gdb.cp/vla-cxx.cc: New file.
* gdb.cp/vla-cxx.exp: New file.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 12 ++++++++
gdb/gdbtypes.c | 56 +++++++++++++++++++++++++++----------
gdb/testsuite/ChangeLog | 5 +++
gdb/testsuite/gdb.cp/vla-cxx.cc | 49 +++++++++++++++++++++++++++++++++
gdb/testsuite/gdb.cp/vla-cxx.exp | 35 +++++++++++++++++++++++
5 files changed, 142 insertions(+), 15 deletions(-)
create mode 100644 gdb/testsuite/gdb.cp/vla-cxx.cc
create mode 100644 gdb/testsuite/gdb.cp/vla-cxx.exp
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Gdb-prs
mailing list