Hmm, I thought you were talking about C bitfields (although they are not macros):
struct S {
int one:1;
int two:2, three: 3;
}
as @QuinceyMorris pointed out above they were never standardised and compilers do them differently.
See this message, it shows how we can achieve something similar with Swift macros.