scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1#define debug1(...)    test1(__VA_ARGS__)
 2#define debug2(...)    test2(0, #__VA_ARGS__)
 3#define debug3(t, ...) ((t==1) ? test1(__VA_ARGS__):test2(__VA_ARGS__))
 4
 5int
 6test1(int x, char *s)
 7{
 8	int i;
 9
10	if (x != 3)
11		return 0;
12	for (i = 0; s[i]; i++) {
13		if (s[i] != "test1"[i])
14			return 0;
15	}
16	return 1;
17}
18
19int
20test2(int x, char *s)
21{
22	int i;
23
24	for (i = 0; s[i]; i++) {
25		if (s[i] != "1, 2"[i])
26			return 0;
27	}
28	return 1;
29}
30
31int
32main()
33{
34	if (!debug1(3, "test1"))
35		return 1;
36	if (!debug2(1, 2))
37		return 2;
38	if (!debug3(1, 3, "test1"))
39		return 3;
40	if (!debug3(2, 0, "1, 2"))
41		return 4;
42
43	return 0;
44}