Note, the %n[_SDT_S##no] in there need to stay (dunno about the
_SDT_ASM_SUBSTR(_SDT_ARGTMPL(_SDT_A##no)) stuff), but that could be achieved
by giving the macro from, to, arg, args:vararg arguments and use it like:
_SDT_ASM_TEMPLATE 1, 4, %n[_SDT_S1], %n[_SDT_S2], %n[_SDT_S3], %n[_SDT_S4]
Note, the %n[_SDT_S##no] in there need to stay (dunno about the SUBSTR( _SDT_ARGTMPL( _SDT_A# #no)) stuff), but that could be achieved
_SDT_ASM_
by giving the macro from, to, arg, args:vararg arguments and use it like:
_SDT_ASM_TEMPLATE 1, 4, %n[_SDT_S1], %n[_SDT_S2], %n[_SDT_S3], %n[_SDT_S4]