MATCH: Improve `A CMP 0 ? A : -A` set of patterns to use bitwise_equal_p.
[official-gcc.git] / gcc / testsuite / gdc.test / fail_compilation / fail9414d.d
blob06d37ce8c601f59ca58f3b38db3b6a95ef26bb9a
1 /*
2 TEST_OUTPUT:
3 ---
4 fail_compilation/fail9414d.d(47): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
5 fail_compilation/fail9414d.d(34): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
6 fail_compilation/fail9414d.d(35): Error: variable `fail9414d.C.foo.bar.y` cannot modify parameter `y` in contract
7 fail_compilation/fail9414d.d(40): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
8 fail_compilation/fail9414d.d(41): Error: variable `fail9414d.C.foo.bar.y` cannot modify parameter `y` in contract
9 fail_compilation/fail9414d.d(42): Error: variable `fail9414d.C.foo.bar.s` cannot modify result `s` in contract
10 fail_compilation/fail9414d.d(52): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
11 fail_compilation/fail9414d.d(75): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
12 fail_compilation/fail9414d.d(76): Error: variable `fail9414d.C.foo.r` cannot modify result `r` in contract
13 fail_compilation/fail9414d.d(60): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
14 fail_compilation/fail9414d.d(61): Error: variable `fail9414d.C.foo.r` cannot modify result `r` in contract
15 fail_compilation/fail9414d.d(62): Error: variable `fail9414d.C.foo.baz.y` cannot modify parameter `y` in contract
16 fail_compilation/fail9414d.d(67): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
17 fail_compilation/fail9414d.d(68): Error: variable `fail9414d.C.foo.r` cannot modify result `r` in contract
18 fail_compilation/fail9414d.d(69): Error: variable `fail9414d.C.foo.baz.y` cannot modify parameter `y` in contract
19 fail_compilation/fail9414d.d(70): Error: variable `fail9414d.C.foo.baz.s` cannot modify result `s` in contract
20 fail_compilation/fail9414d.d(81): Error: variable `fail9414d.C.foo.x` cannot modify parameter `x` in contract
21 fail_compilation/fail9414d.d(82): Error: variable `fail9414d.C.foo.r` cannot modify result `r` in contract
22 ---
25 class C
27 static int foo(int x)
30 int a;
31 int bar(int y)
34 x = 10; // err
35 y = 10; // err
36 a = 1; // OK
38 out(s)
40 x = 10; // err
41 y = 10; // err
42 s = 10; // err
43 a = 1; // OK
47 x = 10; // err
48 y = 1; // OK
49 a = 1; // OK
50 return 2;
52 x = 10; // err
54 out(r)
56 int a;
57 int baz(int y)
60 x = 10; // err
61 r = 10; // err
62 y = 10; // err
63 a = 1; // OK
65 out(s)
67 x = 10; // err
68 r = 10; // err
69 y = 10; // err
70 s = 10; // err
71 a = 1; // OK
75 x = 10; // err
76 r = 10; // err
77 y = 1; // OK
78 a = 1; // OK
79 return 2;
81 x = 10; // err
82 r = 10; // err
86 return 1;