In ParseDeclarationSpecifiers for the code
class A typename A;
we were able to annotate token kw_typename because it refers to
existing type. But later during processing token annot_typename we
failed to SetTypeSpecType and exited switch statement leaving
annotation token unconsumed. The code after the switch statement failed
because it didn't expect a special token.
The fix is not to assume that switch statement consumes all special
tokens and consume any token, not just non-special.
rdar://problem/37099386
Here we potentially can leave annotation token unconsumed. But I wasn't able to create a test case that would trigger a problem at this point.