As discussed in https://github.com/llvm/llvm-project/issues/20777, this adds __builtin_instance_member(membername), which acts like this->membername, but in C.
This is obviously very much WIP and the patch contains several placeholders, but I wonder if this is the right approach to take here and if I should continue on this path, so I'm opening this for review.
As you can see from the test case, this works for the (one) use case it was created for.