diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/call-c.cc | 11 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/call-c.exp | 5 |
3 files changed, 22 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ddfc839..917d930 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2008-06-06 Paul Pluzhnikov <ppluzhnikov@google.com> + + * gdb.cp/call-c.exp: Test for incorrect handling of reference + to pointer. + * gdb.cp/call-c.cc: Likewise. + 2008-06-06 Nick Roberts <nickrob@snap.net.nz> * gdb.base/annota1.exp (thread_switch): Test for thread-changed diff --git a/gdb/testsuite/gdb.cp/call-c.cc b/gdb/testsuite/gdb.cp/call-c.cc index a8119f9..8ab617e 100644 --- a/gdb/testsuite/gdb.cp/call-c.cc +++ b/gdb/testsuite/gdb.cp/call-c.cc @@ -21,7 +21,18 @@ int func(int x) return x; } +struct Foo { + Foo() : x_(1) { } + int func() const { return x_; } + private: + int x_; +}; + int main() { + Foo f; + Foo *pf = &f; + Foo* &rf = pf; + rf->func(); /* set breakpoint here */ return func(0); } diff --git a/gdb/testsuite/gdb.cp/call-c.exp b/gdb/testsuite/gdb.cp/call-c.exp index 7e2d992..494d48f 100644 --- a/gdb/testsuite/gdb.cp/call-c.exp +++ b/gdb/testsuite/gdb.cp/call-c.exp @@ -43,4 +43,9 @@ gdb_load ${binfile} runto_main +gdb_test "b [gdb_get_line_number {breakpoint here} ${testfile}.cc ]" \ + ".*Breakpoint .*call-c.*" + gdb_test "print foo(1)" "\\\$$decimal = 1" +gdb_test "continue" ".*breakpoint here.*" "continue to bp" +gdb_test "print rf->func()" "\\\$$decimal = 1" |