7ee8e2d51b
[Synopsis] If any of kernel arguments is a MACRO its location calculation is wrong (location of its definition is actually calculated). Thus garbage code is being produced on the place of such a MACRO starting from the end of its actual definition. [Solution] Add isMacroBodyExpansion and isMacroArgExpansion checks on kernel arguments.