pawn-lang / YSI-Includes

Just the YSI include files, none of the extra stuff.
211 stars 106 forks source link

y_inline conflicts with macros that end with -> #686

Open Zorono opened 2 months ago

Zorono commented 2 months ago

It seems like y_inline conflicts with macros like that end with ->

#include <YSI\YSI_Coding\y_inline\y_inline_entry>
#define Function->%0(%1) stock %0(%1)

Function->ShowPlayerMenu(playerid, menuid)
{
    // some random code...
    return 1;
}

i know that most of you guys hate this kind of macros (while Y_Less is using a lot of complex macros on YSI and no one complained 😞 )

this code results in a lot of meaningless errors like

helpers/menu.inc(49) : error 010: invalid function or declaration
helpers/menu.inc(51) : error 010: invalid function or declaration
helpers/menu.inc(54) : error 010: invalid function or declaration
helpers/menu.inc(55) : error 010: invalid function or declaration
helpers/menu.inc(56) : error 010: invalid function or declaration
helpers/menu.inc(59) : error 001: expected token: ";", but found "-identifier-"
helpers/menu.inc(60) : error 010: invalid function or declaration
helpers/menu.inc(61) : error 010: invalid function or declaration
helpers/menu.inc(63) : error 010: invalid function or declaration
helpers/menu.inc(65) : error 010: invalid function or declaration
helpers/menu.inc(67) : error 010: invalid function or declaration
helpers/menu.inc(76) : error 054: unmatched closing brace ("}")
helpers/menu.inc(77) : error 017: undefined symbol "info"
helpers/menu.inc(90) : error 025: function heading differs from prototype
helpers/menu.inc(91) : error 054: unmatched closing brace ("}")
helpers/menu.inc(92) : error 010: invalid function or declaration
helpers/menu.inc(94) : error 010: invalid function or declaration
helpers/menu.inc(97) : error 010: invalid function or declaration
helpers/menu.inc(99) : error 010: invalid function or declaration
helpers/menu.inc(100) : error 010: invalid function or declaration
helpers/menu.inc(103) : error 010: invalid function or declaration
helpers/menu.inc(106) : error 010: invalid function or declaration
helpers/menu.inc(108) : error 010: invalid function or declaration
helpers/menu.inc(109) : error 021: symbol already defined: "args"
helpers/menu.inc(112) : error 010: invalid function or declaration

while commenting y_inline makes the compiler happy and compiles and I am sure that my functions are working without y_inline and compile fine