https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103395
--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> --- 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]