blob: 075467c3b1b895690fb359382c8da4a21eab8e9b (
plain) (
blame)
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
|
/* EXPECT:
7 -> 14
-3 -> 0
0 -> 0
2 -> 4
*/
int crz(int x) {
/* x <<= 1; while (x < 0) ++x; return x; */
goto e;
a:
return x;
j:
++x;
goto q;
b:
if (x < 0)
goto j;
goto a;
q:
goto b;
e:
x <<= 1;
goto b;
}
int printf(const char *, ...);
int main(int n) {
n = 7, printf("%d -> %d\n", n, crz(n));
n = -3, printf("%d -> %d\n", n, crz(n));
n = 0, printf("%d -> %d\n", n, crz(n));
n = 2, printf("%d -> %d\n", n, crz(n));
}
|