[binutils-gdb] gdb/testsuite: Expand gdb.cp/mb-ctor.exp to test dynamic allocation

Bruno Larsen blarsen@sourceware.org
Thu Jun 30 17:14:13 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0b1505c82dc5bb593608bb72c1db0496088f2d25

commit 0b1505c82dc5bb593608bb72c1db0496088f2d25
Author: Bruno Larsen <blarsen@redhat.com>
Date:   Tue Jun 7 16:07:07 2022 -0300

    gdb/testsuite: Expand gdb.cp/mb-ctor.exp to test dynamic allocation
    
    When testing GDB's ability to stop in constructors, gdb.cp/mb-ctor.exp
    only tested objects allocated on the stack. This commit adds a couple of
    dynamic allocations and tests if GDB can stop in it as well.

Diff:
---
 gdb/testsuite/gdb.cp/mb-ctor.cc  |  6 ++++++
 gdb/testsuite/gdb.cp/mb-ctor.exp | 18 ++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/gdb/testsuite/gdb.cp/mb-ctor.cc b/gdb/testsuite/gdb.cp/mb-ctor.cc
index c54b4fece48..faa59f16459 100644
--- a/gdb/testsuite/gdb.cp/mb-ctor.cc
+++ b/gdb/testsuite/gdb.cp/mb-ctor.cc
@@ -64,5 +64,11 @@ int main()
      DeeplyDerived's ctor.  */
   DeeplyDerived dd(15);
 
+  Derived *dyn_d = new Derived (24);
+  DeeplyDerived *dyn_dd = new DeeplyDerived (42);
+
+  delete dyn_d;
+  delete dyn_dd;
+
   return 0;
 }
diff --git a/gdb/testsuite/gdb.cp/mb-ctor.exp b/gdb/testsuite/gdb.cp/mb-ctor.exp
index f5f5d9143d1..5a3c0a4a90f 100644
--- a/gdb/testsuite/gdb.cp/mb-ctor.exp
+++ b/gdb/testsuite/gdb.cp/mb-ctor.exp
@@ -55,6 +55,24 @@ gdb_test "continue" \
 
 gdb_continue_to_breakpoint "set breakpoint here, second time" ".* breakpoint here"
 
+gdb_test "continue" \
+    ".*Breakpoint.*Derived.*i=24.*" \
+    "run to breakpoint 1 dynamic v1"
+
+gdb_continue_to_breakpoint "set breakpoint here, first dynamic time"\
+    ".* breakpoint here"
+
+gdb_test "continue" \
+    ".*Breakpoint.*Derived.*i=42.*" \
+    "run to breakpoint 1 dynamic v2"
+
+gdb_continue_to_breakpoint "set breakpoint here, second dynamic time"\
+    ".* breakpoint here"
+
+gdb_test "continue" ".*Breakpoint.*~Derived.*" "Run to dynamic destructor v1"
+
+gdb_test "continue" ".*Breakpoint.*~Derived.*" "Run to dynamic destructor v2"
+
 gdb_test "continue" \
     ".*Breakpoint.*~Derived.*" \
     "run to breakpoint 3 v1"


More information about the Gdb-cvs mailing list