1/* Code to go along with tests in breakpoint.exp.
2
3   Copyright 2004-2020 Free Software Foundation, Inc.
4
5   This file is part of GDB.
6
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 3 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20int g = 0;
21
22class C1 {
23public:
24  C1(int i) : i_(i) {}
25
26  int foo ()
27  {
28    return 1; // conditional breakpoint in method
29  }
30
31  void bar ()
32  {
33    for (int i = 0; i < 1; ++i)
34      {
35	int t = i * 2;
36	g += t; // conditional breakpoint in method 2
37      }
38  }
39
40  class Nested {
41  public:
42    int
43    foo ()
44    {
45      return 1;
46    }
47  };
48
49private:
50  int i_;
51};
52
53int main ()
54{
55  C1::Nested c1;
56
57  c1.foo ();
58
59  C1 c2 (2), c3 (3);
60  c2.foo ();
61  c2.bar ();
62  c3.foo ();
63  c3.bar ();
64
65  return 0;
66}
67