c++/24367: Infinite recursion of typedef substitution
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.cp / pr9594.cc
1
2 class Base
3 {
4 public:
5 virtual int get_foo () { return 1; }
6 int base_function_only () { return 2; }
7 };
8
9 class Foo : public Base
10 {
11
12 private:
13 int foo_value;
14
15 public:
16 Foo () { foo_value = 0;}
17 Foo (int i) { foo_value = i;}
18 ~Foo () { }
19 void set_foo (int value);
20 int get_foo ();
21
22 // Something similar to a constructor name.
23 void Foofoo ();
24
25 bool operator== (const Foo &other) { return foo_value == other.foo_value; }
26 };
27
28 void Foo::set_foo (int value)
29 {
30 foo_value = value;
31 }
32
33 int Foo::get_foo ()
34 {
35 return foo_value;
36 }
37
38 void Foo::Foofoo ()
39 {
40 }
41
42 namespace Test_NS {
43
44 int foo;
45 int bar;
46
47 namespace Nested {
48
49 int qux;
50
51 } /* namespace Nested */
52
53 } /* namespace Test_NS */
54
55 int main ()
56 {
57 // Anonymous struct with method.
58 struct {
59 int get() { return 5; }
60 } a;
61 Foo foo1;
62 foo1.set_foo (42); // Set breakpoint here.
63 a.get(); // Prevent compiler from throwing 'a' away.
64 return 0;
65 }
This page took 0.030442 seconds and 4 git commands to generate.