diff options
Diffstat (limited to 'gdb/testsuite/gdb.cp/pr9594.cc')
-rw-r--r-- | gdb/testsuite/gdb.cp/pr9594.cc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/pr9594.cc b/gdb/testsuite/gdb.cp/pr9594.cc new file mode 100644 index 0000000..bb7e1d6 --- /dev/null +++ b/gdb/testsuite/gdb.cp/pr9594.cc @@ -0,0 +1,51 @@ + +class Base +{ +public: + virtual int get_foo () { return 1; } + int base_function_only () { return 2; } +}; + +class Foo : public Base +{ + +private: + int foo_value; + +public: + Foo () { foo_value = 0;} + Foo (int i) { foo_value = i;} + ~Foo () { } + void set_foo (int value); + int get_foo (); + + // Something similar to a constructor name. + void Foofoo (); + + bool operator== (const Foo &other) { return foo_value == other.foo_value; } +}; + +void Foo::set_foo (int value) +{ + foo_value = value; +} + +int Foo::get_foo () +{ + return foo_value; +} + +void Foo::Foofoo () +{ +} + +int main () +{ + // Anonymous struct with method. + struct { + int get() { return 5; } + } a; + Foo foo1; + foo1.set_foo (42); // Set breakpoint here. + return 0; +} |