-
Notifications
You must be signed in to change notification settings - Fork 1
/
c.c
86 lines (80 loc) · 1.65 KB
/
c.c
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
??=define ARGUMENT_PREFIX(x) $arg ## x
??=include "h.h"
??=include "auto_vararg.h"
??=include_next "\
iso646.h\
"
typedef
const const const unsigned char
const const * const
const const * const
const const string
;
ű(_Decimal32 named_argument, ...) ??< \
;;int $a<:0:> \
;;puts("Let me segfault!") \
;;return (-1[$a]) \
;;??> // END ű
g() int; int; { int; }
duff() ??<
char src[] = "Copy this message";
int n = sizeof(src);
char dest[n];
int i = 0;
int j = 0;
switch (n % 4) {
case 0: do { dest[i++] = src[j++];
case 1: dest[i++] = src[j++];
case 2: dest[i++] = src[j++];
case 3: dest[i++] = src[j++];
} while (j < n);
}
??>
#define sum(...) _sum(PP_NARG(__VA_ARGS__), __VA_ARGS__)
_sum(int argc, ...) ??<
int r = 0;
va_list va;
va_start(va, argc);
for (int i = 0; i < argc; i++) {
r += va_arg(va, int);
}
va_end(va);
return r;
??>
//fortran /* sadly gcc doesn't support it */
_Noreturn
__attribute__((noreturn))
const void
[[ noreturn ]]
main
(
ARGUMENT_PREFIX (c),
ARGUMENT_PREFIX (v),
$envp
)
__int128 ARGUMENT_PREFIX (c);
string ARGUMENT_PREFIX (v);
string $envp;
??<
signed f
(
)
??<
((const void (*)(void))bitand ű)();
switch (h)
??<
int a = 89;
default:
break;
??>
??> /* END f */
; long long i, h, j, k
; https://google.com
; const short d = i ? 2*i : i
; puts("Make it stop, cruel" " " "w" "o" "r" "l" "d" "!")
, puts("//Please!" + 2)
, f(g(i = h = j = k))
; duff()
; sum(4, 8, 6, 12, 5)
;
??> /* END main */