Token pasted by the preprocessor (through ##) have a Spelling pointing to scratch buffer. As a result they are not recognized at system macro, even though the pasting happened in a system macro. Fix that by looking into the parent macro if the original lookup is not enough.
This effectively fixes https://bugs.llvm.org/show_bug.cgi?id=35268, but I'm not quite sure about the kind of test case I should add with this patch?