From 307e73ac1a48891994c05ee50ea1010947797d3e Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 28 Aug 2021 23:05:07 -0500 Subject: [PATCH] bugfix with macros with auto-return type --- bin/onyx | Bin 426648 -> 426648 bytes docs/bugs | 8 +++++++ src/onyxchecker.c | 6 ++--- src/onyxsymres.c | 13 +++-------- src/onyxutils.c | 4 ++-- tests/bugs/macro_auto_return_not_resolved | 1 + .../bugs/macro_auto_return_not_resolved.onyx | 21 ++++++++++++++++++ 7 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 tests/bugs/macro_auto_return_not_resolved create mode 100644 tests/bugs/macro_auto_return_not_resolved.onyx diff --git a/bin/onyx b/bin/onyx index 30b2a89058ad1c5a5c3ee41d721357c527e38db3..3fa5c3739fd972ebd0167ddc97d574980ce6a190 100755 GIT binary patch delta 64230 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 z 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 WHGPhC<5DRXMS7+f)8<$|mi|ATX0en2 delta 64240 zcmZ@>2UJwY*WZ~1LtrsKkG( zb6nXd?jG{r;pDRaPPyE;T5^qQ7jtSa&RzFc&QkT`X3mN2m}-Abrcxyuj!1RQb6W+o z-R2#w>N{U=`?=z%bjr+90(nwv^XwFFbDfkB=Ye0>b~6u531oN8vr<|)KW+25*%9fk z`FTn(>tuFqUC()fsBp9nG{oGwbs&3Tp4hrM)0oe+_I7^M`g6OZ(slE{t;?}CIo@sR zsaYd)yY{K9qB*C16V}!Isr@Nd-F&h`APX`-?U2MSo1;4>GjDTtM?I@=K7-#=%zml9 zY^}LwYGXFrJQ2U+&5KeGvSB%?owhO-X?E7*D-X8#q_=b6;7*jIl6t!h&|}fO*-105-||JN|Yv-(C>U zlFY%hlx@!0Pov$+{H5or>;vg8$%Z%5b@{g@YckMGMz_b!tv8%!)6Ah8*EqfmmWL3l z{+IdM#zbZ`2X9&hOpk6-+ks-obK+PlbEzF^K?U{X9_z;$<3l3eoHHauSV|TZ6=?#p z5y>xxKNR#aZXt{V$j^?*9jAfY(JFf+Qs3W@7 zWOV{^amJ<*a`zYC#u*w#SoVA>Dw6WdnYrO?t9esyAlC6rZdo?O{46&F(=EL#goT=G z?JCPknA_s7WFE0Afc;^fkMc}&-mY>i!+Zzj-OPo%LW1hlRt9P&4}>`^ihDC5BF@k@ z!t(JW#_=;Z*d4-O$C&%>F2k;xr|u46+szwxmn%IeMsApGE)@7r43n0b@9mB%9cC?F zSX|r=#h&K6d1XsKh*nzMDz0)h56J7_Hp*J;jcLgpt%)|@-|b<3mgiSG%3Aj)P?76; zntk`Ax$Ui`^t7_Lr-E8?lXZK_lpbZR+fv+Qjrr=HE~QIYizADh)HFBV+r^D)Dm{gL zunusnrrgu%y?&)zTkG75d&)Gw-`lhFU9Hk&$9roNXY=6S+q#Xi7LPCPX^qxA=1Jm63u3pAS!O=ZW;?uUP6o6Y+VuVr@TK1WWn+U6QZE3ne$ z)T1+4zWLG7End^AiQdvTBpU{XMIMj5pf@~^ERrJ48;?~44_!T0i|sRO@_%J&b6)-j z);MS9AH5knX!bv`gKadQKjF#Rn57d@>_ASLldg>2F;_bk!8Vz@ood6{nRlK_Vx`Rd zbOZ2S!s&`^nR&?Rb}YgC$LU(k>Blp*gm5}jfo;m^b|%V(?K025Fp9SAgjl=ErnTNgg#?kiDQ*+Se3hanE@p6#+DlD$vq)l;!SV5iM za99d3PrMw!i*)AYm&-!lb3KIuz+j;Qab)bA;-@A0L6De6bydNPz&hPao}fvaCJHU)9ak>0zs%FG)?nMrd#~1I>G zoV{+#*l6?R8&OQ1<8X5XXI0FTZa-ut&AskqLy|nXQ_b<`mqKR0NHiRi7Mjc7Ezg3@ zNq1|z<+{mim6`~l7z>2Mq}AqycNeibIo0p&Wvrh0#r>V&z%>uDSOasVhdSn-)9+y- zV|h6_f7WJ@PtX5~!b`bFj*RKd5sxb~7jx&w6C7OG^*n!_ZFUzy4=K3%F zS<9SGFCQ@W++6>kHIV*~{+Y~d&3#{8V~*yye-oIedD_3tylA^ZwOzK5>Xs<%J)wxs zo1gw$o~4>g{};|8bL#$Q;H;1N*qb#>WghtUIMiaTcLT5ue|fiG5bb?u=4U?i{sg;c zHhriD(f#{}GVFr+=7(u6CmPG$+e7_zj_YJeH4pn(hc!2E{#XxS&pxii&YE2~8-D{n z`SMql%ym9R@xpcHp`Wzun0f7|xh%>YQ&dq5g1>iiW*41j%#pe?W@2aP1!F<16S;CW zi0Nn&XCdqlTFsfBW#m5RYz|}lD8q)8V>jq$8y3ap(={75l9i?AwyZiUpeeSjKHETt zY}poOq+xa}nDwRkcB}@AqT_a~3rnD|5&*HKz9rafyuB^KQkf66wr5S5AFZ-y<=JZb z!=ANd<;b@rAbV2Bk|=yelS;Dg0C`Z7%?OL##Z+;I1Ca+3vJZ^-NpEbZFiy--CX6q< zN6U;9PV*cvgB`Tnfd#UMbi)C&8%iG?SYKvOy-TrH>@V6?3bPwP%#lT~{#4zOCGx)) z(*#FWl^vvwjx3oSp?8j~HakvHPOLY(NQ<3Vg`ksm@*dMsGb zlew#0*$h^C>w)j;GpL>$>I-tGxUuK9nDbB{7Qm8eu6R_YZ9Z77lDU_Bn9hdX&MjS* z`7?gZmLdY!BKD3>1TeockKc(t56dF4ojoRQvh7tLA};2zCaWUxK(-8Qvm%fU;6pe$ z2eD9afi?*JE~559AV+7K6vP@-eXKXR7YZ^pHP!V@G}g+jS5lMJR;^N{#m96D(PVi+ zh{wnDemgQsZ|dYhFN2r|^Cr7s)}Yje5~3<3L^JIQ!6FW0=V^Q}tHKV`ufZ5@DV+~y zK@J_gt*g_YJ_a-YGB);jx8faweF?lH>ss+nA#FL<(7o6S(;Ib*7^;lg#f*|em|w=~ zW@up44MJ&N7?4KQ5BLpEOT-E#8ej-XE%n&uM(y@GqNVO-dX#>84SiuiL9#J91cIh_L_CDEOT4jlh<9R7T3VjD__)B(v4r7| zCIB;T2wf|)?(S=Jv^)#Q&`$xKgz7l=R$$Y}JK0c>Xs{$32ZRLb@dura5AoI;#)kwp zHJnK{wvUi^t)Wv0?Ck*|VTp!kdSH!aHxpvg-i}O+H{8=3(;>}GmBq$T8Asa047W*7 zipx)E5Bgw5M@Q%lccin+i;A)jwAW-kk`-oxDlYQ~%a4r~FrueXxq72K$TNXU7)A}V z^pd9$s}g;o73MQKLNt>et`f*6sL)=NTZR?Ui}K93q(@p+gaz9}ktZM*rCjf!cqv@qAiCb!aV40R7<9zHq6 zuyp|YRrMaZxi?qzvchn*SL>DHs)D=`0z zh$(`o4g2mBjlr95BjB$Yhk&*Iky?)w3zpsv#rH+A;U5`F@*gFz7}wXRG9h9{ehBaSVZDEjEU!#ee$D_k5&op9AI{c>&P> z9)b>e^I8K3JtJ8h-4KklF2*4F@P-61%N4I)S!Xd~jy)i}#FP_9v>CQ?q ziMQCc@rL{DfICJ{Hax+M{Aph}^QpFYf)&?b;0hy0nU`e#z*H6uilpnIMMbTwYqd$? z4Zn89jqbh@a}cB!d(a*{NwF1KhwyUMAkJVheK=cGl=+sA+Sk;S7Au_nC)R>ZiN;3J zhB6=MP(>EbF4NPBEY*JXX7pzAfF)81N*=nc5+inrN>*l->%Dm^Y<=xpJPd~*iW3b70B}`?i-VYs1yXSkLa|{|9u2R|y0P_isWOXWUgTMYg}FS3+(d&H zcnBV@PtB^Zias_A1uF~eG}%kwJ0h47CJ=v0bE~iJ=^=KMT4R)ZDu57ns#D@aG(s0(rEfEk~MV6GRp{LB||=AstIIYo#_}+qv|Y)<! zO(V}}7Gb{z8v|!ESf6&W5%!6jvhBdsDw$_GKHJgsrX4T5q5>Uo*G6I#p=~cJ8 z7y&c+*1P&_&?&;ua?S{(|!IUBxZ_J4OXD%*W-|{#abuMmXY)b-G9o>cAwt zMz(cXMUXF|F4KqakmR-a4G&40Q&hAY458Ww6BFVLQciEQ34w}_#a>!j7ex1^!*yA_ zTRgy7`gv^DV&*?gzB(2jV|grh_XH1V6S~7rviQP0mnOO4#pE>RmRgnPYbTgaE1dzt zCf$OgYLzsX#_QNJdpD)II|bEa-fpGw#?p^}rHd_;T#r?B2;Hj?L4sXdk5zVkxktR$ zk-}yuPZ#>V9*c0;f?|a2qNPXlrXH(bDouVL9}+DsrMUX6x_`J_Ffm%{X26!qtQ+E$ zzOrBs1Ve;$hGy3X)o0S~`Yh7vjE}8K5Jtox*U+2#tWL(%&qa@=LHUZvyrwt06&%U8 z{o$*+AO9#SDtM4@+xDxnSr91&XYy?ud{yRf5M_D!wpFcViJ9X=B2?*ai6%Uyx-cFg zlr__aiBKep5~C%{ZfjXrlnHq^9okQJhMJmS?lm>`3JJ9QgAhW#?G0}Qe@iET=G&gM zzKZEQr1!D#Lza_o9OgTM;^WvH`}PmzW$Zw=;$Z5pBijZnhC4l^*aqO;#?-a}tHmnO ztOjUNo^~~0{@OosWm>DGqHODrN9V@-B50U7AzGDQI?;sHSf+qROHdOHSsjP= z@_RJ?nQy()7Z+?3fr?^o3#CmBS#!;bonpOVo#>5YqNNK| zDjvR*mcruUIqjiC@$ik;(SPx*f>*VBvOL-^w1DAGVx@Fg@FtImR3m{!hyJ$)j0ozc zmqS_IeECJ4?ujDkYmW-^1)JI~qqzypjm@Fe39Kd?LbnpwMf(YNWI9cx+(xV?dq94T zSxeW59EA(}PF9{RXhLJ=<-2euUPT<{h*V`dESAsmGoLm$X1b8L+j3tG@R0s93XeJ- zb}}@PP!vCchOcdPq|q}^)`vp%tcpY8cG3U1XlW94*27nCNtr0-j(cdko;7e-2el`3 z9Q@NyC})vWIgvGVsDfg>*c82JOd^Z(d$3i2f%-lfV5bQxuk-~4(DWG*(sa6VCuO;O3LTNQg@ zC}5Aqj#r*x*cXY$rqLGID$uW!urd%jw7^=aE>ShaHP~26YRV${id;Hq!#rtT zQ&yHc`I%(5DP@@KUDT45g^n%T z3c;Ue)U_2hO$8d+iq+z!O3;>8tb(^4EHKb<4SAG99b2=&-t|7$yphs&U=}qL(uICi-UTLy#qV3n*?m=i2K;IH z@Ga#Y*?bxC6WwjiYSdU`EwXF`C{|~I^*u3jBJ_)Mq6yk=4c1j~l@H#crS_E2hQ+XB zl+gzEtdk9GYQw@k>=YPKEFCy0oOFf?+OP^vYt+S~zL7RlKwC&**sE<>WX7E{vP`%p z+qs`DWuKqE^&c%Qu=g|Jd>sUeung88f?P2~S{h?%=7@7ZAv-O$c#AU}wba8C#(uFb z;J8Of4P;gSrQL2*)l$0RL^v$v%=hUycg04`XO)0QFBn{#Y?V$`uQCfRekK3=M zHSH1Q{Dt1NXRBE~THXOx>^wT(fz@zZ2;(`?ST{sEJIMNDCwXr} zKq6_fm%?2V8x`u)UD=ftWjL`vyU~P>n9&Ye*pc~H7=1#P#$)i1DvuEgBq7YQ4-}O{ zMY;}3bw|3{k#z=YF{zN*{~njuCl)LEm6_FeqhiWu0)!>es#Mm$$Lya32wY#GY7Y&t z3M&ZAiHc$e-wXhVEZlw;)w1H&Wc`QLvXlfCX>(rNzWYNSE&;E4BVux(YusKDGk_hq zj|O*Qjhr7Z6LszwXKb_tbF&kCs1YP}Vw1w7P$jsurrxNAj|Z(k+FL5>BRmdPbgvsrchk%76I4r7wr{Z@N1vbP@Iw&vHC+u4*^XJmYo~*xS543~` z2x1(pI3lAxF+fYDpU7S;NfQVF5ixQ}6o|AUV=si<7f^mL)`0y?4!zl`>M!SsK47l* zRGuzd1O<{qq6_xwGsg*b(wkt`9GAiHL)DY+^k!c6wGadY$*~B%S*TYS-e7L@|CV*j zQSCIQcko49S$DUjnQ5$Lsr~SGMesFR`j4bER^NYwT!1NT>@HYYnEvw$Hp`mWmm2nA z<-BVGLTHGRsW|UBEM$RfY;~oHec%Y)rWJiytR@+p{>753NiX`a#$F!3%a~P_G5hTN zx=_=;2n)E<_`a+nwknB)UZqEUS?v}BFg@Xg+3wk6 zqk0|d?vfrUJi6>>$tK&-slwRNSyrl5np}MdV$j$WE--&~{tOF66OVHmX=5OE$Fua& zdSm|<&|L{Mq#sM-C0Ek#{on(hCaE7zCeBmkA6PTD^Laoe{R*ao#l_|{>CTbq2R68p z_eKoV(`JgEoh!O$HPxggOU2BOcnj*pbv~?z!C)_xTz?i15j&tiRAkxb%G`vUd`)Zn zvpP;!o)s58miEz${;XQYK4Fl4=?KC~N`-R%sz}=K?O6G?XL2K*-(z znl%t6%mg|+5GG76JsJqdYYCMd#KOJjkCD3=dCzj-<5w0;I&~ey>iYEl^_w+QEHCg; zB<&c)rZh=2g2KjeVMq{K(gF0_{n`4`8wW#=6*fpAIJwOdXpF9!Sg8m9rX|mP`GUB)BbTNLvw)LaP zAuQ4D{0{V;o+pB`R&fK?8^V%355qCHb~qgaD_i(Ey%@qOR7q>C1ku)jdIIA$U7+*C z9#6!q-t`dZix8CvoIaeRcmN%SvL@_4{W28Cp8e^cp%6`7sp>G6UD{j38ZzHC*G#Jq z#9_kyK}UzNLD7rud@7354>+*&@6KQoB6X#GBUmf$=u5Xp!cdJF$!hud ze+BFP73@4RjD%?sN3J7T7}<;hXiG$6io0!!-^JY?r`Drb6F$+KhK@zI`J>nh)|>i{ zX5D;`JVFz11(O5#EjPhglT?QujAkqB7kdi+Xc$e~WtyC$$7e1EtPus~&M zY54tlYWJz`L^g}HqLUNZrwsKoEG*8mu^7K%%`A!!`7nglbX9gUpC0-|dHJWVs$Cghtj z9feSl{J!sM1G>_LgMpyEPfub#>@_`}#Qx%{b981htK~Zlv4rAP&cyG}6#Ya2Q`oeU zBazr9_}9A3N2b7py-UxhurBU_r$2!KMna`z1m>v__O>{mrf!)~U|nc-CM)k5b;Cw= z%(fc-s-*D%7JJ?1G@Zy~0bH|)3Nj(ShLb}Ui*S7adnj!V4w@2g0tchE2_+Y-nvZi}L7xQZ$4m zh<4f#rQL0MnawJ@1d6K6arUZoAJKdzRh}wa=WVCLuQ^R~@MeGUnn1?m5*?h%Dg;MK zXaOPe6wkO_f(xyL)6J0Kv_^8629xS3MNVUG!F?AAYJzX#L-f)HU$I%nhu{o1KBTWG z3zM!=+B8Wl-x1MMz-)O@tQClf{MM zt~k?>UXjCeM9hDoG1H-CGicv*)}B2gF9REcNab7ui|2j3Y5#N)x;H??HKo`Yh&flL z?lV|?$x*ff&8(2O^kSWj59QBbF4!~IX25_mkd2WIV{K`<5pfcek-4&};&-TjiTnSH zA9KNv(nq>)WcAoG3Y-bz=1`NFtg`*1IclV2Ae1+8CQB+ceJ&)W;ROob(WRNJV#u$b z3y!?Q(&9`Wp_KI~Og3rT%a8JtDcA(FU>xcbjb6h0PKq-&cS+FXHg*@siE?+HMQg(& z`6V$kKSD}I0l3Ho_VK0H`dhtS4!LH)+rJu`--hPS~ z$k_v{Ehq(!X8BQmuXq^V7F3?|6;98U-cG#z4yWDZJ_|D$`?=o?Kqzw>L7%7c0}2a% zDi#OHrd}ZtK(d)U&||6YU!UZYq6csTQQSr;MtVkwH>g?_ZBg1`%* zGDy$QB_H0%1^>g^L(Yj^a06R<5Prq& z5*Co6i1Hz~!Qv|Ewu<6rvvI5&{XUxw#xYoxIV`2b0}L*eI6%|pu)!Hu{u7;{L1N}n zd$E2C#h!hM;EpBYgY3OZIXAx(!e|1KA}#s8e4r@*ESy1_#F@p5Js52)cOfwoB9B`T zeFNcioe(c{1_|bYY?dRalR8r7THM+N6l4IG4{( z5}Tl3ZZ9+2&ujEME&x4#z+<;+62zr+?GrdIOAtYh^-6Rd(==Rx)W{RN9}=SN0+#K{ zzAKK)eYybKiCrbng)Fe<&gnL)QSLZ?HhCmX!&HjR@U%JL&F-ia;gQK#zwP=U4OqyA zuvogikTvp|J57PwcI8{Bzp3sbR^6wOTwNrkeOJAPrY%B3QTS`Rvk(HsWij*fF-%pu zT7UW5t}GP4nCX&hDAk$KY!{ArR5;yE(+oP7rs;7bEm1S^wp8c4X5-Gw!o?pa?XWoy z>kWOwG_LKvVWyUxN~agInm*gIl>yIR`gTB9@?XNL`S!C`8@{VPevZm4!J+YZ{P790 z0>ym?G?_M{51;E<$`J1^emg`A{kw$K_n9nL7fCC>tG-XkOF^DquVnJniZ^QA0jW21 z?iOci1S`T0Zefc>E5$gYXB0=4`OXf7>X4hmQ% zDdUvB9O?M?#Z`n5#NqERtfJGx z@sR3=p|G%l=TXaF*u?JsD1v;gi9!U|5{)D5;|>2n@Gc)AmzR}+bypF2fD*ZeM?;f) zJ$=s$O?$qPg7Sqv{bygGkf6fWIx0DD6bf{NeG}7oE$SXfIK^HKL-P(bUyY#5UK+ZZ z#bkJo5uGc6iMTFtT`eu4OXgtI&Xwg+8{idL^eA{fS}uqb1qeZ)Oj@5%X(>-+sFgi7c|Qc z0A>=##bCAvDSa(lUvtY1AccG}xco?$%nA{T9jLs-yRcA=OG8{xBD)@!P6+%(i0T2Q ztYbl?4**E^zoefYi(YKE(A0G-$^FCOZ~3fXmh_hXTF2HSK0bRrYuM9aEwsUB-HpRj zpfu9kL@HTV+xoQ>J7-gOg6ZONaN|?X0{@(L=~vv%tK7GGs-JA>$N7Uo|8%yTRX}n-GY<}#IeBy z-_*a-d{e)RR&8Mo_<^AmyAA0w@3$})Ud{RvxRp60LRf7pPTkK^{cZ5Q2cn2?9YPUX znY%^<$0RoTP5NK*NONh00Bo-S-r0)d=?cp465G(|Q@GrSDs4kWBT-R~hbtY?XaFGn z9PJSo7WFG>>o!E%Z_{Nw_}ak=a+>X^s!ip#qs+!y)>)L@rlF$jbX^5*!*+~!Z;&$H zSpkql4+TKKK?*>b8~`-60>tG2z?a(OzzM8LBgA7T&Cdb&;(-eISpiJhX(dQOUOSi@_qM{v?!a{3QS%*`;;jJ+z;pm0i+<@2bibbVibrR*GBkVS}??kpoStahc zCb#-g)`79PH1im1;$k;L7)#=iR}Y8BLiFeuD<2j^g8v(a!L8)jY$-^_wJnb_Ws}?J zdp3BhXSSt?YUD$$Ri>5sY&V-iseiD=I9`7J2m1kPsrzwunXRE(C)iwWGnG!9fSaFA z?@q9e2TcVQlCRa?IT5=V{L-%W($8q$t2V=yeMvm;R#%|+9^;&BWT?@gbGSi zsq-w;_ooy=CGB!NGN0jiUYprQ*wW9WY+837LBJ05=Xva;2y(i>cJNY*>F@;{S6n5# zi)^F)l2(8I!nQz*<(;}iuL8tW3bCPa*_~vb@yrP+PCW=)9L`7e$KYoU8#wYaZ%?5 zau9}(S7v_x1xsYZ$nPcV;Mli@FeHkGyGWmQ(%+6;OYdGm${l}+6GWtFy+r@%)bDRL zoU5wSoxfRsVAA9tHrmNIQZ$S!8sQ>s*&$j+E_lTnIxdPR?ys6sN|RpU_DTrte#QE8 z`_UBoFD?RApq>A+h0uJ>|6{%FcAzUMhw}boF<~(y1)HZF08JM3lU3|AJVaz&BX59l z2LzK!+sW@W?#4Wzq}TA8<7v@rmSUG)4gHLxe_rFTq6Srb1At8G_=XL&TU-@2xGVAo z*LxsR-eRFJtG8?-qFB;f2*p5hdIw^gDE1v&W;YwERGL8#-!ZM$eV7n`FEH#8jccqu z{(0kH80?E1Ksym(bTDRfKjmIU;A`AY&}4^F)Ay`x;QH`yGX#!rg!3=b4H`%=UP}$5 z!|z$J-Mmx`HiZh_Gc9)7^ZxMX#Paz8?fpCZ>n7FN1a8-NIz-2XtBK2r*_1W{5U z3$^#_Aqyyf8dHc&qlvV<5JbB}XA6-^v67w^Vhh6I`~*TFeEo^_!|^eUyJLzz$ZH|^ z^bs{KVw+hlTq9sj0}KPcwYDt%V5lS4+)@G7lr(OB51z~>&fmfZR5%z6)NkdB*r2X= z7qKUV5vt_UcE-CLl9z5$1IDMZl-v`H8yONE+N$|koJfV*@N0+_7TIt=mth@kR9F*) z^oB=(Z~9Y3TONed#bjGv4YL?;%d;T}xg8%0g`953b&-B)-(p#?R#pO%`nz(=JQ3HK zgAMe+jtBFw-pU5@FTsC6&~jP{zJ?W1ReSE|*sz^~1ICY~Huk(cTSepSc^9tsqnq}; zF?&ztO7bqSPo|XQogg*umgIwwD%8w@9~V-n6d#3%=A2Tz4;0VaQhXkplWTJ1?ku=c z*H1-F#VO}Ek@*@xOu@NSS32y(|7CyY?sDcCjQvN^F1#0lFw0!{Dr6zWy7I9snD)5x z7JiePex|cgJ035}xrgC~^oBx9^Jb7&BTDmiT+@N#T)8iuPU3Eq?8Xf^Cb;6pXR;I2 z)18my&D(ud@94oH`stAe?+)Dcp1djE7I^Y}n37$*cnJTsHN7kY$uc_t$Itt{cpU5j zqy#j=bwa&2Unhi`H{TraEJ5bQ=XgLeT4xJ!7znmdiL)vnKA63rs=grAC|ctSwx~~4 z{df{K`&d6-LAcm{{8zgy2QZc&wesf`-M7{ieNGTb#c<#BMtz_JD*JPH|LM(@eT@jw zptE^;454ua_Z`-FIt`=){=5o0f9}uA3eix8*Av^I3?Bfou^Ur?Dfglb-v-QAmgO1T zaSH_p@S3=P&>?{5;pU)wARmvE>$!nk%hQs??CX#^h>w6;9uvfyxUC0Tme6Nn31by^ z<_%p5;`JQ=V8!CIOSUXjh4{3icEP+VmSAcyC;;mzm=AOuqbi2fWKmEcuSILh@ygB) za&cS{G9{#+GDR0P$uk7ASw!(6{GeBb#>%wg4A*4SMNHbL8%qA=xxZVd+AM3I#n3^h+o|!}4;6SKxt+CDObw z5bGAPa6AUnpm076Ce;0KKAcUbHWl%Jj;V;*ARnj_HiDMcRYKuG@~_O72-B-F3Sqxh z;r$((yyjLFb#IKAP#M}&g-5Wz>1h=pGmd&x<;}6bw^!u@+3yrsjq8PQuf}^K_s$3_xN+dXzU7->+_(Vb08hn7`lNa(RP-l~dlj}vK+|-QXb&$?G zEQ)t3x38kioBPE>J{#1f3O%J;BNvEB^e;$V;$^sVD!FLUd&Ar(TC5qj=|H}<_(*X~ zQVZL^485$ywf4CMxSwb$bAhTv^94|jN1`EJ;F?I$pxzWJ8N>adnL=ZDJII%bF+7E( z(uEkl-EPQJu96<+&Zx~jaQ&H9)By=klS^IR83)RP>hc=wB(16ok+PBo=y*d`g|_NA za#+Z-9{Pfrg9k5BmGbLxt(}8}&iWIt&*$4Ue~jPfXjy%*afjSX_4y{|n2O-PVjKM3 zn_70|)oFhmpKAB(p8yS}qy|_7<#Io85ed5dvX6KW{`p_rSl3K~m#=T8WGzy4hu zcUnrkf(Ed2rfUr#6C%PD3(CDAKgdhm%e~r=A7<=FT9Ux0afeU}X~gw*@%Pck2O8Fh z_qA(r55Jqzy++(WdXBePhQ2r^86FY&45B{}3y_IIgl+Wsu|h2gg%E*%u~5_&Agnj2 zB};A;+%9HU#aR&$dR|*N2YTLDY$`qP2U2!R1NSeMaptQDAr??@S~)MI>`i_d7SZ$}$B=%qbqcWC`k+ z%*)}@&BSEx=iA#3tSBid}G@1~i2nfZ5-a zSK@ujQj0F!lWsTVbJ^zH!Oge>V<|MYIsbq>?~yH_NkEepe2lp7(vpuVyV?mfN9y`? z&=MYvcr)tlYHw#sBkp*p@HprgTUK%#lDtN zdmX=vtp)k0-d<`(XWMf>_nYoac>`#VBbu_sic6JLxQ3}-s=E_S77 zpqn~Wy)!?@7L&RQ)DohDU9dm9(Ecubs<`CT6@_)^$F4lX@#NuRanrrAvbUOdgSh#J zjNN#7`|(F)*KY#t>c*=^zCMJmUHi(G(&A4D^~vc2$%gk>h#&E;oa%nYuS7NS>dwuu z@Hcel>Dd};DkNpAo)CjYbf+f-$`Y#Hi^m{ec0ex}596tOZ$6r<_tDMXkf#4o zr8KB&KHTsb2$4YX(Zue_{%<4~;XtVzl8vSH%@QsUPj=$6Io*P^#w3y{POD zJOq?(_ybRYq@?bN;MvVT@JooPWcKHeaMb_90KUj>^jI|QMI{GfVYbqQfqbe*K|ESrv#^kuE%&KD_9b%JWDBytupo!y6>>xzmx=9| zuL{BsMa(21(9zIdx=!(fVO+wT9E`cbxE#XkvgcHP2>(NP;6wR6_HV9bC?Cz7#^F;Q z!ciLOBDqA#3b{gA5&uqUgAA-Gh@?wC?+U+7^@zanjii1@Cx?T-`cPUruj5o_i_*;~ z7wKGexf{FkqVX$wlFq~I^Pb2Yvxj^~@L+b2bR!_h`%(G`7`?UV(Fi^V$&jN)@&xB0 z$c%-YjKqm{zSNUWjO4RH#g3zRH*n0JQD6-?l%x3xuD(V$NAmzyoj#0)Jz7X}#&Gvi zFaNTxq%?@OjNvtSZBKeRmV493G5i<5r+*f&E$9YH{)u-*n)RSPW1*g^(u=Wty4dmK zAY%Tax8pdzphOME^VP6irSZ`BhBd`oBcLMPKaC3{b0$DKRi`Br_}_M?)?uY@=KeU5 zUt!qL{U*WGKT5_)+|MuRl6A##_ZE^6x5uHqMu^2v$~`y)>f2Sc+ z_!LALUrhm(o71dJ-qz0WGXRi9pUI=RvqXVeyaTdF$7bS}=ex$(jc$GwL>t``fVg4pLl1mzt}Vm^!mNXG@(ptx%y9(yT> z`0v6uB;L~b<3+JgA1M3u1=U*!3WZXig}f}+K3;MU`*+$W3pEC%|HS;DUcy~3dwE^De(IDL_GB0uL-8b=`aLwA^lE#>9h%~{AO zEVCZK36X!|x=%#D?Lu0=l!vonxfhr6p*-3iS5KwkB~>ap<8nKaC2+*^YBy+WgyUe; z{gEvTqvPUXz$Yq3M+wK?_Bf4S&eH;ag}Ac<)>i;y|hJXzEndilvC@d^0X!SW|LL`JJIrh4HljI)n%a6V;dV@vk z9In_}m}D^Z{{@|GrrE#1xjhSPj>CEj?Nd#D-9r zHPDM_y@t1CH|fwC-nd4cVQMVOh~{y7#qwCPa1tu4O`~nFs5p@RSf;R@^39v_cEqn;x_YYUDSXwF#!h7P_;EUvs>&Mbsnh)?j;* z4sAxmktA*Al{91I3SDWOrvW)P3f_Y48$<)P@OT7Qw{3wyoo)~#%3Av z5_R7S6Vz@qP2bAPKr^h_%2#Xd<4_GSwKvHyH>u+`*ng#I+&0LWTeJ;tj(awWIvJC# zbbA}Wthup4l<04sOTB{Uz73o!c{?CBKSN?3e7<=|NvMkS>!PcJP(e?yvvc z+ZFu8b)FL<1yQ+k0!$9d^}3Ej(4(6Sq6MdDe}nN;gF60( zFoZje`HgpX+%9r}6>Py!qGCGP?&M=5okWGf$qo2iTB70iH1gc`R0>R zt3tu&?^j5_wi7Z`_iz9jBd`gx0-!Jnwb!ZBF05%PP1(igyLgCtqt+7-m<3Wzs<0b- zx(apM4d(+YbvJZH2a3w$sg8xXLtvfXKeQx|58&B9)7(8gkiz#sZNUiHgJ{%n^4$xQ z+MQPJ3^a1%jqObU$KCtvANsAGgEMTF=f&G?r1GIM^Kn}FD9tI(mQY6e7b?FNhMxu1tSF2r3l>qJcp4!}cnp)v<}Xb|gw z9bc6GyW-J(F=T}OAWWHq)awAR#M;oD10dJIIP@Zx%A~7GZw~NC1RBB*@*w9QXBQT= zEY1-RqV@+NzE9GWgSkR$MLsW{EY_cTpqMz_OMO+QD#o0p#6 zgGFW3t`k2S>&Fdi`ZAEmmlwK^5!=`LYBX|__YSLze3 z^`d&ds2(C$>%!$~ZADQXtMG1HQ5|=!uxO4^d#tTmB@&;8+Zb%~X!aopzU{Q(5N~8Z zZh@GZc1P~JLp+C9-8u|0iUV>7T9-kvYfL&HJS4rb5W+SK72su1zBM+7YB1e6irCOb z>Trxtj2y8LJsAqcor))SK@ohb3+aNxkO(S=z(pEG_0@$%My-nA1*tx{4&EFID37fS(3x8M|%clr?ED{kRo4p9SSd|Tpy zOUf(rc?J7kzW@=FM|V1x&$Z0A8vo1%5Zrea@N6fso~FJDjizLQ`tFRz#q+5m7tf$xwj`urC5BW6E~M_ z;$UK9PDK(7x8pptPJ6(LOF44xOMmo^WQK&uX9ZU|X75g7_MPILc8 zSEdve0gzajS@Nju@hGN<3Saug!N;ug+y`gp>i{f9#-nT< zw23$N_eLULkvwW`#2kx9#Z~AFK=MbbbAi_@mtvAhIjg&slu6jB+n?L*-L z0Sn>u?!qD**%+P+>CysuOh)aa28x`wy-fqIa9_L7>DX51Y33Dv4962GS9zcArIDyC ze?kVHq4?azkH-p&vT-f;1`>IU+96Pt5QlMwQP31U@q%j(B5gn2MsFAbx%nP)b1SYk zN~x#i^*DmxamKC?a1Z28CG`>VyM~o`OWJD)ts^*gO+@Ygp=H-Fk>#}W8o!H3Ufjl$p0o^ArjVa zA}-yV-rmF}d`BU-aI97#cj_(f%zWQY7P@&rNNln9`a%?dV1sG%Z5TunY45YaW_tY8RH6-&l6_!H!E5 zPi83|nFpD)cTZta0qKG!;WO;oF54jZnccX#A=;OMP0 z9k>s-2DEsQe1W7Lsc#z8pxHDhnUEZXB9w0iGO2H4|Ys2$?$SY(tG+?4% zU%cuG=1w*^hDhP4NyZiPZ)!Wjt(O7@f)z|oqgz7~M<|l`ZF5-?Pi=v%8KG2n5Y;oV z0U@ZbE7f*wQ0osCs2fzZXtOB@`wt4R5$1r2PZf1T*XJ0`{1Vt@;s80^`KvQEvMC9wp3;Fm|rTq1LpfH?%wD48- z?MKLBpaa!?!pqb@44Wz$U!A@ngk>W{8I0OnRlg?B8NB^3^7y8MJV$Ba6aFLTlc{n6 zuTk;$WU)xf8g|ypYj~p>7HNKOp>&0|fbEA|4v%$YDB$}LHPb)k<;wI71kBT3vLMNd z7i%mh@V;t{;>$GsDX*I3EkIUUK@vZMtP>zJti=sJ7n3L+ZY{3!x!53zI}v-vz1Y9x z^Nh!6F7y|~&|R!0(**wQGsyofH0v482_DjkXIw&3LC$lWDt@5SFVNt6Ke@pTt=s_4 z?hC{x?$X2;h_sHPPcNXcH&W0`-e2g$mxz%;xBtz{Y6|JJ(E$QhS9F{~N^9T4->pEe-}Au^v(ZpAvc=aQKJcL6y1g)WlgBbqY}D2iZ^DiIa>7-IwtwKA zf+qHqX_SG7HByS`Xba2&y@_kA&#Br+oVEN;-9GZxaLs@F$Sc*@7>{0iy3f_K6GabT z;7Koh!=XZ$WhQ!A2v#Xi_Mf0F z7E{Adh?UNw*`N4kEP1^m9F4r4UtVoyz2@&$4;2SGOg#l*w9QOi&MUQ?5E-pQ{4v*d z_$_*lK(7DtQG_zpBab~J@vadiSryco5*LG_{0GTAJD;V!Bk8q=s<8zcy# zTPPkfe$CDaXIFfO!EnTAJBc=_)!tqu`h7QHS9Bo#O}EtQhLHP#Hfp`dShP_GBT_rl zM(qvNu-Zml%?=5RDhZKq8+8Bzv+r%xReVe(fJ5e6>xZ&%95os+uu+~f!aaY#4Lx8!M6q0DJY9;E%lNuuVe)L46I96%YlD^R79WeP+g5v zmVDb0w8K_i6NeB5w(36ogkgTDx*UzNQk?N5wkPRRk?7q4xDDFJmjDkx9F$x{U2kJR}{RE1~uj z_j^mIvluQ!+pD{W&z>*DVY&e^eSGioA4QpTT!779Cpvwa2uCQNUp+;y?bYSoT>W7q z1Y(QiMT>o6)Y|(~)spI(KG$l4M6Sx9sz`azXM#j?XhKPKd~AO|q`L`oBpzE!uxbw! zBnv8QJZ(bo^p-CI#P`6!g5ktRi~V7W<2NF>w&RI8s3Wx<+lb}SrizEbqpqhgUD||6 z!{-Ru1gGwWv`!Asw9#YjPW#HhXQ+>ZdNOOBYjIFVF~

e=9@^Ab1VY6-V`I?i^3& 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 diff --git a/docs/bugs b/docs/bugs index c7739086..e3ead457 100644 --- a/docs/bugs +++ b/docs/bugs @@ -1,5 +1,13 @@ List of known bugs: +[ ] macros cannot use 'use'. + + Vec2 :: struct { x, y : f32; } + + foo :: macro (use v: Vec2) { + println(x); // Doesn't work + } + [X] macros are not allowed at the expression level. This is not necessarily a bug, but does bring many complications to the table about how resolve this. Current solution is to turn expression macros (macros that specify a return value) into a `do` expression. diff --git a/src/onyxchecker.c b/src/onyxchecker.c index ce564b16..d581a2dc 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -579,7 +579,7 @@ CheckStatus check_call(AstCall** pcall) { filename->kind = Ast_Kind_StrLit; filename->token = str_token; filename->addr = 0; - + add_entities_for_node(NULL, (AstNode *) filename, NULL, NULL); callsite->filename = filename; @@ -616,7 +616,7 @@ CheckStatus check_call(AstCall** pcall) { call->va_kind = VA_Kind_Not_VA; call->type = callee->type->Function.return_type; - if (call->type == &type_auto_return) { + if (call->type == &type_auto_return && call->callee->kind != Ast_Kind_Macro) { YIELD(call->token->pos, "Waiting for auto-return type to be solved."); } @@ -1959,7 +1959,7 @@ CheckStatus check_overloaded_function(AstOverloadedFunction* func) { if (node->kind == Ast_Kind_Function) { AstFunction* func = (AstFunction *) node; - + if (func->entity_header && func->entity_header->state <= Entity_State_Check_Types) { done = 0; } diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 0bc9b32a..01d86ee5 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -1058,23 +1058,16 @@ static SymresStatus symres_memres(AstMemRes** memres) { static SymresStatus symres_struct_defaults(AstType* t) { if (t->kind != Ast_Kind_Struct_Type) return Symres_Error; - + AstStructType* st = (AstStructType *) t; if (st->scope) scope_enter(st->scope); - + bh_arr_each(AstStructMember *, smem, st->members) { if ((*smem)->initial_value != NULL) { SYMRES(expression, &(*smem)->initial_value); - - // CLEANUP: I hate that this is here. The type inference for a struct member should happen once the actual type is known. - // There seems to be a problem with setting it in the checker however, because whenever I disable this code, somehow - // the compiler gets to the code generation without all the types figured out??? - // if ((*smem)->type_node == NULL && (*smem)->initial_value->type_node != NULL) { - // (*smem)->type_node = (*smem)->initial_value->type_node; - // } } } - + if (st->scope) scope_leave(); return Symres_Success; } diff --git a/src/onyxutils.c b/src/onyxutils.c index 3e44f60c..5c35c5fd 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -1273,7 +1273,7 @@ AstFunction* macro_resolve_header(AstMacro* macro, Arguments* args, OnyxToken* c char* err_msg=NULL; bh_arr(AstPolySolution) slns = find_polymorphic_slns(pp, PPLM_By_Arguments, args, &err_msg); - + if (slns == NULL) { if (flag_to_yield) { flag_to_yield = 0; @@ -1281,7 +1281,7 @@ AstFunction* macro_resolve_header(AstMacro* macro, Arguments* args, OnyxToken* c } if (callsite) onyx_report_error(callsite->pos, err_msg); - + return NULL; } diff --git a/tests/bugs/macro_auto_return_not_resolved b/tests/bugs/macro_auto_return_not_resolved new file mode 100644 index 00000000..27ba77dd --- /dev/null +++ b/tests/bugs/macro_auto_return_not_resolved @@ -0,0 +1 @@ +true diff --git a/tests/bugs/macro_auto_return_not_resolved.onyx b/tests/bugs/macro_auto_return_not_resolved.onyx new file mode 100644 index 00000000..573d9f91 --- /dev/null +++ b/tests/bugs/macro_auto_return_not_resolved.onyx @@ -0,0 +1,21 @@ +#load "core/std" + +use package core + +Point :: struct { x, y: i32; } + +#add_match hash.to_u32, macro (p: Point) -> #auto do return p.x * 1000 + p.y; + +#operator == macro (p1: Point, p2: Point) -> #auto { + return p1.x == p2.x && p1.y == p2.y; +} + +main :: (args) => { + S := set.make(Point); + + S << Point.{ 1, 2 }; + S << Point.{ 2, 3 }; + S << Point.{ 1, 2 }; + + set.has(^S, Point.{ 1, 2 }) |> println(); +} \ No newline at end of file -- 2.25.1