blob: 1c54577ae944dbadee2df5fc7f5127c58c6019fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
{}uint8 str1 = "abcd"
struct Stress {
int i, j, k
}
struct Test {
~Stress s
}
/; s_call (Test t)
t.s`.i = 1
t.s`.j = 1 + t.s`.i
t.s`.k = t.s`.j + 1
;/
/; main (int argc, ~~uint argv) [int]
# On windows, the first two arguments are passed in RCX and RDX, so we need to
# update their positions here or else tnsl will have garbage values in r8 and r9
asm "mov r8, rcx"
asm "mov r9, rdx"
Stress test
Test stress
stress.s = ~test
s_call(stress)
# return 3
return stress.s`.k
;/
|