daily update
[external/binutils.git] / gdb / testsuite / gdb.cp / breakpoint.cc
1 /* Code to go along with tests in breakpoint.exp.
2    
3    Copyright 2004, 2007, 2008, 2009 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
20 int g = 0;
21
22 class C1 {
23 public:
24   C1(int i) : i_(i) {}
25
26   int foo ()
27   {
28     return 1; // conditional breakpoint in method
29   }
30
31   int 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
49 private:
50   int i_;
51 };
52
53 int 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 }