The syntax rules for ptr-operator allow attributes after *, &,
&&, therefore we should be able to parse the following:
void fn() { void (*[[attr]] x)() = &fn; void (&[[attr]] y)() = fn; void (&&[[attr]] z)() = fn; }
However the current logic in TryParsePtrOperatorSeq does not consider
the presence of attributes leading to unexpected parsing errors.
Moreover we should also consider _Atomic a possible qualifier that can
appear after the sequence of attribute specifiers.
Stray "of' here. (And an 's' after "attribute-specifier" would improve readability.)