mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-18 00:32:30 +08:00
2011-04-29 Phil Muldoon <pmuldoon@redhat.com>
PR mi/12531 * varobj.c (install_default_visualizer): Do not install a visualizer if the varobj is CPLUS_FAKE_CHILD. (construct_visualizer): Likewise. 2011-04-29 Phil Muldoon <pmuldoon@redhat.com> PR mi/12531 * gdb.python/py-mi.exp: Add CPLUS_FAKE_CHILD tests and a C++ compile target. * gdb.python/py-prettyprint.exp: Add C++ object for CPLUS_FAKE_CHILD test.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2011-04-29 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
|
PR mi/12531
|
||||||
|
|
||||||
|
* varobj.c (install_default_visualizer): Do not install a
|
||||||
|
visualizer if the varobj is CPLUS_FAKE_CHILD.
|
||||||
|
(construct_visualizer): Likewise.
|
||||||
|
|
||||||
2011-04-28 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2011-04-28 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* symtab.c (expand_partial_symbol_name): New variable NCMP. Support
|
* symtab.c (expand_partial_symbol_name): New variable NCMP. Support
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2011-04-29 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
|
PR mi/12531
|
||||||
|
|
||||||
|
* gdb.python/py-mi.exp: Add CPLUS_FAKE_CHILD tests and a C++
|
||||||
|
compile target.
|
||||||
|
* gdb.python/py-prettyprint.exp: Add C++ object for
|
||||||
|
CPLUS_FAKE_CHILD test.
|
||||||
|
|
||||||
2011-04-28 Ulrich Weigand <ulrich.weigand@linaro.org>
|
2011-04-28 Ulrich Weigand <ulrich.weigand@linaro.org>
|
||||||
|
|
||||||
* gdb.base/signest.exp: New file.
|
* gdb.base/signest.exp: New file.
|
||||||
|
@ -283,4 +283,44 @@ mi_list_varobj_children nstype2 {
|
|||||||
{ {nstype2.<error at 0>} {<error at 0>} 6 {char \[6\]} }
|
{ {nstype2.<error at 0>} {<error at 0>} 6 {char \[6\]} }
|
||||||
} "list children after setting exception flag"
|
} "list children after setting exception flag"
|
||||||
|
|
||||||
|
# C++ MI tests
|
||||||
|
gdb_exit
|
||||||
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
|
||||||
|
executable {debug c++ additional_flags=-DMI}] != "" } {
|
||||||
|
untested "Couldn't compile ${srcfile} in c++ mode"
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [mi_gdb_start] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
mi_delete_breakpoints
|
||||||
|
mi_gdb_reinitialize_dir $srcdir/$subdir
|
||||||
|
mi_gdb_load ${binfile}
|
||||||
|
|
||||||
|
if {[lsearch -exact [mi_get_features] python] < 0} {
|
||||||
|
unsupported "python support is disabled"
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
mi_runto main
|
||||||
|
mi_continue_to_line \
|
||||||
|
[gdb_get_line_number {break to inspect struct and union} ${testfile}.c] \
|
||||||
|
"step to breakpoint"
|
||||||
|
|
||||||
|
# Test python/12531. Install visualizer on a cplus_fake_child.
|
||||||
|
mi_create_varobj fake fake \
|
||||||
|
"create fake varobj"
|
||||||
|
|
||||||
|
mi_list_varobj_children fake {
|
||||||
|
{ fake.private private 1 }
|
||||||
|
} "list children of fake"
|
||||||
|
|
||||||
|
mi_list_varobj_children fake.private {
|
||||||
|
{ fake.private.sname sname 0 int }
|
||||||
|
} "list children fake.private"
|
||||||
|
|
||||||
|
mi_gdb_test "-var-set-visualizer fake.private gdb.default_visualizer" \
|
||||||
|
"\\^done" "Install visualizer on a cplus_fake_child"
|
||||||
|
|
||||||
remote_file host delete ${remote_python_file}
|
remote_file host delete ${remote_python_file}
|
||||||
|
@ -94,6 +94,16 @@ class Derived : public Vbase1, public Vbase2, public Vbase3
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Fake
|
||||||
|
{
|
||||||
|
int sname;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Fake (const int name = 0):
|
||||||
|
sname (name)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct substruct {
|
struct substruct {
|
||||||
@ -267,6 +277,7 @@ main ()
|
|||||||
|
|
||||||
Derived derived;
|
Derived derived;
|
||||||
|
|
||||||
|
Fake fake (42);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
add_item (&c, 23); /* MI breakpoint here */
|
add_item (&c, 23); /* MI breakpoint here */
|
||||||
|
@ -1397,6 +1397,10 @@ install_visualizer (struct varobj *var, PyObject *constructor,
|
|||||||
static void
|
static void
|
||||||
install_default_visualizer (struct varobj *var)
|
install_default_visualizer (struct varobj *var)
|
||||||
{
|
{
|
||||||
|
/* Do not install a visualizer on a CPLUS_FAKE_CHILD. */
|
||||||
|
if (CPLUS_FAKE_CHILD (var))
|
||||||
|
return;
|
||||||
|
|
||||||
if (pretty_printing)
|
if (pretty_printing)
|
||||||
{
|
{
|
||||||
PyObject *pretty_printer = NULL;
|
PyObject *pretty_printer = NULL;
|
||||||
@ -1429,6 +1433,10 @@ construct_visualizer (struct varobj *var, PyObject *constructor)
|
|||||||
{
|
{
|
||||||
PyObject *pretty_printer;
|
PyObject *pretty_printer;
|
||||||
|
|
||||||
|
/* Do not install a visualizer on a CPLUS_FAKE_CHILD. */
|
||||||
|
if (CPLUS_FAKE_CHILD (var))
|
||||||
|
return;
|
||||||
|
|
||||||
Py_INCREF (constructor);
|
Py_INCREF (constructor);
|
||||||
if (constructor == Py_None)
|
if (constructor == Py_None)
|
||||||
pretty_printer = NULL;
|
pretty_printer = NULL;
|
||||||
|
Reference in New Issue
Block a user