From ca2809500ab90745a47e85784502e29d4fba5295 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 11 Sep 2021 18:17:38 -0500 Subject: [PATCH] added passing macros as baked arguments --- bin/onyx | Bin 435384 -> 435384 bytes src/polymorph.c | 9 +++++++-- src/symres.c | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/onyx b/bin/onyx index fe7a9ff27dc1f51a074848f2edcd91d554ebeacb..c187c11aceef953d575d0f704f0c073e3b16dd15 100755 GIT binary patch delta 38555 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 bU8;HFEZ6uBmlo4L-0VIy>BlauuFbyyrLP2v delta 38514 zcmZr(34BdQ7tg&jAu92L>=6lq*b{_AghYZDjeTwH`&w&aCrE5slwG&Gb z`&N5vZ>cKxQEQddmhXS=eF@3O?_80$x$?1=~Y+Wk6+N#%n+PbZSm!g#3dg`-|F6xV6 zTSI!hlP){PODD6u49P)BNt2$}2VJTP~IID8?ym;mt!) z0cd8+A#L{jeU}1J-tYL^eEz#j!6_9RAd$tn#!6?S)V>OrI?e?dZ&Z^`+9w9Ra1Onu znoB>*^!u@T{y$eZ@_+iCzLDuC4f>uOdXM+?#h|y=))@)r=OozlKEZe{V1_{-m_z@J z>9*+JO#7ye&Wj{(y??gw9*q2K>+{PGRQ0#o^Z&S3McJ^`bbVfF<*ThL->!F7s%112 z%FrUp8QNb|DXkQy+eMYVN)=jOOo>ox($!*0O=SobDXt`||J9)M;!3bmBV%20rLYq%LPbC<`+}zE`I?tH1T9&Fj@^ip+@oL5)+? zCqptO{-`ch6qWops>>CHe%h#(PEJNp(dNui^?)8xfw*2qBg4? z)w|tj@n-cmg=pj!wX8CXmTpmBDC=ncR&|e3FQfT3)m2f#sMB_}k201HZC3{>T{5ce zP)DmuZ(6fcJ*#-q=w0e?Wo5>LUFtn0b{0glPgPT3nm#qm)=z_C_cwiE~#T%rFJUu-t~k?kk8Qw7E~Svmg9y3Y-MMf#(KjYaar?Ef*gb0?COm zr)QheAA@exWUrc?osIHn|4(XQ*xh&8*;@Y_In7ATQccs^BLVly{s6=|iPjMz3D$No zsdd~;Y1ImnX|EckG@wuSs_j*^Ag$V~c2uGl?Ni&j>P*lk-_6dp+o}6LwRno&TC=r9 zsM$KyMcds$Z>*0txgAGPL94gi6oZe6)}A4;RvDa{Wj3W{=qyMurFkJ@v^zDcu_?V2 zG9*~X2M0B^4GIp@rWbjaooIP%bxPHWr)HTP1ymLfw{wU6LN7NW!E*FLijsme^=oRB&`xP{I?gE6Kw zH#Ea+b-uBWWi1A((D^)~_7^Fy^^w+F%xnlvv}g|k-ixjlWz;gN3D*#skb1;j*S*`2 zPjB>r+tRF{-A7ER%YjRur9S!}n1;w8?k$_Kw`~!E~^M=<=NYC$gr- zxhiJMdHYbr-!~x9IuIi2T$ZM1s-?=8(W`BcWj=7rS+Dl6Db)mAESRk(UrDfy4|dny z{YmFCRi6rGYg|a8wO?qgwIL=;K~q|B@m^92nbOa^(s}arUb1AWK`CD`*fVe0(}2rU z_Q*dSOn(Z&Pq4O)c(C6wmw3!|9_jqK1SOqdZ4*4&oPHtclhm;;(loUd1Qm=gzE?QK zzK9Pli0S)d&d?>=sKWs@uI^eiQCm>U$q5Tw`VGAhZ*%I{5R6&_2<7J>vphlsA(C$_ zs#C5cKE6$t4?t(!`q$CI2as%VF6Jj5@>~UE41Ogb?JfQTqYZhrb&Jq4K4B@lmos9f zsYO87=3X+2o9Y9|PWo&_&&CIb@catVChNK0&##oJeYp!A9oeS!(Whg4aEP^qw46^p zp{7O@w3yNL6Isl_#9-(&bGH`RtKc zgQ+(cDNTWBSW0fo?1l2pnzdl3cIa0Jd(L1+G)2)NP1%-6XVI`?#X1N{Ne*~W#WAX> zS>(UC?|>L5t84s}noJk>5?oOB&)jUGq$537E`nXQbbF;5Po z7^t*0v6Gs6DBQOQ`+2l=4uu|3JyOn1Wtm__JnQB=h!e=VCSHytsBLYE-tl!DSQ3L> zw0=I!bi~Y-ShT1hcT!*c%IO)Luk7Rux_&&3sH63*gY09V2z1UEi@{>li*zYG5p!pt zE1JL~s<+?>rlGd(cL!_ABD=nnX_SL{jRf}PV563ngUaS9wg4@8KZdsGyLuPj*Yf@E z?`ui1cSR}I=&yzgCoJJ$OlWJtQT;HX+myYb~@7vljAv;5qXi zk;8~+Ykza(3`WieN7@-(vqk@ro_98%|LuLZ>@zrLSIgV%mO04>qxB#1dZnJcxr5mq zk-k+<(yV+XkN&XaFr?&(8i3Fqj6d&Z7!00_o5$2u!Rmie8R>tkZ;L5QC^cIh>N%RX z1iV5YxXr7MIr5Mxwbw!yQAhDv7$?GFf^-$2Ybm$!9aKnm&0w>|#p+pYD#ismVi#s8 z7^mkHX+NOwQ9~Q@@b(3g zEk!6EbYU13QbZZ$9#v69!%wGUJ<@6Rin{SO2`h`9*hOy*XZVkk*xah2h1@#ll8(9_ zJF>#kiGb~Si*_g?qQq)ojTw#_OK|>X=tXLlVoI+;pQxgT8d``B#K{sgLlsf#+qZN~ z6}3|)qS{z%5nIa#sjpl|jX-^_ol##;kGW>$WcF?7Xzi>1Z?j`}f~RQ4F|*~8y$?kG z{Ww_N#-_4%s2R*lKx1CTV9vNWnbM*-j@CFDS{b0dF`CIMG>qanSZu{nfzF+15aX>e zS+Hg4oDe}NGkJN3u4`eo9MDr7MgvkKDxeL?ZqNgvle*P?XSTp_g2KKT20aiN=gwNg z-IP|D?X9SzZ}r++umW*^5hFo3$19a}gpWD>g(+=0>fg=Xg5J_IYNHQu7NkzkEMrRh z0;MEcdj+?!I!~G+oKhnzn9}E>>yr}dD)#A!P$?mNDqO%sVaC8-EUs-of)dbbXemg= zN_2`DWB-qBB$_Y9xcY67ks07@O796?Bv_ll;K4NK1vITC4{gtuSq;OoBQKfK8vsm< zd}W#y$#@>qrPS0}jH|&uMh$ z!8ES8fGIr_fZn#bf=+jrB`MUdNU|3c>4l5rkh0VdNME^##FXV&G9hg3TIj-Up9@f* zGrcfEm`I8#Z9h;@hnQ4}riQodn*eI{4?70vz17o{Cp!yS?!0Me6sma(7|fF( z_+@q(uDn%qBSksZ>J5A5lk(YQDJ06OS6|SkLgMtNpS<8=+Cbc_(HH9&3zR!n>9dGy z^DZ(Gf|Fo5Y<2b+FPxgD-!Y|K=E=36Ma({l6>;iBOxRg<=*=ghyc&>BWebbw!Y#Q2 zSTeuV(&&rA!Y5@FFFtykx_5uyrps(TShDPcFg%+1BLruR@-gR%_ z7G4pK6D(8x5NNOB-+rJFbYb{JVWBDy$Hfp=5u=uTMVnnk`IKI%Ig_%dIm^~kv9!pF zwVcCND#88}Pk3vm;7~L6H4*l$Xr%U6*Y^z2n=X(@JNp4Phb`T?h2Y|NZSzN{Bbg72 zyS`1yRb)B&{=v-BQa+N!2?M6j-Kc*Ykq20H!GzN7z=X$OF_^F}L1)5N1lrg*bPc_- zzvLq80_yW#NzTzVPJ6oKCc;$DB~+-0sP3-JdW&^C!VLA3dMHS{K%W*7tx|5zW(z9G zf~{FdqUG5>Y;m2mb#st3Dk5nbn+u7S7vTI2v+5L<$reJ+e=Thhn`YSAcGlMvjBfOb zTEb~p5Q^9x!A-V?F9t%}GY!%Ron?)K+1U^O<9reikDtr8*Yk`z#xouF#(4AtU zLWS%q+;>=h2DTgWVDKv=^!DNi~uYwm%SS~`|Yv*i(-c4k`(MZ1(k zIjRi=1)C07Fgm4jy|>v-Ey*a1)9b^gtwCzkQECvRBL@8iV*?O}%N3pW=QbUSa|a#+ z-vYaQVJzdv=z4Jx5Ot?A=(g4&+V!b#Ax51cknc;bZIrxe;QNw)Kpct@C9k6z9-?-o z;V2-%)&|?rekh@-r8hPfhM*@LYY3B{+Y>zjiL^De&_l#1ed&^is9f^o08|WlK>*HZ zmBw)=prSCi3$@b}AE?Vb_ zY{xd_GE8Y%Wb+hp!QtLwXr$<)!L-%Y0MTMtv@~Y65&b> zs^~4sn%rhN=5i1V*D~tjEh;JVX@<9mavhb%nL?pBv_v}ZErJ_O10Nwb+u5U-BQ&vl zc_GjeQEg&WXwp_gb=<{No>)Iebu$0iwKbn?~r{Iiqh;d^BK-t`LpBEv2~uBFJap z43^Dg2H;llUn*F zy$OWo97|<_M77#W`ta5%sopW?nTYW}DA|VCn?2aYn*v*VSX$woyXuW@hQMfa8?pq6 z%F(OS9QF4?{SIrDH`3W7gTO=!c*#5Ik=Q(sbl1k_B(BYkbq%FwK^WqTG@uj)wQ?O= zQVQ(+o-#^_81ID`r(K267C$3~@{n4T5luW=CFHeT9xT!7(}pr4&g*(dy_g#u*xI%*I(CT)28-zME7y2s zKCG*wW^8Gtj%(p$O52Pmi^0{)`A7SR<~)|h1dG;62Ra>$^=ZPQvcf}|PM&4K>&aBN ztne$@D1}!*Q~D*nPvcr7TJG!e5}SHg(N0iOS(yJR^m|zm-elKjdgFF;U~BDY+_of$ zN>$i34ke0}GVG4_Xu>;K=-Mc#PQk=CmQfI?+d~zacw&cQ$&(I^A*kVdGUt~+Pj*HMwN(^y< z>oG*Df1ce7N&OS7qe5YBpfhhjha2oL1dy|3hP=(*T|wtr^n&(0C;os$%tNeCti?mJ z-t)YrqFEU*bj;QT!7dmkcnYXjh$vZN0CK~Qa9)YNaOGGdq_i(!-gKpJLPU4v;i3xY zc|8iOAOe-&seT2~QmIRGD+n*u^Up<#c)G(O1cTD7t3QX9s7tXGg-3;g$;_J| zcE@x`9nFq!50*P?G!!9EfItMS%x==eisDn3Lw-8;Fr7zc&%UvGA7!wtsS88l|-W=6+_`@%IU0)&Q%iLK7XB2oDzEeY_`SzYleSz zWHYnnc%rS!KFY2H*=Usw27bWNDhrVu9GzWE=cs13P7Kjjti?QoLW#HBPPEv$0*DjX z`xLTh@S1fYGx*+UhbD638DQ+2ZS7&OhBs`@42Z6Uz?kB72V)k|ca?<+(!RYioE+0~ zGB1Zzz?8u@3|?FXmE*K2!P+pUiFJHX2+y^LurrOZeuidbpc#%v8LiQq5}8w4E0h*? z!9GeaG!o*-r7BJAvVf$p9djtK|*lqcL>%rsOoup%UT2aT#C zzEF-6%+XI(*B(^8swnR;g{s-maz6P>RL^+R;Gs%YfZZ4@tn$u|mU~(hHK-<<`@bH^a|XU$B)EVH_&&jT`k|Ug_4&Fv1dk5|;Tivu!8}8nXRtDi4b_M`=r@A zET`_rTA?IL4ij<3J(@AoJUtPx+&$LH45L$FFhviLYjxoZi?m#IQNyLiaHxxuSg^ZS z7arcrnqphz1P=xqpcwjTfLlXSXI2+wE1!ZlXm>U^>`+x-mE?9bG#h7$ZO&zxBQGWe zu-YkFl76c$2DQGJ#OuGv&BTswK6QN^z&T-)hG2ZQg zyDnURBhVhxhMJ;c@B#@`WCNe1HYjK{2)ml2T{-*DZ#d-vdQ(%xx-~~!-;bc4PpL_` z@GGy?GNd9%A0AA7>>7F%*6V271c9X~=16n{vWAOFh08I4cZ>nO=|H&Xr~E?|Yl%?z z+r3%Gz!1iiIizS?X+SN}*}T0k7u|*j-IO*Ovz3i;!yX*l4;i9DOliXzjd>68UmxU{ z>SjzX{lA%g=o$>Y+M;sdKL)(bo@2J$)O-d~quL@WWt=aHhx-)k-R_gDL2cocPy|Xk zUltQ-ra^v)NwxcgL3TCB?Gb2S800fdK5md71{%|lb2l@{8<~96AfGYFuMud~eBUmL z5J?r+9A(XM#LPV$#K|njv~7o2%fe6k-api~%W*b>VzsCv23%6ic--vSC^aIt5L6rGh< z^iQM+RvMB|9Z^y(*P9~hi0Ta{LY(*?64x$(L(K-PHRoVR6B-&@DZ}D`K*Ru{#dU+q z+yfP5XjWAJlzylK5gtWH>xl4@lgoo4wczLmw|AD%`Q;Y?hWL8D&DQRaZQ9(W0AL zb^!esEy7GIf5HVDo0~xHL|b?oMb;Bj{hP+>g)~DDmKhIU3Ixw{I*(`#x>ip#fJqrp zU(5(Q|A5!5S0c%Tzib6~Vi9Xne_NAZ15pnq)n^SvKy14`+1ZisL#23F8@sdLDm`;dAuR@2!-?hjD_mpX z;3E}*t)V-d@aVtB5E8g!;mK$qhG3&mK2E$;Hc()^NKl?r|9GsA*nh^08p;$Z+)&h1 zk_o~aT5*t{E-7u{AvRkZ1;M4z2g)nFDZ`dHoPwH)mN8Wb4%SA{l7^yQtyQyGh;Su> zZ@v|r!wM=92c*{M>+sAbSgs=PRXvueTb@;X!2_rIRHTups4Sq!MxvBjdNy@x1fx2J zCNvUN+MKz=a+9T7k6DV@7EpAXZtE1zLSTx&0y7IPJda?_cXoDmTh#P4f<@)O)?BkW zft^>V^bU|1(j(re&%GYKYXog~5rEm!z{gayjy;6;rZ%@t=lQ6Z3$GKH7*NH-h_%0aX8unYxoZwx4dNAVHedji@IJVy6ENsx}R$v zywqOORI}*fwWhO9`-L~&4zuE=mP)V8q75wd<_XYcrcN{@K_nFS(B;L`69L-@FSRnC z(WwN{Tp3ROO+=GU?cv8vur>}cWeg2Ue~}bqYX=AME4b3KLd;RlMXL!XQ~a~kh(e|X znWi0?6^=p$$3Q0a{eGpb5Z0q9#W1&G(qD}EgqK`z;4DWu7BH0#G!cyprG3T=-92q4 z75!B7FIOG>+&$D-9wJ@!5lF#4L0jVdHoIY1ro9K0t=5^Ae~P7YbVi{>_@b396xB@l zr+8K8F%I|sM0NVdyk56gQ81!x`+OG6)!1Pyxq!{-z4RJ9SKm;a_Dy14Zn+0dayXoa zIsAGdC^+OfQil0xO8*lH^pl+uoXhH*{z6xP`#71c$|eM6Ylk5EwV5bhF%8FfiI)Fj zcUIF&y}yr-GPEvSFiNb2jU$@S3x(96V$DV6lnn~Z&`IM9W>-sIgcM`(0EgqnZVdY6j8y=AuNKbS5}>qxAsI{v~uHn%D1xaxkZc81ZzQk5X&Hy_IE~X3votKtJI^StuV!-sCp~W$mcK&_ylWOa3)yB zrewUW0VcZJ*EFY<2#cuX2mh+=2c4S7U|*o`RJ6jNe~7ocvxqpqqyJioX3D>0ZY^4R zw1)BVVWJ1~wHEYaYvEt?Fs}Q7sX@9Q`myHOny$7MA#USZGS45GZR0{5x5j3_9Hon8?MjLo69#UvqF+qV_q^)SLdVfa++re%11%dX}p_HJTSvNd0BxM6oGb?+I%jml#klNdOllCDub2qK6?mKvvsAP4OwumvYeH^ zXZbs{=5rD67COu@2t%;SETI2B7ZZKI=He$9#b5Q&i*LonLy9`$*!Lb?>L|(vKfQ@1 zRzJ?j21FBQ0F5)wfXN!2b%Q-ktVkzuOv$|m9<7izMu~K2 zpcfyuH6Q)KLStfon-6a)ZdlpxX})tgp1c?HZZLHn zAQBZgDF%oDzf>#}W?b=rvub(=jP+<|loxLa(yq~;1JISAvQ%;)b{TLA4-~PAmF5kE zr#O>-8z}x%mePSi!dq!WR|i3%|3j|^!DV}cN_`>LvorY%QMJ5+lUmqipA_RIE4(lQ zOg8gkEIvmtUC{xyOe?>m(t|}bJNySjD9_Q?gGFVv%sV9^61+I{mlLZ-vY6@m3XJ*>X;62n)1e2K*yB0`6gRyZ^u~O zCja4>VFRhvaQNv)oPdR3ioeC|AJrE_9cvo=D}X+x!N>cUdYtT&V48SFoA4QoLU?m* zEwiyR8aa$pM`En`&{p5bAHy9(=9H-dD;Mz27QGqO>dNE&N!3W~bJ;hbUq>`s+B%sj zYd99FKk4lV5kR9xh;-Q0h<^$DUr7dPTM~qzF2~2H2mR>X2vLF-Cu0d2-~gU5P|N|C zM*`UGYb0AfQWPy61;w66ocTu42jcAif-a5}r7OSu*WjkBPF^CIUhh{`@A})-2mT9~VO)*Hf`K z-`xodKbGcek9nnyevUxwZZD!Y`DeU%4w*1)+c(CXZ)?#{4IP^TC)>x za@4f=iylnFoW4m_r;7yjNI}Y+DM}JeNBh&rK3xn{7E@b`n5}jwz@#!%XoiSWpEw)o z2F(!dm0fgr29$bzdN)H1SAM2pR&h{iN;PLv95D{guAkirI?l@hg4(o$#Sngu|_`X*r3m__k&-u47(%Ny=hTiqaQjK^^4)GzL5zz^7jV z*!;pswt<0W4xs1~01y5(C`k-VcL0|eDC+>~d0hGm4-2wV0w-eMa4vi4cnTMhsCGKBeEk6=8Jk8)!wW zIm^UiHU5c#tF#E_rAa_wz~=hXL1%8~m*p%;Nm5 zXsMPwPNA#BRCVeDT0z2(F06tj*p(iw5+l_s_Ze4)EZ>P@%4S;no#?ODcHk<0FN&$| zN9pk@;YqE(7o8LvZTeo+Qu`dy$6?WG(Nuk`83hbqjRKBS`fAZvZQ;NbU4zT9Pwp9A zAF>8KK>=$pTooO-@U`I0vAafs#SHXv0IwNyvltlc0G={X*a5WJ31H1- zBUuIm4IO~rE&#VL8I%bOq&R?E43uyHal6r~T~ul}I`=)t+Zpjfdywd#UySU77?|S# z&N5Kt7b^M_ywfKy8Yve31Y}03G)NSaHEfwvT~&4xrRN0N2kOlr#oLJAiu( zcshV4`vGh@XC(WPf#wdtJrnKyn_6Zj0kC>L zh@n_=+DLHZAQIGe03n9}{PMFwu`)2s0X$-$hy!SO7{K~dMzU=Tm>q!k5deRkG$>;k znBo9_V<6B0#2iIKuvi{N4?g3dG!-}o`itX6&i)L{cK|;#5b6M`9Y@a7H1s&SFyNSx z`d{GGf)1d=2>`2(8k9W@#5#bICjtC^#Gp)OV4MTE!+?(iXnYC^c*J2tWBzjr8uQvA zLt`%d8M?IeA%hZs8WhVxgL3yY7USXvjiM9JptMZ~3}7PwEW%IDpuP7q4P5eBB$(y^ zt}qbn0HV$TII!PH_6-AF9Ds5j!0UYmr56K>9l$XL!W}@x3ji+cHImsF7~%k)FyQI{ zT37C-Fn$Ne8yRumUy$g}Jx2EN3`}wWHyH@nL#2L&^zYtnr18 zJ7YK~O?MgPWyBM%A??=fM#di)XyE`%*O3a=&UFmMjBQ4OUx8E0JAjBA01j_8C|@zq z-2uE~;N2F3()~98Upauo3`979^1lQ4b+eId1_Q$#z(WR14xq(NG~@@GdlNlK;Gi^l z-2(mYMkD7K22vfs4F-Z7K>a_Eb1zN$16}xhgOS?#HWIx2(E$1}u)qPFVj#=`RQ(gc znIDW~a~T-;18rV|we!WFSUX)Dl=gQ(`EI?DY&Qc996-QdsQV@z_zTUQ#PRVQ@1gh_ zs77~@cE?&H<5~tv0G_NdC_@178h;NxsOZ3jYe;ZxwUJ;k1HBx;YX%et(8Uhm zo9~Te2N;NQ0KxYGT=~wROk*I~0o-Sxm;-3~0Ci(Qdw?En;yBj$2WW@=Tl!-I7%}>9 zFkk3RC)~H{Bnab zi-Exo;3)%z9YC8W0M;xsl4U#*#g%7t>Iu9H;pFmEMES2Bmv;;LU@b09=@vQesy>C| z)8vac56n(#bLkDJJ-~8`05#)8bpkc-P>mO}54%M%{G@wfVz*Bscdi{fK z+9tC714l$U^?Qz88oup+j$K1r(w>WQYSpjE{a@jSZ`LdQD;lV0mr&+g*w`@r-DttT z!W&1JKm3baedzMP*ak$Be1U!JaY}w6f{M~)CC{yg4Ep{BJToZzg$PkAe@Vq&ia!Dq z78~|{$cL^xdpg`e=%#j^ie;fWm#A-+=%Tczqgf(W4JZ2JKWs`jt&jz&%zq*PQ!4g9 zQ8oC-w|t=~1zW(Quy|aw39oUeE`zZn#OaXH_W?BjKll?ci2sQw_?Ak%62W*Amw~)dj#d&ySrqAK1wJ*vm_REt4O+%x`Gnl;0OU*syDFMiw>pV-iRiu=X@T6s)dqp zq5DGeI?YDi-eQEX&3r3nc$C4X8EknPUuVU$&twjDekZDUPnoQ@CKZ8JZt$CI`xpy| ziL~M!?h)4lB2VugGN*&`W5+P|lfiW7omk+V^hLfr7x486z7d$6E&6!B#78`N3Y>2P z@sEYBvTR`CImU)G#M%I7IWda8Bff0GL1n1fHo>fYy|9I>r)*d_TUJow7w(eFi_9O% z;_P_d;05(nWE|$jdPR;_eP>ZwRepm->98uF$9TNNhM(`lMeoPfAFjhEVHeCVU*b^e zz6*Q+sjqN+0N~5=I-nmP+~>OnH(s!#!1)qo2^mlzWds}r4ai^0679ARgdbs$;YaWt zs{0YfA<%wHL?3K!i7JojQA2< zveDf1_<)ief8PE7>%M;qgzFz63}(W?j}V@n1Yzw*2qT#Q*)1%6{6>9*K9M;IX#+j6 z;Ya9GkAq(MBZN0`2W&B4gT&1V$002BWW9)q#n1o!6w}B}fl8ZS`-QA>D;exq{ z@j8ONg>EuPIYOh|WJiDBuKzy@3%^BUoZw4vliq&!y8M5F)Ky4uh60PoH8Oefn{0}9 z$5)LkfEf_LZ4xHZs^W5#T53E6ct~8<8Bg^P@}ZXps@_K_96&K~0GkAXYe%e>+_?yQ z+*=yvDLo6<$;JFbLp{+I-(18h1Ca$^tdXaKj=*(?KAtENUQG_*H02KA3O?ZFb4u_57I*YH*g{qgu&Q%_lMw{&%}3?bqCCNXJ)!QtaNxQ7LL4va@d8gS z0l&|PCvp5cBcAmu;xjq!gH~|10#1zj+=!?Bf_SVRr~O=9h=HGZ5qOgx4|M1Fi&pmq+6-i_m`5x>K##!izfTGC0T{hi zAEB2x2)gwngypzBs15%JA(#oDeT1+k6NDK05mot@{|J54e$b0Fr&|Hgm;X}HlHk(L zeZbw|xQ}wkKxOU)YMl{}=lEPbPD4tf*P{)5;!nVLHR9)R-3{Ld>BY6-IF6yY=qtMs z_b}p}IR2U@2LgX<7vi^#crT8hFyh)y#5d`2Y7vOK$cXn3L~}7PfwCgbkGKfh&*Tt2 zUf`=S$Y#>xfq@)<0b3w;Cr&hAkK~vE-;M?Wb0~=C&`0Ra$AiB9BZQ0NK$!OtLVG5R z`3T|qSP(FWP?dkM8WZ!qF(xgQIS_}GbvkLS3L($hd~<3=|z;t?DV)8llu6!__5;5ViL zpG|X1gU@*MtrAX_^>|Eaq*<-U3rtKwnpsBtFjtdo#EWsf6UTjU$%3;L_>b+-ibi|_ z$BXK5dW_=yvJ(D(sM2R55w7@@!Gt>c5xUI^`i~R?dhZ1vp)Z^P`nZn}e3{VWBZRLl zAS8T*P>Knmw3nOW{SkVF>7c)(Qo-owkJAwU%ZP_@97m_YV8d1e6*(2CB}RO2I^vV{ zIHd%GtNjf85$1ezBc8zVT1NbID&he~yd}q_9*?~;h5g{3yY8_O{!YKCMLF<+47@j+QxlE& zS1S?kZNvjPjtx{fu(gJPD!&3KKO??=IpT^Qr)(7Gr#1Zlj%{6rL}#gFc?{`}kI?sg z1Nzt00`xv@Y%7cdmKa!yRS4i-P!a~5q z>q`*-)rfcHI5rv~-~%=qOz!(7P}pd2{J~TF8RX5_Favc6bPJfnFnUfx0R0&nxqn4F`zRViz zj1lk1@$E+ZCM&3=9QRRD4b(l>Km&~UK#sT65?YdL!9N|k7=Zk{mQcd=Ri)m0bxkhzaN?xI| zFK+5h43*!hzFnzonCznTr?fCx-K`xzp<)ehj{x#|C`^|2FK?hi7}c>3EO7k{Z~be2 z;%h}^>7|zILO#`H7~k-yE^G2`sJg5J4(+Zk%V3N2dvzJ;9*E1ZxMLe@IfmTs+9YzT zAye4_T|>T9w{@g1s>x8=T~kiN=b%yHU;(ys;j*oAmd=FBIJMH}RJ@j)Q|d$mZeH~5 zA}TJi_u@B9!hc6xTY^y@OHi-P*DmzJT(IkcsNG_Kd4W z^CP4$UoDA1{D%nXM)n9^@rX^+H^K ziN!k!_UHc^?!hS95-Dr*o-9(N#*3N%Oa&yOGRHqR9yTt2KL8>lXAsaBL+%l@$_*_Dse>Y_Gmoe;QNX6Iq` zefqYptlG&R7Kw46NH@Lg)Bb@}763A5Y0;aJ@=}-29n~RX{~03IsvFArwH z&?j)-YWSddm;O}TLPo9y+ZANGl#)|1oK{w+y~#rS2_lf#uM83XHM zz?GGYVxbTU?URg3GuMzu#%&gxGu8{nBta54@eJerc@ z(1+&qO`MD`^f`<`?t?qsK$YYi4}TkWtMRDUKZGvE%l~+T+E8{FT%?w|9+a=s?&$Ofx5Du4O`>d$ zPm-o2%9(1_IC5_)=PIAl%BE=Ha5~jgmMitTWWF*!`7ciya9%f)k;+p_Y=%tmiZ_#k zQVQqKwCHJ`Ob-I`6?zNwo%}ei-3c-6RDSyX7unhS_(OVorzfDV&ri2Q# zXs!yCZXsJKlPI}`yo)QtomxV@45TeBp+qU32;1z#(kU_ONKyL5Q+77au@*|z=AgiDS?>fkxxSx~pnM~vZjnC1Z zxzy=%_)2hz?sGX^(a5=@ETtT!@*U+3_Ry>>?W|q2$(8+Hv~&va9?NOU`%QEG^PR`-k>J!GV+ zmajzKz2#3;zJ!J`Tek&I(%TPvQSg0^=-c=@X*c6oDMK7j;dhchj5GSruk~5XF2|gLkWmY&PiOi{pK??2j)xhaI53A`5aTm62nQDz(2EIp zK@?wzPbSxX@(blq#@K$cu%cvSOzkh*DSV%3fSjsa&FD1{3WArTLGovo{V(Khu(RM` z*-HJh6m@PXy=nMhIUdIgj|a;n&M-taQSiyn#-Vb6S|-pK>#$+68C-jlhRK#ix59e= z@blSmbbA;^tR@v2E~~1}B`I<^*1-!jaJUS`amCW%vb0+D6=e>W<@vN}xWqwL0J)El z6;(BW>W+X?_?7yNKoJ{gHbYZr&j?wW(~gi8)Ji3&coIUV5>zhvdi= zsolmrfZ?44t%t8slH_1kWXTYsvotsvs(BTCnT&PfIsKO`%c>>)xM$Us`_y`*Ea!j7 z*HCXmtwXcot>!oJwnmEGjdkp2v|uFk#U$E`bhspOhat$zC>f#_^rhOP&?ej$9tGl7 znlVb&;Bg*>Mqu`gk}V<0F{5EC;lAZ)IYIS$PFF^Q5z&jrAisw=8k4zO+WV`DA@ zTR%T`F)OMH`LXoNSlI}J>pxDGfMYX)16XL|Fat-@sBto&M2DyE8+gEMIcE=kj3*B9 z1*KVwrcFq%20f)S(wlMM7e06xFY9BuXggkBQ{9SF*aTUNk3}b7 zMElaB3Gxp%k0#0pT%6rJ5wrYP3Q3VKl;1M~CqYAm#N}HH%rR+^o|Iq#C$3Wu3-DMtfyb(Rgaargi>#dDU%;^{!?1ug7SFbY z)2rNXZ?yHd^L2Yv-ZjyhpWX_YKUjAM=BM-Hx!SMi-oblx^mR5Zp81rrClsPgoQ|{MmN;9aO9h zp^0-a0dNI&4tfk7HV0kBT$>AqxXy)rnlRV!j?V>oIek4BY=b|YA>2|2q!xcimF7YH z+@j9&WVG7q8pV!=XAXz*^W?(FZ?EQKM}O|_9L<^^UlrZ_kPS3tJ~kf^m-%uKd`(pr zAo!M+ERc5Z{+IKW`GO^@CoNehC#u1($ZwIn$hu&WOjAzM2$CyGhCp|jtuom7L(UA+=WKekLe?nc|H#M|Li)|;Ml0nosG6NC z<#4swL#q6(T&b39Pv^dcrErakufhVbnd+{BQYLD*3K}1Zf0b;idbXphtK=1YqPXQd zS))q9WBIxZTT{OiuRUy|za@~?6Jo}f6mWKxUvHdX1waWRidwGhLTZgXN+*TjQ(-d#FoZgY?bS?6-v!(>?_oA`c)Ed0QZ>(8cQ|S%IfOnyR>4X^bf~Vf-m`9Jd5ibZQ@^CMO>C%Kb{@wIaF!` z^5Af9WoW3@jxyHDkdkhzxg%TvKT>)~i-x+)t!)#%T`Pm)n%_Z@xWWIjl)fXy*PGD} zOxw~qm`aSXHVi^RR@7KR2jlVh4nJto%$*Kc;KX>mU4EkO`imRwN6Xg9PYU-$I?M0K z1S4hJI&`U>LB&gdFYy6&5cen>yx<2s@Xpgq?HK@T+Yp_d=@(*53y*5`b-MEt3STe3 zR0e09U5^#L#2**%&VuFdCN^0ByuA*{Z0YCH$8^aFhbRSq#QJ)V+Wjc!)=j@<^sY+D zoW6{3V63^A?u@}(gO1*{(m`i&p2}>HgBtyI(=4$Pmqm|cu{U&1Q=D7SuN!0yk6wV9M*fw2FLw~;-J*AEWnlF%PKQyrS|X>GKnJFFZY^%WNKg#v}`; z(VJym&whS*S~O>`0|(Y&l;guYixZDQ#0%J{PvD1nex%Zy}&o8iRVGci_seg_Pve|}VS%2kqw*4peH0k3J zizgzqd)cVPSW3s^yF+|NhsUY-F@4&wRTe7#-BVs1@$PI`&Iy zvsSqc?8nW?<)QLOYftUA$$>Eb4{n3+aVC}84sO`5854X6W_z>wuuJgurn@%aE9T8h z{`NZsI4i$u`cnG^O@?6M;RIcKj|(C=tf3{}a1pI{;l$&lW~zJ~#W$7gd};dO-;XUM>6+b>OOO$olDH^s}LbJ6fKNa7HhL)2s^(qvxN)9Bg;4`Fcc`XiAkBe@*6 zt}|`oRG%BEh}oPXxn^s_2+SCK_$s0Gc>&NK{>o_QcSj&JMW4abtL@pEcSW{)z{m4} z0rORU`l!5~%W?VXxD1xvr||oad13YKlD*guu}d~c*}5fPbr!al=4fB##~03PM~%x* zpO&{79rM$}^L8W3px5E;jc$9|w_p$VK|lTT7jP=CyAB@O-Pq6KKIa};zQ@|l`MU8O zo-^1W!?we`(2PCQalD@i8{`H8ZP!BZ9nX|A`J_Q!Ymj#`c?rl`Z~W2cDQ@TmZl~|| z$PAaEhjiUJjC%bfgR33h$fFk?4dgBvgwm~^k%;p%Q81Dhp$GV`F42M)RuU|KVO7ic z2^;Y)bn_<}z?%sKYUztqVlOtV@*>qi$d|14!Y(_0f&0Tx8So7}6dc{?pk8xh4r~j8 zVK(6;LQlocVI(MPBq--dkO}NAKK$3lBNh927=v_g4;Uq^(ZTQ+0QJ|+j>TjFIVnS6?dSP!oN|C{j#Bg&wcmHlB(NO`f|VQU9`(^#VK{1^cxjnjl&o1p6kez z2_eSY|Cw+b-=`6o*ugcVtV}qf-;()&ETtB|Ljw=U2=5iCiqnf2k04VToPwwnKUZdp zcHc(356FOuZI5GN=>|Oi{usvQuf2Mg?jlIAHgdra4y7Jc%snr_d8Hi0hPF9XJt*7o zm$?VwHpkZapp5h`_SYM{qYqQt$&^;k&3J(<6c;c`9l{YA-n~79mf~BCL((U#^-o;B zXBz~GmSc&!$MEJh<^?|EMEx~%dU#C^_yz56Y26`k<1{@vBt3jwwzKVw9hAW`>t0=K zN?)N8hvAcg6aTRM)b~n3R@(P)v0LkmXj4AZIsjEUhfW`sL(6XbgKLYPzFTqJndS#9 zt>KdZ>#~7wT5&?x;|NaZrkI1V{*K5_z1faIe_AOAi9|FO3N zXmS!lg=3#02B> z=D+uG14o3|U2s6a*Yv+y0p(`fo~6$PRx=JQ{y85jOa$@6U8OyWCY{2q=6?C{9;m>$H>#e|vC7c30&As&iI$ zhf8zmSsCfOe>rryAO9|lEqvT6y(4SB!&IzKkIqWJ3T?3QhrsOJsPl6l0&EZQ-~ryC zA8eL=OoI;K5!ptexV#v4PI}intf%ulq6eehu>|x=LYe8=c%LOp`(EEmMlUl8TaG|~ zR21J_;+qDE3rSPY$;$422HBqjSi87?fGc!frog-JeE|!}JF0&{mM&$*<6W^kafX;P1Vi)s-|+Cq z1$fEp(AEnwteXo`F3@FM+dvo!@j$d{eutZjfLYqsq%W%qNPxTbsg^-y`|7!W#u+Qcj^Xb zLeF|yTO&a?M}i%wGuG;rU>k|IP#$Zm8JsjxLSeh&Bu=jd_=MDBE?OlN5^LHqlHYUE zO75ghze*3UER234)Q}G4%FiOm(kILo)aaswzkK}l*6+UoGi5-d0&?0y(WT|(?2B8`*&@d z-ao&oNSM>VS1^+CqmM@aqG`@$=~ZzNaAs>N3kqH*G>r7oFw*a8Zx-iiW@kEgSyn1~ zATPG`Hgdfp{k#?dozsLI7C+mnH=)QkyhQRR+UQcTtu*KgcA1gfEHDAfCf=h1MYoEy zdAjlVXg>>%=4@1z)8#&BDet@=Yj02>TDYGd#>HL1Jk5;Z{`CCGarpU2%QVP!`RP_H zs--~A-WE)auE_xZ)121PuvpZ*uYiL$Y1<5W#Zv@VrLTKj-YQm+<*KY^@<1zcWKS!& zjgDQ#3IASlzb5@X=Pvqxc08n*YqHFsFHuoWrEaj_(Je?a@5_6C)icJSjv_p~|O(4OOiU3rMywP8lSocbNuo!$U|XxF%6kqwu!p_F1@Siy~ZzQ91hY>>3fO1&2En(bADR`HB6^p zugfZZ9`wavC!;HPHR(WX>bvZuc6tSl{V$ZTUhG}ATxKmWnhr^Pq)i5Zm((YLGY%oR ziAo(?+g?nBR&Y>`P`?}4t=FenH>6kP#T%HX`R9hw!8h~suphJIhHR{s-9Wy-$#D0< z1~o@?&r+A)q|N>OygaP0POpEHW!!$}S{zc?iYomsOL~n!!kpQZ!@RRU((LQf%YT|9 zIS$$S#fQlpJj3jfK{N`|5ey9mXfQ%py6*gLS2YACnd2MIt8;$& z*ZuBy_gj_Py6Vz)rXU{x4)0`#yd9pjJp@K-t&UNy+oD4o%*HZqYRb$IfB)J!G<_Et z?oPp54d+_~Qq~Sp+y9Ykz3U=nDK}M#l(lNlR1;Wmtsk$nJIpc681dv`XS}29TVm^B zXLrw~9UQ8ssdL%zKYX=E`=Z3`4XZW-RQ^A;s==@D{mvM1^suvSi^nb7CXuLYZT;Au zuxxoESJ~2(O?`My)s6SvE89|R1HzyAz}89?{~DJBBJ=9X9-=1TU$6Qr>&kxz^%^=} zq33640z8Hm8JaB7rP>+8?ZLj)&VG|}!kzpt`>zi;Lb|d~NW#b5VcnzJ7U|+Uub6LB znXEY-9>GA=c2Qo<|CyuDT{B3-M4;N~NqOyBtETQXtX*YOI|R0eKVIGA)dW`H8ksz7 z0O9`zpS>C0700bq>8!c-!&ds_EJsbd)d?RPfI4vZ{8lWgcHY{ZIL64_4_{t)%|K08 zZ7i@lJ17o)<8B-XNgXp@>FrZI;MnDeGsaQBHC!R@Ybx5RPzP0^ z4jhxIceE!ZstN?st}Xj@Rj+lk<8zM3aoH&F$U=2kr;Z@MZ+-j4l+3Z~24~#EsnO(7 zYYwQFy8e(dDP_%N^{I$7%o$_5ht!c}AUlsjdAHBfpZGpM;_Tk)`O-Ac`$1Ktb6xy9 zR(P}0R&?cB%h1ZVBUfAE@FtuI$z&*i(%_9#LOzv0J|FMDE!1_^tk_Pgf=U$ui%L{c zYM~ktO`1zqct7iknY`>KLd0e&L(8M~LLzFzrS!nX3Z+ zKZq1~Sv3Z>!)kC{4#|X2NEU;)m_Q{|#2GS&8-m+mlC`eFUvo>a9(r~)<6lP0;1esX zd~N{mHHlkwGvqqBGr^F%Kvib$orZh@R3WvfgMv5SZOGj)g^D#S{P7-!tiw-Xu>Nxo zcRjk3&t2F0T}{L1c&-MTUjGA`HS`-2Z^+y|hU`1mko(3MaykS?8?p$JplXyMAB7kw z8_D%3I5EPIPeVLZ3^(Kqxa1v1YoIUe<8v$d&22VF=QsxB^z=B zyw%r`V<4ceH^Ck7G1sB8-~z8v{3YBAmD~(k2rc0adL#|D@PLQHdzLqYPJ(Si4A}yv z4K}1mGUPd)hwEHvb7u)}5^R2u|eEHLCUXajH0 zXZ**`=c85g4EYqqLHS%ZC%8C=i3ok*(?<-s2x1SJBwE_d(ujThb>WCTqQm|ro^Fjq z{umuZ2A#e(x!ck>OC$D_>%tLxMEf<2_cjdt$n`P!9sACZ&1&h+qc?{4Ml(2lV-@hq zHDnNXjF|{u9yePvlh(N!v`+c_yNZ?)zuPJ0z3181!39qTxg&rEdrH}%35t4pn~rQM z(T&=R8dk>JAW*`3r4=qi=k}7a`Q42(w+VYw{!Q7vO+_?jpW8&Cu~anKs_b60EQxP( zr%9QfB4tr3zfM5Ylcn_EFJ(EDLVwshKzils2{O#liKa%v5slB_VckiM$0?sZ5dV;r z3rRnl^=GG;zO@gUnl#zeo|#g8o-VxP<6=1w?n1(732NI+I@FIQEh62oNQai9 zFQBec-utTTs4X9VJ`2@9-{!S>INNy!LjhWb7NdL6WX_OWoHUkjwv>mKZ3{`iI*Hs7 zlAc21-{v?Db-fpoofc#NpOBn_7QY{oTUGdjkgP{5Kct`~RAe{#qU9AF19FQZ{r8-y zE#-8-jFln`C3{11FPi)}9G0Q`u%pH3vuN3VT7dcwkl~~F^Ss|!H2n)s-&DAY9z>JB zBp=lCRY-PNPP#)Bga-W_uA|A-A^9F^`z9o7y{vdxu@&KP3`evyK$oE&PFi-NeokCE ztss1g7NR+)Ij=;MIoYU3%hd}lAETgpj;2wU!BC){oB1EY^^wX}{QE^qf5&kG*GBw% z4EYgSet>WP*zsKOnY_4J&l6O#@t z{t25e8rwz6w#5_}$E-)o*lJ2q&rm6yD+!|=P}guNr=Z1C<*l-k75`KzYf;a9DHB#v zQ{S?uv|Sne`XKR3ZL+uA9`%epJ*vc>8nqEh?c<}0?agW(SW~f%wyfz`9cM9)zuq-k zWiX|Ib(C`5f-&2o`Zan**a#VBkor!5mdWvO7wR|m!PmX*d*41lwh?~FF?&OK*#Ba4F zoe%a5$-zt_+t4W2vyR82!cRXCOv>gDZ=ch~@P6Z4YP8;t{k_DH8f~$|-%I?iM(fH$ z?Nv2eChw|FJf>x6n>-=;yr@{GwH2=%)8g!;J*M4ecZx&Dw0=BL)-Isk%Y*Kt0))!N z%78YWhrK@yXx-ZF>=Tme$5m<>3D3;5+1?Yk9H-<2@z8N?n%=2jNX9f16)ST9O@FTnEAUV23ZjeT&i5)>IGICx>j<*u_L5t?wY^y~msP*IhLLnKa zqSB&VImjNO62z!8+AN-b*l|Ydt-AdTgHRysXEA;x9zLrLa#SuAub!o)n}qhgHi!pe zQog6u0*yFYw9s>5}(!6Yg>i;0^$_YFHprI@zMocnv3HXv{~)qD>zbD&1Ol0gY1P%MD9h# zk{|P5q(*`t3I*#-^*AST-B?xx-66 zm%tsiC|jjvkBs!qtxS6fpX<^`Bvwu|la*P?W?9k2d{0v?-&pn~mc2lHI#h4(2u>C! zhU&fCo~fo=WIAk%Bo~RPdV2IY&fw-Qm}5rwu%hQ$(WRnG8f6uW0cm>gMB75s>y)~H%d*Y#3Kp97EUOL` zmOWj(L^5~5YBRdj%KV}g&EzARPLCd@w;yHmnz^1e^R}f%nKks^W!i_dF(V$Z>^c8! z+JCEVpt4M}?6IPd?A)$b%;-bbPG*S}T_AovOkdBeNF0urt=RP9t}eeO~E z9J|^Pj@G^WuGcS&uEUG5b-f}T7L(g^uAMpJtLw~dxg{5Tb zZ#aTm#EDE*HQ}D3FSjTAHcX*rc9$=Ds(!zNR1>nOQh{$?mOfrp{DbM#xXkCCVFu@A z>m%HieEUx=WmdcYtBYB3f%s##{xN;HCP)9Aw7I#e1W}bssMz<;Oud_f{ZG|weT2Ql z*X3cAW3niGL|^X??lLNnXP z{tm)1Uq3+6RrB=`4u3!29Si6xnp2pk^VaraU-cs0m&oHUFO}-OTL!G*qf7Ud>NU;& E2|JemU;qFB diff --git a/src/polymorph.c b/src/polymorph.c index 8320f48b..335eec9d 100644 --- a/src/polymorph.c +++ b/src/polymorph.c @@ -497,14 +497,19 @@ static void solve_for_polymorphic_param_value(PolySolveResult* resolved, AstPoly param->type = type_build_from_ast(context.ast_alloc, param->type_expr); assert(param->type); - if (!unify_node_and_type(&value, param->type)) { + AstTyped* value_to_use = value; + if (value->kind == Ast_Kind_Macro) { + value_to_use = (AstTyped *) get_function_from_node((AstNode *) value); + } + + if (!unify_node_and_type(&value_to_use, param->type)) { if (err_msg) *err_msg = bh_aprintf(global_scratch_allocator, "The procedure '%s' expects a value of type '%s' for baked %d%s parameter, got '%s'.", get_function_name(pp->base_func), type_get_name(param->type), param->idx + 1, bh_num_suffix(param->idx + 1), - node_get_type_name(value)); + node_get_type_name(value_to_use)); return; } diff --git a/src/symres.c b/src/symres.c index 4e1bcef7..ad8544e9 100644 --- a/src/symres.c +++ b/src/symres.c @@ -1185,6 +1185,8 @@ static SymresStatus symres_macro(AstMacro* macro) { SYMRES(polyproc, (AstPolyProc *) macro->body); } + macro->flags |= Ast_Flag_Comptime; + return Symres_Success; } -- 2.25.1