1 /* Copyright 2015-2023 Free Software Foundation, Inc. 2 3 This program is free software; you can redistribute it and/or modify 4 it under the terms of the GNU General Public License as published by 5 the Free Software Foundation; either version 3 of the License, or 6 (at your option) any later version. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16 namespace N1 17 { 18 namespace N2 19 { 20 namespace N3 21 { 22 namespace N4 23 { 24 static int n4static = 400; 25 26 struct S4 27 { 28 static int s4static; 29 int s4int_; 30 S4 () : s4int_ (4) {}; 31 ~S4 () { --s4static; } 32 33 int get_var () { return s4int_; } 34 static int get_svar () { return s4static; } 35 }; 36 int S4::s4static = 40; 37 } 38 } 39 } 40 } 41 42 int 43 main () 44 { 45 using namespace N1::N2::N3::N4; 46 47 S4 s4; 48 int var = 1234; 49 50 var += s4.s4int_; /* break here */ 51 return S4::get_svar () - 10 * s4.get_var (); 52 } 53