From 7291889df5798109216be39574c4aab47c85dfe1 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 17 Sep 2020 14:42:10 -0500 Subject: [PATCH] added alloc_slice; made bools comptime known --- core/alloc.onyx | 10 +++++++++- onyx | Bin 478836 -> 478868 bytes progs/poly_struct.onyx | 11 ++++------- src/onyxparser.c | 2 ++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/core/alloc.onyx b/core/alloc.onyx index 72cfa6cf..243e568c 100644 --- a/core/alloc.onyx +++ b/core/alloc.onyx @@ -146,7 +146,7 @@ scratch_alloc_proc :: proc (data: rawptr, aa: AllocAction, size: u32, align: u32 ss.curr_ptr = ss.base_ptr; retval = ss.base_ptr; } - + return retval; } @@ -165,6 +165,14 @@ scratch_alloc_init :: proc (a: ^Allocator, ss: ^ScratchState) { } + +alloc_slice :: proc (sl: ^[] $T, count: i32) { + sl.data = calloc(sizeof T * count); + sl.count = count; +} + + + memory_init :: proc { heap_init(); } diff --git a/onyx b/onyx index d5bdd4ef19bdaa92e0604caa5d72edfe47af2228..a18d32f484a6e13aa1b36e618dbc8800afab8535 100755 GIT binary patch delta 17771 zcmZ`>2Ut``*WOvFx+|cw^*=aCpIKN6bTABNmh;6H6%6^ zBN#(8#)7>>BWi4kMl=>|(G=xB_s+Y1H-6uLp9jvo?>lG8IWu$bURIy2^!y~xGsjPS zlH2%;;4?ql>6FWAbvkbq3;wMrR{qS-qgDP43DL+UIl^8=$q{3uEesXM^=9uAom6P6 z{?_R(v#r6+6p*Kl$$Yg`s-=1^Mlj!^lfzEa)+brC(VGkJ7=SN5yK zRJo2pHI1OU_HG{SgCkYi!$CE=N04i#P&a!w^NAGceF)yBDsoOuXr8^vJYlv}M?!4@ zHHfyd+AmZ#9RhVQ)Ev5MZ}Rx5tyFDXWyfhy^}VUOgPZy8G}*Kf&Kn@Vpl}D1$Ku}7 zIYs*F4nTEGph@h!DB<7o9mw-2&%tE2?<3U$ELA5PnZZK6yRtwSH#NofmrHNRo@!Cjt4uMJRG|GTipQFxeG0EbTbDQ%Z_XE zV3q3tn%+(&-1PCrvf~C&e}TG!9{ zrpg(&(#xLPLFH}CYS<#Fj>52pLp@5bSoOz&G6m`ksG$^KFqtDK%6{7!r2GZc92(5( zt-(^g58v;h_MvQ6pZ+Fexr4K#T#uk`pb}QQj+E*QDe7w4%lQtY2dsKO7_IW&P&+{7 z3>!`6?xUsebExB?Hluh}FP@U>e4Jb9P>0eyR;%mem~(`5{sQVM+G;d;)Nzn%UF82H zR7V%OW^^;pNB*sYz6UvsjMYtMx4&h_UEo}kH-@tC7EpL~lSg`qR6j+>jiH+N(WL5b z=570>9L=jjxjI08OnKb&VY3`pf)sTlp#DK8S-spt`ugdmycp^pdc|s^I@0%ZbX*8^ z8U;9+%sD2hDmO6Y`U&a*8qDgC4W)V)z7?!0`yrXKSxt`Ur24#6f9rI%ydRYbx2F0X<;#i+R#_0$PrQO62LxD=Sj=>t>eDiBSKdcvhQDk-pc_au(ELn#byD ztoQX$*F!C$t*jnSlfL7jma-~ui&t574w3!(LVX6`P%^rh%ztCewukCgRnE5!g|q64 zTTgSSEucQ9iL7qvEBhS_bu_C=zdb0A)uc$No`Sj%zM*uI)p6scdK79t)M50B)wr=z zT?O?7)D{#_!(_e(bt2UJP%qG6Rxid%Umdbgt(u(CMapKiptn>9!?y|4gH%$(J zsWyUd4AiQ<>0u2wv$?I5hr@X!HAzS<-JhH(L7ey z^pmRf9)A<+1lr1KP&cVMU|2>zx|Bt^ovyMvsk>A^Lcjh{{~}{8PH<1D4uskr>N*N% z)tDgF5l|;UeMJ*loecFu^lO1Sfbv*1#7o~|`0jz~O($!aJPHv?Sx2WUgIZ%0y{_eE zP8cGEEpUDgxh(~_n#>Qe&!(YcC!?J3S{lsix5K3GZK#c*&ZcZu-yJ7aYbc|jmQx9< z!Rb<62H$Z|ThRknLxSX9d4^GCLw!b`ZYGbSuF|&@>Mp3dq14T-lZXG)2vs2`w*%dYdMiOdh3pXz_z@F;v%%w94e>5fLMsZVLG-%j)C7J9NtAX8s~v%H1Hp zhIc8w;+|t$%Xp2!l>MFLocLkN-6WnD#<-7n<>&Gp0UX*$Ie0s6s16!aOa$FzHCCgd zEwxS$a%pCwMa>N1UK*casLdz0dUd!lTD6Jb`4*=0RvGy#iKcKX<;@Jn`Wkitt!36d z&|qw!VRPs#v$4z~6RNg`M4-u>uW7%b#;1US15K3AKGq;B;(i*=Y#Foun!0Bwmsy7( zgV7psMZ7`ZGaJHefTnH*Jq|RbywvoHJE^P_B_pcLR*9mG3!kF3xE%f40!{+Ukv_(+#6Y zRueU98;#1D4CYJ*8;sV^l8VTgWY)d8!Pr()mov$1EVJPnmNVJhM9IurZ+VKy8Dut} z*$7Qt&LFd8%*tghCC(tT4lNAEj+(lhL1sgk?WAEjgUlwjFqmUCtSk?MfvrOvX5k>P@L!-%nGAPtG?N=cR>-{8}2qyT9Q$AE<53Q4T(h#)4N?N)Jta z&QMFvkfx7b8kIA|YNE#1`Us~~;taLq47D^E`)YhRL(ICjG8p@5Sk4f)v`o{|0FBC- zYQ>piAM3qK5jj)L<}+)(g)1y)irF$|hbj;kXNp;e)&}EnE5(*G#cT+(?`c@h6tjt~ z4dziAR@d=AnHo*mtxaZ$WffzMzcvQrL=DS3 zhS`41PS&uThcC!Oqlg@TW{a7frm4$uXSSSK>yx}9a@^aP%!@SRoTc&M__I%J zh{5>2hUK`2@L2~RWo^vSs2u+gjz9ZY-@+&&$Di3UX00FS6_(@AtV5{5n5sZr9Dim* zm`$@%Y&rhSCWac!85&j>^Pl*CNZFw#^Fod4tWg(HNvO$~sZlxpp&WniCriU}{F(I& zGZ?cqEXSYOe#|b_upIv|jz6=x8kXbFY%#N>VLATHmNWaQhUNG(>)zI2v}jn4JF~IO zF4wRe_qM#=ndN)zn~USkY(BFq-*9TYnJr`1`iQKE9PhR!bD1V8YcxI_clHTsXE3hQ zupIZcCf}FvQL?>3qv|^SC;l5LyPYX~lSXycs9$J!cMYGf;W;DiI3qlQuQV)Yq#fT& z;G>LSi$>+luus2mgK?XN<;;Y0W|%F|u$&oYi<#Z2VL3C*mNUCc!*XVrb#HGl?$)rJ z8D?XdwLaAmIGgV9C9az@&l%;lPB z?bE27nf845*QnoXR9$D886{o^G`s_N>sf!MudL_%7JnYRJ9v9;;|EPU-jb(<9r*6g z=6yinPRq_S?k9_MdVB| z>mF$^9@o_6OfehF>`4vFnTq60F?(9Wa;BKgXZEayRpCT2J z{Fp(IsWWZs_Ey6M&&%PTBcF)-bAg# z`RHg8<#efIfNR5l8tP)RjEz(i?#HIm)t_p|M7dpA(NNbV^FVBt?d`vnI!d)Gf0N4v zR|j=_m)BiPIWcvFA8m~pQay-kFA`4Q#k`2i^6Xe>?)0vm;|XHF%p>I;>HWBJF`h=m zH+4MpvE&*STH;ReSl0P%g#j|H!7`ULKU& z%U{1+7BBYl)z6ki_ujtx_OjT&x4&M<;%a6Of26wIU^Yz_8z%VbJImr2E*fPqKfzyr zB1^6NklCfO7}&>GpCF4#ef;$vvbejCzqmp-`^1Q4{JS?YF*EM{`xOv@jWh%mBlan`Rbd<;=O*p z94F`gG5XC5RgWqCef1M%aVHmpWbtW#U-5))4ya8n2l$KaYH9WWUolNB?d4KyE=B17 z%upK%ALy&!D~t07`sTVU%a3xgKAUPLB3)SmmHlMi{HxPr(B#bi$8HOLKaO!eD!)+?8n7}AE<82x%i=4EWA9#O^EySc<3|75ewv6 zIbHa0SO+2YQL_n^Q1mv42_;tSG=T* zNs;0(9ho#v5H+9NPG5aEB~9+8-!_a~Ce@@LC$}=rozhS@+UX~5$@c778Z*gLyhAOL z+H+D4CDkKJ^5o#{NUABk8MhZ-lFgLhs-1@_^N*=G`h&&UU%1mdUwRZynewp^W65S( zw4vk_4^Z9Tg{OFbyK&#+rZqN9c|(tpG{<<_0r8C9pB^tZ(UIvH+)4b57vdtt%VIr4)o;^xzrl>h#qJrkl>8m%p(1kfsq7S*x9l@u>oVn4w0`|>K z)VqgJ<9VYwk~#CD#d117FF|i=L;mwUYAyOf4Sj4@Mo1-hnHf`Y_fzUOKU$onmGcus zcX~X(cCGyftd-oYl}?g(N&|6$Vp4{PqqHHViQdylXH#mrIT-&li}Xim@+tk55-kF$ z{etO+F#bR(rbw%;bpA?>Jhrh`>g z20D{QrAB+~?54UFNLSTJ*HAi;>c_eKJ++a8wE=SYAli7cyt49ca#bEiwyg{G`(U8> zly-gKFKW>B4?6MQXqeVTq*78^OV8(%{;}sqr5I3Dh{QA+hPdWxTDT1FQ!h)ObQi}iFV zV*#(u0Uy>EHZr}TR)-TjB7 zmG*LoQ~D%Mf9gwv(CM7gk3Lt*)z$K=M>O!G+6k?mDpW0%+QHqWzHFhECq7ZiE!A>c zu5#M-ka`y)Kpw1Q}$RTc-h12R=>iU zEx&KG?kLwwN?MhjmJ#vFlAAATQLQCD!i7SXG!-Aws3nudbh@ylss7O=se-M^eR91-0?o+n=Iz>E33W_GY+AWHpK8u~ zl*bEY70VVD7XF&+Xd~*-gHJmNS8DlLcX5c)KZ_Qrg{7Yr3DJcXEL+aUy2tX?!c0Av z`-o3y#&SQ=n^r9k6G?Pw`2>e5t(7j~%Sfzq4Ja*EVyI*lJ20^#z!oqacdg$N%hH^Y<;6ZwPNeFPJGODS{qbt+!|}Fhf(TUlTAc3 zI~}FYs7c$`zQbqLUuy&E96hX#Yybb4@HUEG7bcF={B_Mm1npQiM1S)TxvUT7Lo#}O z6T>%o*2W9+)I`Qo?)s*p1%0>Pk8eD8)>~Z1HQ`ui+YS%sn$|tHiD*Mx@fV%mu-qZZ zpY^Pm9ICgx4t=z-n`lN?Ha6#NSAElRhv3Hl606gtP3J{z+V;gBF@+NIC-eF%%kN=d zx=&r4mb2~cOw{SizO@n*A~UAkn$kffm6et$DRwpKhc72_V4HtcBKlLsSJ8YNx7<91 z&y!7?r|N?msId#!;v{xa_?F)MK$g3umPjkyv}LODRB7JkqX^q#MH+p$Z4^iR{x%=| z%{}C@y|XBw{@X{1#k6m`kEl++ZjaSp-Aw@nGx(;qzM!FKRCuhQNZ3r?U0F#(SJ$QW zJDZ7FbZ%#W;pP&KjJg>vE>UAxMD+_p#Ah_HFjmCVhQfZX&vsQ-7Ar4zG^=zFx$N>2 zMHIH{3O_!&eVwPA$X_=XRq4*xaiWA;?oJTv^?I*vsRCeQ=iN}F99;-L;e6o2y#f|@+ znGb3FfoQR!aQlJU%8lpv4_@_$*Hvfo=CQB6ftyP^=xtq}uh)^`U`MfrdLE3^Z>~l? z^So)_!J7P7{o}zVhF|7dM^-jh9a%BeJ5*19cr72@CW;vAMB@(C;)j=%Lq4J*tv{6N zu**>yZp;~VQ^g(*_L#Mf2fOZn40Z_7;V{0Fo;p0hP(0h(&$iiWKTD|Vk&b+8%{kJF zx5(imKK%4`??{B`NKHz8_(bhq8qbGzUa3j6qpwS+^Qr59)XT-+%*|vTc{ADTG~j3* zF`H%`og@0v)1yuF_g0eku~1>50mnQ!`pL(-@T2yDV{P?M^QiJzQ;|nakM9vr>9^w} zL_T#nk?7N5rMkmk^7;*m&2q>RX)hZ)WhifMtRZYg=TEfd@1{AQY||v&Rr!?pLvfKU zf2St%fO7mWBX8V|)siy0xXerCV`%EhalCx5o~-Tha)o+ml)ioF-&jF4PKD}U35q|J zD#8j+pQ)#GV>b*_$0 z)F*uW3~R4XiHM~zn+ca8beR#&XNeAb*qT`2#j8QetO zi);CgyZ>TR{rx$-+NNr^`Vw^t#dp0qBb<)UsaM&&X66^R3h=3_#dxZ*P7@bXOg(?CN7ct_5Mv}Rj7^TXUVrDF$Kzrq&{#~ zvHAB<@@VDtFo&otHLw+y(}#o`J-gmq)Tc%_eE6o*^+u3k)NpJ11`b!(Mq65SqmFn$ zdv8SPpDv`z8*a+I<7R)}gh@Be^&05^-N)*OG8uROR&!~)kiNR9yg@m0GfcFnYQOmK z=j6a&>WkIXi+|6h8NbXC{pj&84VBsa8rE%h8i)6-N2tXa>WCNcPWIyrByt9e)dxSa;RBmJ!#Fa0pf2u_3Ive&)?~vv-N57t#%HM=`sRzX0sdF-fp44kwIa% zr|<&aa=RCQjIF$#!>3cuZ(TiHKj4~~G3CWo{{6i7DwUr97Rrxsfp_BhackZkAJK!> z-U$-{^z$7r{qqI%>P{p5t@+fj+|TfFe``n=^;bihNK?v_`Gw8Bav%M#Ddcq5pFg{Y z-StvVx4Yf>k?^a#1!6u8yqDzbJD<138s#Gdo-~`zRm(RtvusQi_d2_to%7#;+emT0 zHx_dWXa1fk+|K{ui}z?36RZO|nZN^bwU-}j`cd$MPGT)3KZxe{SKmI!;C&tSFkEEP zf`>EtW7~^|1Nogm??=&9cHXeH?E8sV&-O>X#d)eyF;Lv2p%sxz5Gv~Nz4ixY{K@Na zq{yM+kF)guT&0JP>$?2**jL%MZ}vtV@_aH#ET!2`;`x(s>60eHmYzN7&0~mt+FA6Z zoTp~dfxhDM3wrXjbCvB^Y%Mph*w&=(&pgCr8uu)a zFG@CdRhGK)5VTB2U+rKbZTTaSgW&q2wYW-gF9!1T^Isg|*Nl^1Ugu}hZhuZ}6MxZG zcejtSHnVM)-c!=>LvdC9@G5UK6PS@3wxe3I-e~U7lRq=Wl)~h{?&~c>5u|JW97A7Hm=M{q*iT?Buq!N)*X&Fw>j5{xehIq;wg7e)Y%y#J z?0(pDu=io@@jV%DSYOyCunFC}#&jE+P_*=#or@i3ckM0C?nKL3#Z0w`+iYf7f)$f& z8LpVQmR!XwuzatWbjxGKEV9)5jm<}vo{Gt_q$=hU%MQgXv)ok7YKzMqHXALGirH+L zqL>|)wTdaSoK;MTMU=Dop(wcAu2Szf3}4O9w}k#~=jFHvu*@=?VbuaahufCLzuVPy zECUX)>`-d!?#l(0Xt|_7Kfq-cai3uiz*0+N1ttT&wDeTq8bCkG`wA=t>}Ofa(4_)! z(QmSc(U#!*b|y#n2ND)r9&@dF5rE~WHFfx`r0G+2I_0rUxsoiw59|Vm$D-OYSob@! zm9Zho!L7NP^^a}Vdizl?)><#Pb#lo6s8^19$(HZ=-xGvd-JS6*kbJ9q>z2vN%cQrv z2|>Lwi_1fe`!LWB<(T^aLM+4Cy-M-J(IosmEz2I-x%1-K!JKfgh(~tyEcYJT zxrqp++{Wbwym&n7<*kIsWEu9z&cVg~k?iqbTBDR3k0l*}hE&dpHX?u z7cUGDtp66q+JQ58>sQfDz;$4gu~6y*H-cRQJ^;8mY$^B<1uOlBL#Tid4IB&Wj;wYA z?hP9OzCZ8~*hKK}0gs36ffbMpynrn~>+|1=Eo&d!o#vs8QRj^Pr85BQRaU2S2j*9f z>g5e=1MCN^w#i%zU_0n-ft5e;DpwRR{^*{fdj|x+j#jT;!2C{Iy#@gD*L>A$1hDnH zT;qZHUA=lu2ey7QWG=AvI|k{%&T4I*|56avuNzo^YoNhZz}7$OZvw6beH*a#FxU<3 z2K_r=>!13M0J|%?vJ}pMu>RGy47fHLxCw0iF6i&Tp3t8I*98_rrqlztDzF!D4PbA^ zO8+_!5cL$mS0mv166ykh8vus@`vOM+Hw2CYZUo#9*avtxupj!@jRm2+uu-ll!2S~I z<^wkY&IE1>{3&n%@LJ$zz*~U>f%gCh$@%Mahd>0Q!dYPDkXNqjz%3-yJp*nD?5LL^ zZv|WjSh*J|S1@oJ33Z)-L)7>)*&jqGDog-YKBOsE3b69oOSwJhC3EQlVc z&;@t^@H@bxfV%=G0mlK)0gea$5V#v~E^v3?l`7`=Tfffv1uFDJg`L2?fcFCT20jFA z{YvK<;6Bi=0QUv{4ftK)#|l>R-w(t;sL&tS-bRLe0B{Z9fxw=?gMb?X4+ahb9s=AJ zcqniu#!COXVIX>7!0!Xc0?!717kCcvXyCcP(}Cv!X9CX$UIi@U z&g(B9!~#^<1)K`JANT{{W58*^mx0rP?*V53KLh>{*v3vqY@x&{x>_I>p@KJXCU8^W z#lRuJS->5EKLYLvoDDn>cnR<*;H4_&I7|nTg9>TDxxl%=9|La!Cg8omp8)>|{3-B# z;Lm_<>}3Qj3Rd#q31S&4Gy+}@+yZz7a0lSefx7^&1nv)<2Rs&d74S6R)r{43kOpE6 zDiH8m;5^`Uz+VEd2mTs(1Mv628-Y&(Zvwsy`~~{g-2#!13J-z51bzkl6|liUhHx{m z2k;i)=D=Hly8>?meh+xNoWD*t7eoOnd5 zMQZ$+JP)E66>b3U0lp9X4e%epdx3S1G9ups8-PoI-GRRYt`D5D4@6TC`+-{ne-9i1 zd;s_z;2(hd03QS%3VaB7Ebw9AX%eUCj)0hl3Z=jcfsX>`0v`kZ9QZi!M&J{`1;8hP zzX3i4d{D)FCpit`6e^qnE(1Ob{0s0o;QPQo0^3xTDL4;Y2lxVT^P=x7?J8@h?Dv%Q z4#S>;{R#G0*e9^BVQuP4KNGAMtRHMU*m&69utQ--Nt>dZ0Ad>K`>+dOb74P&T?@Mn z_FLE^u;*Z}!QO+_d&vQN!8TSculSZAdcqEc9S1ubHWPL!>@wIq*e$Syu;0NRgS`lQ z751KDm8YdgAfCg%g0=IOBd!JO1KSYRA2tZK6>MABsG{Yb_IJEQeo<<;{j4fg_`eM) z5|Q?2?8&*YUD4TC`)IwGVsY(iALuypR3~*^jI_jewQu8?2$*QeR$$U;sU}%YD)1w~ zk1WPG`!?0q0IoT0N20N-Wn`Sa_kWQa{ug30##$_r7z13+hEsgv$jH6j4M`a7RT&L@~i#!+psNcgR#+fe?iVQ%`x_)6$~c zC@e5D_gqrcTyhu76n8XDtd#$mcb@C_=J);I-;aCdd7e2l@0>F;?{cqxxZ3aWD!)a+ z;+@3}J`c~oWHQLZZViS24GaF1ik;8DG)Cj|Nr?K@5;{6-D52w9$`(Y3pNv++(JmTv z(moA_3v8=%GmFU2(PG_sNU4X6N`Anm8tW%0p4DeVl-gGI%!dbC>3fdmu-Z66sS!#v zgh8D_n^~RJPN|Kd_JaBaU3RpH!}P?lt1wfflf|0-sH0YA4r=Cc&1wcW!w8z_WD)L^ z>D0t}?(P^(4M3e6sFP2}xCO&&YRK+TtMF)K3$gT^)n#}7?c0D=If?=bHCe2~#AQF zQ+XVL`gA1Ka`y766&|J0J}#OuJb?ViTDEw(LQSH}&K93<+bY%3Q+1pH_18XB)y2ztc#3M;70&A+|3Z;27N2o_ zm2;}{HSC3Yt1nGr=fr;hmTy8HN~>Kg)|*iCF;(3hRTi`87^|B`DBterI2`ISdd_N0 zhfZ3T@#uIEt1`z+D72ErdLmZM55&@tuK8Byc|5d|#i#TYbv@LwSXx-g%j#C7I`-g` zmB(H*{Q>RdrZ+ZF9oL2WE7X~EkJUG(DBm5Gl}5SwO`Xb!d7VB%?N*w~#WKw5ck0!GEmsP1BL-mJxoK~}% zoUTUP!l-&~2bGsGt3FvueG{iO66zQ9oYl(MP?Dieg=(cxv&C9_qUyJuS;?P6O`@T! z?jNeuyYSruwFTv}dg_LX{a{e6ZT-xkv@%hJDji?s# ze+=p^ce>*0WgUk6+fVv7WFK;^YO((Lmuk8joIQA9$RUlO$f_2f(L0s;5jt)F_1O!o~yk^lFgE~n?LI@eTVT8WMe zp!TIuH;XmNqEvYSlgC-8pU_ZN3+gHL7JSQCmFppaa#>C2*hTXx*FFsfCtiLR+w>Vi4ScLG|Df;xr#+<9h2seZkz$~h701&U|2DpvSaw44KV8O>oe z74!X5sGmZ$(PmaZ%TWD}hkA%rby>X3YFR7QZxGbS@U@a_HH-Bk=4^YYUX|5&EfmS> zlL4ybrcj$fJwp>&eIM#rsAE`_{f5zMR(nM$-(si>;A^F0tiCp0sfVHFLG4J-S#2~{ zscWDfh3Y|})h*T|P$xpY3-ucs%4%V(@--j}RjQ~F6;dv%i~1^cD0~}2T~9l!TYSzB zRBCif6S>w(@;qRPqj}uhAS< z(-M?wzs6sK8b_O1b?>267o3(WZ(VXyen6L5?a@=I@1x%ks29k!1}C_;QU^or3H4oy zWc41xF$(GgsF!IXt3CTE-}&g*2DJ^XX7w)ahl=349jbwj)v)*wLaACX7|ua`G@4%2 z@Uk`^ri4v!egfH-LOm_kVyv?%=-ACw4LF^Kvbt)7^8FoZ1E_;2m(^C|lxh!UC#Z*L zC#%)wDRmiq$3gX^d#rkgskQPLXO#=}H2Ha1d~Ds7?;)t$pq31y9$sC1On-FLgkxy> z8RYAaX^WSabx~rJCeOmP!@H^)lRI7ZvRHj5EA>Zgw5_0aB3FyWI;@rI`7QK35NaQa zWcBZ>F&cj!Ex!l#08O-5eDb;}uVDBVL46WUYb;(q0WqrSMvyPFtlb`TqhgDfbwQ+( zdq92x?>u_WJqNc`@p=nG4slas;+rXNi#Ssd<2~M!@5{dm<*&}K zw63wmnyB-st5cKcB>QBs4>F@^X(XChsEFBmy1I)foY_)l?ZKAfS{m7ep8(Ll9Dj(; zC!ZFxPizyjt33l!+)aC!O<^`vSN8-xWHzsf*@`Qwrj_W<+(gHkSR$L~e9CnFhUxfn z9Urda4U`^cvAT3p*^&`&rc*hWta|HId+cQ;&SjW|mW7#J`5N=`;2ehYvjlwP_*=Zx z419AG#cHfhZKYE=W2`3V`m;Yn%1WF$RugqXuA&bqpsF=kVk?V@8jW6b6?HCtnKY>DoSyV0?x zd^yyqWjeJxJ#T7pjnk=|pJo|!0u@n^Q2S<SdKrl zSF>hjY|{ulrqa9~fbt>no1LvxP+0~+BIaeKd^)P!t$8wICEob(ij^!LN8{Ebm@Q@Yq>kkrG3y;=c0HwIIY-RKGJ8hHa*miy zVfGgt%Q<2;FUoB7*0CkJ_?)L>Q5LKH6@;u*rc*D{^C*k!C7mzFzZ0*KPG(p8^P?0w z?#w1KTcWGW@n&`zv%l(Cj(0T2o7w9+mgCKAIkPu(EXSMK;ApdJsgC7%Gn>HdZ5_+; zW;To2yE>NR-I=czcq1yW7WZ{3$GtPhoqfu5EXSRF^57%q*dv|F@n@gd&SqD2}n~1%#50=)Y8F8heJB^BO zRB6K!#hD6h@lJvtV^;Tw62)}2N3s}F(7Weqqv%6neSE2MpCDo7QjGCzE`|5;p~Zbd zj7wGVmp(zpL8|E8H^^8^6$kbWFiH@$ao<`Yp)*{ zSE=GhTpXr~XSo=lik4wP#$Vsn>Lze;y(%u};ux)1aABC25J&0Z@W+)prK!2Hwc!4U z4nllPjYn-4PiXiX7OEIETrA|$-{KP*JbI9*Pv4FX;V-nVjSdzL{AqRKdH3hIg5WpD zIr^>`W8$eBUmBYob1pVJ{zPm}%n6>%TqBJ(k8M$}vZluz(&oCX@?&hSQ~Y$T^SJDv zwTo71ivpK%bA&_J(I(rTBw?{Fnrm{R_2aX}R%$#UMGT59tb>avSN$!*Si>@?gQY~?gGABie&*?qOUwf~rmOpi`4uxDH9KXBgvlmRoZA>Lk52$xnn(v!wQ%lLJY$ ziIV&{c3&m&YZ}JwMK(DmhgYsYT#i4c?C?HYn9SMMqb>!*lh+H;jU1;$n^za}32KX* zig|H+ao^*nG%)vmNq1E=$9T$Kahhhl6EEh|!FMvbllZAmMFGW38z{EW$J2(1p37Ru&fboetotf21v>@-Ve#>cIw!JIK7 zf)>q*7BlGdoPNeXT2jbdpBjn#w9v=qWVWv0F0*6GZY5K~+-UI?t(x0UG^B@feQT`U zYp>*Ouk-~4q}Jt1F{#7E7qmXLq4AlSPNsTzUFXL``ay*{;k zH^TK{X+_1Yl*-(Du9GLtes?f0#dGh5aDNUNU3m7tmeEaYpbs;ebJP!K_=@l7_l)r( ziF(g#A24Gl4^YeRWUZ7f?`k*?vDw8uyG!fP)_EPoBYH5eKhK?*%--Sx*)qF{G`g1Q zD?X>^nQ6TA=FYFfJN>%(^TboCx1f%Ai@Gfs%=I@c2;pgTVnMLzSnzDY86oP>@$8YF zB{4j(T&Fp&bJy7i)e5RfG4I{=yxLh)mJZM~KPLp9v9#&Ljl!v-~(3D3a3%O-Hr83HEyUokGFAITg^P2oA3&C#lmT6Lm+q|lr zuv`Cds58okxy@U`D81aw@5S8a9eyIqRkd>MGD>~lcfi0uBvnJB&Tx0><;}G6;zzRF zTq_UfI=4RJ2Gh%1YD9$Q)JiM=t(E1Myl(T>J?4rNxFS{CUW=;cHWDwWZSGhZzTA=3 zn_gtqiC=`-XI2DxFN_wRG-P2Tkx$tRC-e2@*}_Ifj|)`)gOd_`aJ+ibIriGBO&qnV zrqhK*v#Wfa&vDg~okt@VTSOMkSnMwnX!+tEd_65)TuW>$a9&c$QFNqgOS>?Yu(T)t z93XFLw8$*DyR=X^#J4ipQumoGv~yXS*hlS`x8zM~>heIIS<9CPi|Mp?c^mN#JzqXS zIMcWlp*7bP%V{2eC^lOZwb7>5kM@zwr-Bu2LsPD8z?r?!nF-VIu)(W zH8yOb?XH8?x$*WjZe5sp(pq~AN3WF|qGRXACccxL>OuZ1yy(`t=6p4+^+~9>M{%F{ z@YVLMPuj5OC!aJGqv^~i!;DTpQj1T+rSNG(^AD@-jcr@4?XGe3&8LkVUq7H`gG)TW zb>vz84^>%j^PJR>Cx5Qfo005eUp8M-;rg}?FG5TW@Cfn7|jTXA|`C2iR-p`xNlj@(mUg9pr ze=((6$}YLYVoL4FN~4os%oDye;LDw2DAm{)EuK-r#$?_Cj%<9}*u1Wcl6z&I&~ja3 zD?djgH}&;e)tt{a;*i@s9*g0Yd>G?FEGRg#>21MLkK7W-m$s2xV!5R+x4bDvlKa*` zqtkcPVry5voXpw!CU4}wZ4DGn$vHpPC<>`}{#5ZL9n7yMx)+-d9FoGs`zBv`*)|PB8$kQfkplfDHfA$U2~HMEiCFJ!sujCJrPCaMdKV6dg+qr zNYA&wZoR&Rm+>0iGQP7(4%O*2P5iE*D5B-xZ56=<-FD0tp4~l6GOq6iai8|dv4Ado zAIclB%g$)N>c;JCBzDt`okKW_XLo)g7yl0=9LaUpOmT~{b~O_7=$l;)`MPjzSG0(u zpxuqcP3p6Iq*zVcc86C9Ot%lmN@cq(JYbhS6C7q&HQ5%|b?~DP_heMM<;o|KlbP~@ z(tq%_`7h#|pvb+gefE9E!^q`f6gBvFsK2BS_C|{}1*i7<%4@@eeg1XctfdX$<(*Y0 zGdG#BKfpex>U>IJ`#ZbrU$0HiGTY)*lP4|SA7A@j$_?u;ei@1OFz|`I%K;XXtJ2R_zX)!=-`2Lm!e8?G%+V^ zdzzVQ(u5zw#Y$T9qqlgM3V&=PQt8o;gUsL0w0H9LOs$h8H2Gj>zA4^zum#WP+Xn;1 zC8~O;qll%RhXT#hH)wrjakE*rhi!Sq(V}>U<=EpE%|o@#6%oI?_#yryEDw8ZB!m@TW$+zxDcQ zJ710~A05S4l8HwX#T#_?Xl*f&%8$0?&8hjZRt>W}vdTgBNMWWc(SaT)SD)uruuB4X55k_I8wNE;kFMcKepQky@dhTRflxnI$n|`j%XIlJoO~)}GR#e#1+8e!SA{Z#EB zr=>hcyY)UxQM~tD3r<%L|O{`(Fc|dnh^$;zo?dd?iM;U%P z%sgYFJvWml%G{WH{_P|aTE;ioVYcI~jef39p)czMYITeb+~(;J^VJD<-!l`mynaJ* zXJYtve#x0IF^%?}X)CHw#hE_BpZc7QHcuIEuReCXtnS(EnUkSNzRcB)WFj3sJC&R0 z^vgQoN7sKzs&jo2FO0YK>wBR#prTs=YUBTyrk$J9*zYNycdk?Y$}%~)Um7SmUKg*1 z%eshapYQ76^3;jeO{+nv=e@+IwDf#^zE%C<`~XpxJTKH0t*Fg~7QAsLU1-C*>&6R> zc-uY4dJ#p&Vz#a;5R7U-;<+ROR+ zJI%h7=MeXYlkMtRp5*N=cjJrd{LB5sQo49KP_&^6{>-GnE3L#88hoW*VBvdm;QaKJ zEs!C{9G8s4j{ImOe;L4|H`DqnedShprJ_~h5hL4o_bLjBEiINX`xIB<4 z%yoK5S4%osEm<-cF(+P)1Yaet4Rn}u-^u2GPgrUP8~@$ur}tH=ZvCxg+9`*MuLYTh zW@@SCXP%fvlzh{J-uttr=tNC^4HP%1@2_=uCz!^cYiaqfv&0bc{H>nxc_ux`_oP0* z)%CoP!3lZgergNl{O04|S&L+DqV~8VisaXGx;Z$N_Wu^@P;tk}c7L^l#n$1tQ)S9J z=}tk{=NtRqp@5(H4*hyN5lZIYdl?<))3D!@d5WL-y$?TB1>RW1H-_78bQcjzZd#1B z-zDqK2vLjr-i+s`uyr>B`PSpW%{HRK=(Wc%`3hFkO7s*!OGYIdjF7~sZ(8+#$LfShkj&lEdU3f;X zx)&`LQ^~zdUgKl#M~cm~{{A%HT6`Z27Po2ogJ_3uOSGBoMW-J0<=dC~WrM|i$|#GH z5h$z87u%c6G^Xf>QDPfqKFkR>T#-{Wa~aP7%+k!Y+HAl?z5OtVOaIyM11Rdz5Po=G z^C(`Np}UV7ib~}DM_+!7oA5_h$NoL)8EkuY7`;R^75~vy{7qhuyE+tHbh3#{P98Mn zu@66{FMQmD{8~_rxBs<o6RpH zz^?Tf56y@1ilB1b6VX-mF! zN_sk&V{`QB0Wq1DlwakCy0@QAY}NZ0C&R7&YN63>nW23}F8mm(E=ftusKp$smF$aV*-M|L*YQsYd1H1maT!S3g2F}9#?!lRmepv%cE=g;t;pFYgVEH4}# zEzY@!O}5B5ks}HU566kx4&p%Jou1;i%A(eS=4-Dn&s~tM}c?~HW79_>?GJ^*mq#3 z!_I`A1Dgh$0XrWy8}@zJMbgG`=syIp40bi_TG+2)kHX%BHQ+ZZPOw!9*IhCBn?$T_ z&vnjlyzQYheQdRVXVc%-Tbcx0x->&*4L zB4Cj%onhrgfTh=MU*0j*s#FB*Z96GzmjK4vo=NC(SIwOiTkX3H!vOPa-6Tu^JZDRm zFb&Yfwp_wIz}B`s46B_0OuV6*9AoQ!*JPrY0kUQ7r|w9M#9RP6=D|MZP0?wHt5zW~0a!eqZO_5p*fs$NWF;iKypoOJ{e7W%tLB2=TKO z-8Xsj~^V-H{xYWo7qZxH2C2N>Uhr}7W%R0EZiZfFY3Z>6=P z4KV-8Ry#TY^E-3x=nm`(+z;6P!;B%o_OJLy1G{VWITe#Z*uU+c4$NOIXvbV&`*-Z~ zfonit2yEXCmIBKc0`gb`Z2!Lfb6{^N%BheK!v0li5wNeUz{eh7`%f`{0`^m~;S6vs z;A_A>z_)?@fgb?}FqZur{sK{30zRCDN=Y3B4Q{}7fxUr)fcd?>R;mZw2)I6QYv4fO zDBxiGPmsESkZ*b9(Hl5KLBlZMhQMQi8v#!R4h2pJZVa3Y+yreR!0!M*2A&H15AZZ#Cnwe4bl@7PAW}fo0-gaJ3_KIK74R(J zF2J*a`vK1Z9t%7dcrLJtJI}u?5NW9JA#ghITHtqqzXZ+z{tkE^@Dbol;M2hKfv*EE zP&n1_7(^B-7)&Ze*}!Jt_kg{DbAamtzYiP^oD19*cp-2M@CO>^IP?Rt2o>G{UJRTJ zyaaeYFafUw{t&nT_#@z>z)OLz1KT8)d3X+D87eqCs|YLy_5fZ1><_#WxB>7g;0WN= zz}r@$WpuLoWSya9MK@Mpl^0e_DE4f{dl zp+Yh67r>W+zXZMuyb<^>;7!2QT~q`&12+WT0vrvzRgK?Z7y=?66~+L61^hPf*T8du z3xKnLw*fB!{swpz@VCHuz=c};ncN1V2o-h%ZwEdK{2lOF;2ppvz~2Mk1>Ol<4*UbK zv66~V>Mjsw5W9iBfcF3g0Ph730p17P0(d`g2jBz1-GF}t?yGRB;UI{isBj4QE#Skz z$-qZ|X952NoC$mscoFb1;1$5d!0R>4SCZo(wxGfZ;3D9Yz=xK>VfVrQ40{FkI_y)}3Rss~s=b=9p|H(hJHW;$n`(#y z(HC|g>V!F~?=HS7i5bRjk z$*?J~b70?xCD=8vU&0o`?u0!et-M=04&n^#W!M|Ak6|4GRA^1Gm0{gsJz;%e>lAMH zbH3@%?|RooI!||S;QzIwuy&O531@O|U@CkV>l|$qy=^VJJ2$D+xwwlqFFM;Mc6V-7 zDHbr+wpqen$CcX4c2B|yfD>$?an7x(qyeTKH<4)IX`2`49PnS{{{KZf#yba8dg*Qp zjpxQ+{)Z#Bi4yWTYbTaq+sv?XIbeB5+x>XwmX+-P>%s|JXbi_@% diff --git a/progs/poly_struct.onyx b/progs/poly_struct.onyx index f2781ccc..a64d6a2c 100644 --- a/progs/poly_struct.onyx +++ b/progs/poly_struct.onyx @@ -15,14 +15,11 @@ main :: proc (args: [] cstring) { i32map_put(^imap, 50, ^hello); i32map_put(^imap, 1234, ^world); - print(i32map_has(^imap, 50)); - print("\n"); - print(i32map_has(^imap, 51)); - print("\n"); + println(i32map_has(^imap, 50)); + println(i32map_has(^imap, 51)); // i32map_delete(^imap, 50); - print(*i32map_get(^imap, 50)); - print(*i32map_get(^imap, 1234)); - print("\n"); + print( *i32map_get(^imap, 50)); + println(*i32map_get(^imap, 1234)); } diff --git a/src/onyxparser.c b/src/onyxparser.c index 1e2cd9fc..63436cb7 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -392,6 +392,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { bool_node->type_node = (AstType *) &basic_type_bool; bool_node->token = expect_token(parser, Token_Type_Literal_True); bool_node->value.i = 1; + bool_node->flags |= Ast_Flag_Comptime; retval = (AstTyped *) bool_node; break; } @@ -401,6 +402,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { bool_node->type_node = (AstType *) &basic_type_bool; bool_node->token = expect_token(parser, Token_Type_Literal_False); bool_node->value.i = 0; + bool_node->flags |= Ast_Flag_Comptime; retval = (AstTyped *) bool_node; break; } -- 2.25.1