OLD | NEW |
1 /* This testcase is part of GDB, the GNU debugger. | 1 /* This testcase is part of GDB, the GNU debugger. |
2 | 2 |
3 Copyright 2010-2012 Free Software Foundation, Inc. | 3 Copyright 2012 Free Software Foundation, Inc. |
4 | 4 |
5 This program is free software; you can redistribute it and/or modify | 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 | 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 | 7 the Free Software Foundation; either version 3 of the License, or |
8 (at your option) any later version. | 8 (at your option) any later version. |
9 | 9 |
10 This program is distributed in the hope that it will be useful, | 10 This program is distributed in the hope that it will be useful, |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 GNU General Public License for more details. | 13 GNU General Public License for more details. |
14 | 14 |
15 You should have received a copy of the GNU General Public License | 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/>. | 16 along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 */ | 17 */ |
18 | 18 |
| 19 class A { |
| 20 public: |
| 21 virtual ~A() { } |
| 22 }; |
19 | 23 |
20 int result = 0; | 24 class B : public A { |
| 25 public: |
| 26 virtual ~B() { } |
21 | 27 |
22 int multiply (int i) | 28 int i; |
| 29 char c; |
| 30 }; |
| 31 |
| 32 typedef int *int_ptr; |
| 33 |
| 34 int |
| 35 func (const A &a) |
23 { | 36 { |
24 return i * i; | 37 int val = 10; |
| 38 int &int_ref = val; |
| 39 int_ptr ptr = &val; |
| 40 int_ptr &int_ptr_ref = ptr; |
| 41 B b; |
| 42 |
| 43 b.i = 10; |
| 44 b.c = 'a'; |
| 45 |
| 46 return 0; /* Break here. */ |
25 } | 47 } |
26 | 48 |
27 int add (int i) | 49 int |
| 50 main () |
28 { | 51 { |
29 return i + i; | 52 A obj; |
| 53 return func (obj); |
30 } | 54 } |
31 | |
32 | |
33 int main (int argc, char *argv[]) | |
34 { | |
35 int foo = 5; | |
36 int bar = 42; | |
37 int i; | |
38 | |
39 for (i = 0; i < 10; i++) | |
40 { | |
41 result += multiply (foo); /* Break at multiply. */ | |
42 result += add (bar); /* Break at add. */ | |
43 } | |
44 | |
45 return 0; /* Break at end. */ | |
46 } | |
OLD | NEW |