Rune - Fix array passing, optimize constant array indices
[rune.git] / tests / lock1.d
1 #!/usr/local/bin/rune -x -d
2
3 import "sys";
4 import <stdio>;
5
6 class Fubar {
7         const char *a;
8         const char *b;
9         const char *c;
10 }
11
12 int
13 main(int ac, char **av)
14 {
15         Fubar x;
16         const int a;
17         unlocked const char *d;
18         int b;
19
20         d = "xxxd";
21         d = "xxxe";
22         x.a = "abc";
23         x.b = "def";
24         x.c = "ghi";
25         fubar0(0, d);
26         fubar(x.a, x.b, x.c, d);
27         fubar2(x.a, x.b, x.c, b);
28         fubar3(b);
29 }
30
31 void
32 fubar0(int level, unlocked lvalue const char *d)
33 {
34         char c;
35         unlocked const char *e = "xytz";
36
37         c = *d;
38         ++d;
39         if (level < 10)
40         fubar0(level + 1, e);
41 }
42
43 void
44 fubar(const char *p1, const char *p2, const char *p3,
45       unlocked lvalue const char *p4)
46 {
47 }
48
49 void
50 fubar2(lvalue unlocked const char *p1, lvalue unlocked const char *p2, lvalue unlocked const char *p3,
51       lvalue int z)
52 {
53 }
54
55 void
56 fubar3(lvalue int z)
57 {
58 }