]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.cp/baseenum.cc
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.cp / baseenum.cc
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2003-2023 Free Software Foundation, Inc.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18 class A
19 {
20 public:
21 enum E {X,Y,Z};
22 };
23
24 class B1 : public A
25 {
26 };
27
28 class B2 : public A
29 {
30 };
31
32 class C : public B1, public B2
33 {
34 public:
35 void test(E e);
36 };
37
38 void C::test(E e)
39 {
40 if (e == X) // breakpoint 1
41 {
42 }
43 }
44
45 namespace N
46 {
47 class A
48 {
49 public:
50 enum E {X, Y, Z};
51 };
52
53 class B1 {};
54 class B2 : public A {};
55
56 class C : public B1, public B2
57 {
58 public:
59 void test (E e);
60 };
61
62 void
63 C::test (E e)
64 {
65 if (e == X) // breakpoint 2
66 {
67 }
68 }
69 }
70
71 int main()
72 {
73 C c;
74 c.test(A::X);
75
76 N::C nc;
77 nc.test (N::A::X);
78 return 0;
79 }
80