From a42952252f6cfaf3b84072997bd187c39b2088bb Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 2 Feb 2009 21:50:13 +0000 Subject: gdb PR exp/9059: * valops.c (find_overload_match): Follow typedefs before taking address of object argument. gdb/testsuite PR exp/9059: * gdb.cp/call-c.exp: Add regression test. * gdb.cp/call-c.cc (FooHandle): New typedef. (main): New variable 'handle'. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.cp/call-c.cc | 3 +++ gdb/testsuite/gdb.cp/call-c.exp | 3 +++ 3 files changed, 13 insertions(+) (limited to 'gdb/testsuite') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3b3735c..55f2d0e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-02-02 Tom Tromey + + PR exp/9059: + * gdb.cp/call-c.exp: Add regression test. + * gdb.cp/call-c.cc (FooHandle): New typedef. + (main): New variable 'handle'. + 2009-01-30 Vladimir Prus * lib/mi-support.exp (et_mi_thread_list) diff --git a/gdb/testsuite/gdb.cp/call-c.cc b/gdb/testsuite/gdb.cp/call-c.cc index 1c54b89..cc90993 100644 --- a/gdb/testsuite/gdb.cp/call-c.cc +++ b/gdb/testsuite/gdb.cp/call-c.cc @@ -28,11 +28,14 @@ struct Foo { int x_; }; +typedef Foo *FooHandle; + int main() { Foo f; Foo *pf = &f; Foo* &rf = pf; + FooHandle handle = 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 cb3b945..a80f4dd 100644 --- a/gdb/testsuite/gdb.cp/call-c.exp +++ b/gdb/testsuite/gdb.cp/call-c.exp @@ -49,3 +49,6 @@ gdb_test "b [gdb_get_line_number {breakpoint here} ${testfile}.cc ]" \ gdb_test "print foo(1)" "\\\$$decimal = 1" gdb_test "continue" ".*breakpoint here.*" "continue to bp" gdb_test "print rf->func()" "\\\$$decimal = 1" + +# Regression test for method call via a typedef. +gdb_test "print handle->func()" "\\\$$decimal = 1" -- cgit v1.1