diff options
author | Chris Moller <cmoller@cygnus> | 2009-12-10 20:57:10 +0000 |
---|---|---|
committer | Chris Moller <cmoller@cygnus> | 2009-12-10 20:57:10 +0000 |
commit | 191ca0a151fe8d5d19097b476b4050697b0e70ba (patch) | |
tree | 1fed80abe67c35ae502ef970e6d452789ab17a40 /gdb/testsuite/gdb.cp/virtfunc2.cc | |
parent | a0351a698b33aea0c0cec14ae44070a45bac6329 (diff) | |
download | gdb-191ca0a151fe8d5d19097b476b4050697b0e70ba.zip gdb-191ca0a151fe8d5d19097b476b4050697b0e70ba.tar.gz gdb-191ca0a151fe8d5d19097b476b4050697b0e70ba.tar.bz2 |
Fix for PR 9399 gdb can't call or print a const function that uses virtual inheritance
Diffstat (limited to 'gdb/testsuite/gdb.cp/virtfunc2.cc')
-rw-r--r-- | gdb/testsuite/gdb.cp/virtfunc2.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/virtfunc2.cc b/gdb/testsuite/gdb.cp/virtfunc2.cc new file mode 100644 index 0000000..e228236 --- /dev/null +++ b/gdb/testsuite/gdb.cp/virtfunc2.cc @@ -0,0 +1,40 @@ + /* This test script is part of GDB, the GNU debugger. + + Copyright 2009 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +class interface +{ + virtual int do_print3() { return 111111; } +}; + +class Obj : virtual public interface +{ +public: + virtual int do_print() { return 123456; } +}; + +class Obj2 : Obj, virtual public interface +{ + virtual int do_print2() { return 654321; } +}; + +int main(int argc, char** argv) { + Obj o; + Obj2 o2; + return 0; // marker 1 +} |