annotate gcc/testsuite/g++.old-deja/g++.mike/leak1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do run }
kono
parents:
diff changeset
2 int count = 0;
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 class T {
kono
parents:
diff changeset
5 int i;
kono
parents:
diff changeset
6 public:
kono
parents:
diff changeset
7 T() {
kono
parents:
diff changeset
8 i = 1;
kono
parents:
diff changeset
9 ++count;
kono
parents:
diff changeset
10 }
kono
parents:
diff changeset
11 T(const T& o) {
kono
parents:
diff changeset
12 i = o.i;
kono
parents:
diff changeset
13 ++count;
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15 T operator +(const T& o) {
kono
parents:
diff changeset
16 T r;
kono
parents:
diff changeset
17 r.i = this->i + o.i;
kono
parents:
diff changeset
18 return r;
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20 operator int () {
kono
parents:
diff changeset
21 return i;
kono
parents:
diff changeset
22 }
kono
parents:
diff changeset
23 ~T() {
kono
parents:
diff changeset
24 --count;
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26 } s, b;
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 void bar() {
kono
parents:
diff changeset
29 static int j = int(s+b);
kono
parents:
diff changeset
30 int i = int(s+b);
kono
parents:
diff changeset
31 }
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 int i = int(s+b);
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 int main() {
kono
parents:
diff changeset
36 bar();
kono
parents:
diff changeset
37 bar();
kono
parents:
diff changeset
38 return count != 2;
kono
parents:
diff changeset
39 }