scc

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

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

 1#include <assert.h>
 2#include <stdio.h>
 3#include <stdlib.h>
 4
 5/*
 6output:
 7testing
 8fun1
 9fun1
10fun1
11fun1
12fun1
13fun1
14fun1
15fun1
16fun1
17fun1
18fun1
19fun1
20fun1
21fun1
22fun1
23fun1
24fun1
25fun1
26fun1
27fun1
28fun1
29fun1
30fun1
31fun1
32fun1
33fun1
34fun1
35fun1
36fun1
37fun2
38fun3
39done
40end:
41*/
42
43static void
44fun1(void)
45{
46	puts("fun1");
47}
48
49static void
50fun2(void)
51{
52	puts("fun2");
53}
54
55static void
56fun3(void)
57{
58	puts("fun3");
59	puts("done");
60	fflush(stdout);
61	_Exit(0);
62}
63
64static void
65fun4(void)
66{
67	puts("fun4");
68}
69
70int
71main(void)
72{
73	int i, r;
74
75	puts("testing");
76	r = atexit(fun4);
77	assert(r == 0);
78
79	r = atexit(fun3);
80	assert(r == 0);
81
82	r = atexit(fun2);
83	assert(r == 0);
84
85
86	for (i = 0; i < 29; i++) {
87		r = atexit(fun1);
88		assert(r == 0);
89	}
90	exit(EXIT_SUCCESS);
91
92	printf("failed");
93	exit(EXIT_FAILURE);
94
95	return 1;
96}