From: Siva Chandra Date: Tue, 9 Sep 2014 13:46:14 +0000 (-0700) Subject: Add new non-trial return value tests. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2d1c107c1b8835f4e85c35320d8595a4a6fcaebe;p=deliverable%2Fbinutils-gdb.git Add new non-trial return value tests. gdb/testsuite/ChangeLog: * gdb.cp/non-trivial-retval.cc: Add new test cases. * gdb.cp/non-trivial-retval.exp: Add new tests. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2602e7f2a0..c76146113f 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-10-15 Siva Chandra Reddy + + * 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 PR c++/13403 diff --git a/gdb/testsuite/gdb.cp/non-trivial-retval.cc b/gdb/testsuite/gdb.cp/non-trivial-retval.cc index 4c7810b1bd..8382f40d0a 100644 --- a/gdb/testsuite/gdb.cp/non-trivial-retval.cc +++ b/gdb/testsuite/gdb.cp/non-trivial-retval.cc @@ -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) { diff --git a/gdb/testsuite/gdb.cp/non-trivial-retval.exp b/gdb/testsuite/gdb.cp/non-trivial-retval.exp index 976b99f8bf..7934946854 100644 --- a/gdb/testsuite/gdb.cp/non-trivial-retval.exp +++ b/gdb/testsuite/gdb.cp/non-trivial-retval.exp @@ -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)"