1/* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2003-2020 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 18class A 19{ 20public: 21 enum E {X,Y,Z}; 22}; 23 24class B1 : public A 25{ 26}; 27 28class B2 : public A 29{ 30}; 31 32class C : public B1, public B2 33{ 34public: 35 void test(E e); 36}; 37 38void C::test(E e) 39{ 40 if (e == X) // breakpoint 1 41 { 42 } 43} 44 45namespace 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 71int 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 81