I saw something similar… it might be the same problem in the task that was filed.
Does your code compile correctly when the macro is expanding through the compiler? Is the bug happening just when expanding or inlining the macro through Xcode before compiling?
For the most part macros are designed to be strictly additive… you can add new code… but not edit or remove code. There are a few exceptions to this rule… but for your specific use-case it sounds like you should declare an extension on SubClass with the protocols you want to adopt.