Add new non-trial return value tests.
authorSiva Chandra <sivachandra@chromium.org>
Tue, 9 Sep 2014 13:46:14 +0000 (06:46 -0700)
committerSiva Chandra <sivachandra@chromium.org>
Wed, 15 Oct 2014 11:27:13 +0000 (04:27 -0700)
gdb/testsuite/ChangeLog:

* gdb.cp/non-trivial-retval.cc: Add new test cases.
* gdb.cp/non-trivial-retval.exp: Add new tests.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/non-trivial-retval.cc
gdb/testsuite/gdb.cp/non-trivial-retval.exp

index 2602e7f..c761461 100644 (file)
@@ -1,5 +1,10 @@
 2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
 
+       * gdb.cp/non-trivial-retval.cc: Add new test cases.
+       * gdb.cp/non-trivial-retval.exp: Add new tests.
+
+2014-10-15  Siva Chandra Reddy  <sivachandra@google.com>
+
        PR c++/13403
        PR c++/15154
        * gdb.cp/non-trivial-retval.cc: New file.
index 4c7810b..8382f40 100644 (file)
@@ -63,6 +63,52 @@ f2 (int i1, int i2)
   return b;
 }
 
+class C
+{
+public:
+  virtual int method ();
+
+  int c;
+};
+
+int
+C::method ()
+{
+  return c;
+}
+
+C
+f3 (int i1, int i2)
+{
+  C c;
+
+  c.c = i1 + i2;
+
+  return c;
+}
+
+class D
+{
+public:
+  int d;
+};
+
+class E : public virtual D
+{
+public:
+  int e;
+};
+
+E
+f4 (int i1, int i2)
+{
+  E e;
+
+  e.e = i1 + i2;
+
+  return e;
+}
+
 int
 main (void)
 {
index 976b99f..7934946 100644 (file)
@@ -32,3 +32,5 @@ gdb_continue_to_breakpoint "Break here"
 
 gdb_test "p f1 (i1, i2)" ".* = {a = 123}" "p f1 (i1, i2)"
 gdb_test "p f2 (i1, i2)" ".* = {b = 123}" "p f2 (i1, i2)"
+gdb_test "p f3 (i1, i2)" ".* = {.* c = 123}" "p f3 (i1, i2)"
+gdb_test "p f4 (i1, i2)" ".* = {.* e = 123}" "p f4 (i1, i2)"