aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.python/py-explore.cc
diff options
context:
space:
mode:
authorSiva Chandra Reddy <sivachandra@sourceware.org>2012-04-11 05:50:44 +0000
committerSiva Chandra Reddy <sivachandra@sourceware.org>2012-04-11 05:50:44 +0000
commit06fc020f10ddb58fc73d9d2a20cde274f14111e4 (patch)
tree0f5d95483ff6b0ce9c8ef4cfb6212bc8db65e0e8 /gdb/testsuite/gdb.python/py-explore.cc
parent1cd470df207d45a647e161d8580f15783a74e786 (diff)
downloadgdb-06fc020f10ddb58fc73d9d2a20cde274f14111e4.zip
gdb-06fc020f10ddb58fc73d9d2a20cde274f14111e4.tar.gz
gdb-06fc020f10ddb58fc73d9d2a20cde274f14111e4.tar.bz2
2012-04-02 Siva Chandra Reddy <sivachandra@google.com>
New command 'explore' which helps explore values and types in scope. * NEWS: Add an entry about the new 'explore' command. * data-directory/Makefile.in: Add gdb/command/explore.py * python/lib/gdb/command/explore.py: Implemention of the 'explore' command using the GDB Python API. * doc/gdb.texinfo (Examining Data): Document the 'explore' command. * testsuite/gdb.python/Makefile.in: Add py-explore to EXECUTABLES. * testsuite/gdb.python/py-explore.c: C program used for testing the new 'explore' command on C constructs. * testsuite/gdb.python/py-explore.cc: C++ program used for testing the new 'explore' command on C++ constructs. * testsuite/gdb-python/py-explore.exp: Tests for the new 'explore' command on C constructs. * testsuite/gdb-python/py-explore-cc.exp: Tests for the new 'explore' command on C++ constructs.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-explore.cc')
-rw-r--r--gdb/testsuite/gdb.python/py-explore.cc54
1 files changed, 54 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.python/py-explore.cc b/gdb/testsuite/gdb.python/py-explore.cc
new file mode 100644
index 0000000..420ba57
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-explore.cc
@@ -0,0 +1,54 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2012 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+class A {
+ public:
+ virtual ~A() { }
+};
+
+class B : public A {
+ public:
+ virtual ~B() { }
+
+ int i;
+ char c;
+};
+
+typedef int *int_ptr;
+
+int
+func (const A &a)
+{
+ int val = 10;
+ int &int_ref = val;
+ int_ptr ptr = &val;
+ int_ptr &int_ptr_ref = ptr;
+ B b;
+
+ b.i = 10;
+ b.c = 'a';
+
+ return 0; /* Break here. */
+}
+
+int
+main ()
+{
+ A obj;
+ return func (obj);
+}