Giving a spelling to the Override attribute, and commenting on the absence of a spelling for a few implicitly-only attributes. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199410 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve formatting of ObjC Blocks with return type.

Before:
  int a = [operation block:^int(int * i) { return 1; }];

After:
  int a = [operation block:^int(int *i) { return 1; }];

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199411 91177308-0d34-0410-b5e6-96231b3b80d8
When generating Spelling enumeration values, do not generate identifiers in the reserved namespace. Strip underscores as appropriate, taking care to not create duplicate identifiers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199414 91177308-0d34-0410-b5e6-96231b3b80d8