mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
5660ec4741
This release is an atomic upgrade to GCC 14.1.0 with C23 and C++23
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
// Public Domain
|
|
// Author: John Tromp
|
|
// Source: IOCCC 2012
|
|
#include "libc/runtime/runtime.h"
|
|
#include "tool/lambda/lib/blc.h"
|
|
|
|
#if defined __GNUC__ && __GNUC__ >= 14
|
|
#pragma GCC diagnostic ignored "-Wimplicit-function-declaration"
|
|
#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
|
|
#pragma GCC diagnostic ignored "-Wreturn-mismatch"
|
|
#pragma GCC diagnostic ignored "-Wint-conversion"
|
|
#pragma GCC diagnostic ignored "-Wimplicit-int"
|
|
#endif
|
|
|
|
#define A 500000
|
|
#define X 8
|
|
#define Int long
|
|
|
|
// clang-format off
|
|
|
|
Int L[A],m,b,*D=A,
|
|
*c,*a=L,C,*U=L,u;s
|
|
(_){u--&&s(a=*a);}
|
|
char*B,I,O;S(){b=b
|
|
--?b:m|read(0,&I,1
|
|
)-1;return~I>>b&1;
|
|
}k(l,u){for(;l<=u;
|
|
U-L<A?*U++=46^l++[
|
|
"-,&,,/.--/,:-,'/"
|
|
".-,-,,/.-,*,//..,"
|
|
]:exit(5));}p(Int*m){
|
|
return!*U?*m=S()?U++,!S
|
|
()?m[1]=p(++U),2:3:1,p(U)
|
|
:S()?U+=2:p(U[1]++),U-m;}x(
|
|
c){k(7*!b,9);*U++=b&&S();c&&x
|
|
(b);}d(Int*l){--l[1]||d(l[d(*l),
|
|
*l=B,B=l,2]);}main(e){for(k(10,33
|
|
),a[4]-=m=e-2&7,a[23]=p(U),b=0;;e-2
|
|
?e?e-3?s(D=a),C=a [3],++1[a=a[2]],d(
|
|
D):c?D=c,c=*D,*D= a,a=D:exit(L[C+1])
|
|
:C--<23?C=u+m&1?O =O+O|C&1,9:write(m
|
|
||(O=C+28),&O,1)+ 1:(S(),x(0<b++?k(0,
|
|
6),U[-5]=96:0)):( D=B?B:Calloc(4,X))
|
|
?B=*D,*D=c,c=D,D[ 2]=a,a[++D[1]]++,D
|
|
[3]=++C+u:exit(6) )e=L[C++],u=L[C];}
|