diff options
Diffstat (limited to 'gdb/testsuite/gdb.cp/virtfunc.exp')
-rw-r--r-- | gdb/testsuite/gdb.cp/virtfunc.exp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.cp/virtfunc.exp b/gdb/testsuite/gdb.cp/virtfunc.exp index 2da0763..a9c9c7b 100644 --- a/gdb/testsuite/gdb.cp/virtfunc.exp +++ b/gdb/testsuite/gdb.cp/virtfunc.exp @@ -1,4 +1,5 @@ -# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004 +# Copyright 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, +# 2006 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -217,6 +218,14 @@ proc test_virtual_calls {} { -re "\\$\[0-9]+ = 102$nl$gdb_prompt $" { pass "print pEe->D::vg()" } + -re "\\$\[0-9]+ = 202$nl$gdb_prompt $" { + # To get this result, we have called pEe->*(&D::vg) (). + # That's how GDB interprets this, but it's wrong; in fact + # the explicit D:: means to bypass virtual function lookup, + # and call D::vg as if it were non-virtual. We still have + # to e.g. adjust "this", though. + kfail "gdb/1064" "print pEe->D::vg()" + } -re "Attempt to take address of value not located in memory.$nl$gdb_prompt $" { kfail "gdb/1064" "print pEe->D::vg()" } |