master
1comptime {
2 asm volatile ("");
3}
4comptime {
5 asm (""
6 : [_] "" (-> u8),
7 );
8}
9comptime {
10 asm (""
11 :
12 : [_] "" (0),
13 );
14}
15comptime {
16 asm ("" ::: .{});
17}
18export fn a() void {
19 asm ("");
20}
21export fn b() void {
22 asm (""
23 : [_] "" (-> u8),
24 [_] "" (-> u8),
25 );
26}
27export fn c() void {
28 var out: u8 = 0;
29 asm (""
30 : [_] "" (out),
31 [_] "" (out),
32 [_] "" (out),
33 [_] "" (out),
34 [_] "" (out),
35 [_] "" (out),
36 [_] "" (out),
37 [_] "" (out),
38 [_] "" (out),
39 [_] "" (out),
40 [_] "" (out),
41 [_] "" (out),
42 [_] "" (out),
43 [_] "" (out),
44 [_] "" (out),
45 [_] "" (out),
46 [_] "" (out),
47 );
48}
49export fn d() void {
50 asm volatile (""
51 :
52 : [_] "" (0),
53 [_] "" (0),
54 [_] "" (0),
55 [_] "" (0),
56 [_] "" (0),
57 [_] "" (0),
58 [_] "" (0),
59 [_] "" (0),
60 [_] "" (0),
61 [_] "" (0),
62 [_] "" (0),
63 [_] "" (0),
64 [_] "" (0),
65 [_] "" (0),
66 [_] "" (0),
67 [_] "" (0),
68 [_] "" (0),
69 [_] "" (0),
70 [_] "" (0),
71 [_] "" (0),
72 [_] "" (0),
73 [_] "" (0),
74 [_] "" (0),
75 [_] "" (0),
76 [_] "" (0),
77 [_] "" (0),
78 [_] "" (0),
79 [_] "" (0),
80 [_] "" (0),
81 [_] "" (0),
82 [_] "" (0),
83 [_] "" (0),
84 [_] "" (0),
85 );
86}
87
88// error
89//
90// :2:9: error: volatile is meaningless on global assembly
91// :5:5: error: global assembly cannot have inputs, outputs, or clobbers
92// :10:5: error: global assembly cannot have inputs, outputs, or clobbers
93// :16:5: error: global assembly cannot have inputs, outputs, or clobbers
94// :19:5: error: assembly expression with no output must be marked volatile
95// :24:12: error: inline assembly allows up to one output value
96// :46:12: error: too many asm outputs
97// :84:12: error: too many asm inputs