1c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot|*                                                                            *|
3c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot|* Attribute classes' member function definitions                             *|
4c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot|*                                                                            *|
5c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot|* Automatically generated file, do not edit!                                 *|
6c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot|*                                                                            *|
7c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot\*===----------------------------------------------------------------------===*/
8c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
9c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAMDGPUFlatWorkGroupSizeAttr *AMDGPUFlatWorkGroupSizeAttr::clone(ASTContext &C) const {
10c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AMDGPUFlatWorkGroupSizeAttr(getLocation(), C, min, max, getSpellingListIndex());
11c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
12c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
13c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
14c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
15c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
16c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
17c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AMDGPUFlatWorkGroupSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
18c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
19c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
20c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
21c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
22c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
23c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((amdgpu_flat_work_group_size(" << getMin() << ", " << getMax() << ")))";
24c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
25c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
26c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
27c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
28c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
29c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AMDGPUFlatWorkGroupSizeAttr::getSpelling() const {
30c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
31c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
32c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
33c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
34c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
35c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "amdgpu_flat_work_group_size";
36c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
37c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
38c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
39c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAMDGPUNumSGPRAttr *AMDGPUNumSGPRAttr::clone(ASTContext &C) const {
40c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AMDGPUNumSGPRAttr(getLocation(), C, numSGPR, getSpellingListIndex());
41c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
42c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
43c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
44c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
45c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
46c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
47c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AMDGPUNumSGPRAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
48c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
49c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
50c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
51c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
52c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
53c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((amdgpu_num_sgpr(" << getNumSGPR() << ")))";
54c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
55c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
56c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
57c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
58c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
59c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AMDGPUNumSGPRAttr::getSpelling() const {
60c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
61c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
62c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
63c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
64c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
65c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "amdgpu_num_sgpr";
66c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
67c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
68c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
69c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAMDGPUNumVGPRAttr *AMDGPUNumVGPRAttr::clone(ASTContext &C) const {
70c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AMDGPUNumVGPRAttr(getLocation(), C, numVGPR, getSpellingListIndex());
71c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
72c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
73c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
74c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
75c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
76c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
77c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AMDGPUNumVGPRAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
78c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
79c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
80c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
81c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
82c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
83c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((amdgpu_num_vgpr(" << getNumVGPR() << ")))";
84c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
85c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
86c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
87c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
88c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
89c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AMDGPUNumVGPRAttr::getSpelling() const {
90c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
91c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
92c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
93c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
94c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
95c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "amdgpu_num_vgpr";
96c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
97c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
98c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
99c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAMDGPUWavesPerEUAttr *AMDGPUWavesPerEUAttr::clone(ASTContext &C) const {
100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AMDGPUWavesPerEUAttr(getLocation(), C, min, max, getSpellingListIndex());
101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AMDGPUWavesPerEUAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((amdgpu_waves_per_eu(" << getMin() << ", " << getMax() << ")))";
114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AMDGPUWavesPerEUAttr::getSpelling() const {
120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "amdgpu_waves_per_eu";
126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotARMInterruptAttr *ARMInterruptAttr::clone(ASTContext &C) const {
130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ARMInterruptAttr(getLocation(), C, interrupt, getSpellingListIndex());
131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ARMInterruptAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((interrupt(\"" << ARMInterruptAttr::ConvertInterruptTypeToStr(getInterrupt()) << "\")))";
144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::interrupt(\"" << ARMInterruptAttr::ConvertInterruptTypeToStr(getInterrupt()) << "\")]]";
148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ARMInterruptAttr::getSpelling() const {
154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAVRInterruptAttr *AVRInterruptAttr::clone(ASTContext &C) const {
166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AVRInterruptAttr(getLocation(), C, getSpellingListIndex());
167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AVRInterruptAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((interrupt))";
180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::interrupt]]";
184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AVRInterruptAttr::getSpelling() const {
190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAVRSignalAttr *AVRSignalAttr::clone(ASTContext &C) const {
202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AVRSignalAttr(getLocation(), C, getSpellingListIndex());
203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AVRSignalAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((signal))";
216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::signal]]";
220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AVRSignalAttr::getSpelling() const {
226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "signal";
232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "signal";
234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAbiTagAttr *AbiTagAttr::clone(ASTContext &C) const {
238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AbiTagAttr(getLocation(), C, tags_, tags_Size, getSpellingListIndex());
239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AbiTagAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((abi_tag(";
252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : tags()) {
254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << Val << "\"";
257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::abi_tag(";
263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : tags()) {
265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << Val << "\"";
268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AbiTagAttr::getSpelling() const {
276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "abi_tag";
282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "abi_tag";
284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAcquireCapabilityAttr *AcquireCapabilityAttr::clone(ASTContext &C) const {
288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AcquireCapabilityAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AcquireCapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((acquire_capability(";
302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::acquire_capability(";
313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((acquire_shared_capability(";
324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::acquire_shared_capability(";
335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((exclusive_lock_function(";
346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5 : {
356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((shared_lock_function(";
357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AcquireCapabilityAttr::getSpelling() const {
370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquire_capability";
376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquire_capability";
378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquire_shared_capability";
380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquire_shared_capability";
382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "exclusive_lock_function";
384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5:
385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared_lock_function";
386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAcquiredAfterAttr *AcquiredAfterAttr::clone(ASTContext &C) const {
390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AcquiredAfterAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AcquiredAfterAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((acquired_after(";
404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AcquiredAfterAttr::getSpelling() const {
417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquired_after";
423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAcquiredBeforeAttr *AcquiredBeforeAttr::clone(ASTContext &C) const {
427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AcquiredBeforeAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AcquiredBeforeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((acquired_before(";
441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AcquiredBeforeAttr::getSpelling() const {
454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "acquired_before";
460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAliasAttr *AliasAttr::clone(ASTContext &C) const {
464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AliasAttr(getLocation(), C, getAliasee(), getSpellingListIndex());
465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AliasAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((alias(\"" << getAliasee() << "\")))";
478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::alias(\"" << getAliasee() << "\")]]";
482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AliasAttr::getSpelling() const {
488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alias";
494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alias";
496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAlignMac68kAttr *AlignMac68kAttr::clone(ASTContext &C) const {
500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AlignMac68kAttr(getLocation(), C, getSpellingListIndex());
501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AlignMac68kAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AlignMac68kAttr::getSpelling() const {
511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAlignValueAttr *AlignValueAttr::clone(ASTContext &C) const {
515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AlignValueAttr(getLocation(), C, alignment, getSpellingListIndex());
516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AlignValueAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((align_value(" << getAlignment() << ")))";
529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AlignValueAttr::getSpelling() const {
535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "align_value";
541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotbool AlignedAttr::isAlignmentDependent() const {
545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (isalignmentExpr)
546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return alignmentExpr && (alignmentExpr->isValueDependent() || alignmentExpr->isTypeDependent());
547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  else
548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return alignmentType->getType()->isDependentType();
549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotunsigned AlignedAttr::getAlignment(ASTContext &Ctx) const {
551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  assert(!isAlignmentDependent());
552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (isalignmentExpr)
553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return alignmentExpr ? alignmentExpr->EvaluateKnownConstInt(Ctx).getZExtValue() * Ctx.getCharWidth() : Ctx.getTargetDefaultAlignForAttributeAligned();
554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  else
555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return 0; // FIXME
556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAlignedAttr *AlignedAttr::clone(ASTContext &C) const {
558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AlignedAttr(getLocation(), C, isalignmentExpr, isalignmentExpr ? static_cast<void*>(alignmentExpr) : alignmentType, getSpellingListIndex());
559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AlignedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((aligned(";
572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isalignmentExpr && alignmentExpr)
573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot      alignmentExpr->printPretty(OS, nullptr, Policy);
574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::aligned(";
579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isalignmentExpr && alignmentExpr)
580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot      alignmentExpr->printPretty(OS, nullptr, Policy);
581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")]]";
582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(align(";
586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isalignmentExpr && alignmentExpr)
587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot      alignmentExpr->printPretty(OS, nullptr, Policy);
588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "))";
589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " alignas(";
593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isalignmentExpr && alignmentExpr)
594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot      alignmentExpr->printPretty(OS, nullptr, Policy);
595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")";
596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _Alignas(";
600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isalignmentExpr && alignmentExpr)
601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot      alignmentExpr->printPretty(OS, nullptr, Policy);
602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")";
603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AlignedAttr::getSpelling() const {
609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "aligned";
615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "aligned";
617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "align";
619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alignas";
621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_Alignas";
623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAllocAlignAttr *AllocAlignAttr::clone(ASTContext &C) const {
627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AllocAlignAttr(getLocation(), C, paramIndex, getSpellingListIndex());
628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AllocAlignAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((alloc_align(" << getParamIndex() << ")))";
641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::alloc_align(" << getParamIndex() << ")]]";
645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AllocAlignAttr::getSpelling() const {
651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alloc_align";
657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alloc_align";
659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAllocSizeAttr *AllocSizeAttr::clone(ASTContext &C) const {
663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AllocSizeAttr(getLocation(), C, elemSizeParam, numElemsParam, getSpellingListIndex());
664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AllocSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((alloc_size(" << getElemSizeParam() << ", " << getNumElemsParam() << ")))";
677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::alloc_size(" << getElemSizeParam() << ", " << getNumElemsParam() << ")]]";
681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AllocSizeAttr::getSpelling() const {
687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alloc_size";
693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "alloc_size";
695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAlwaysInlineAttr *AlwaysInlineAttr::clone(ASTContext &C) const {
699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AlwaysInlineAttr(getLocation(), C, getSpellingListIndex());
700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AlwaysInlineAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((always_inline))";
713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::always_inline]]";
717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __forceinline";
721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AlwaysInlineAttr::getSpelling() const {
727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "always_inline";
733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "always_inline";
735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__forceinline";
737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAnalyzerNoReturnAttr *AnalyzerNoReturnAttr::clone(ASTContext &C) const {
741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AnalyzerNoReturnAttr(getLocation(), C, getSpellingListIndex());
742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AnalyzerNoReturnAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((analyzer_noreturn))";
755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AnalyzerNoReturnAttr::getSpelling() const {
761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "analyzer_noreturn";
767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAnnotateAttr *AnnotateAttr::clone(ASTContext &C) const {
771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AnnotateAttr(getLocation(), C, getAnnotation(), getSpellingListIndex());
772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AnnotateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((annotate(\"" << getAnnotation() << "\")))";
785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AnnotateAttr::getSpelling() const {
791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "annotate";
797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAnyX86InterruptAttr *AnyX86InterruptAttr::clone(ASTContext &C) const {
801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AnyX86InterruptAttr(getLocation(), C, getSpellingListIndex());
802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AnyX86InterruptAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((interrupt))";
815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::interrupt]]";
819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AnyX86InterruptAttr::getSpelling() const {
825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAnyX86NoCallerSavedRegistersAttr *AnyX86NoCallerSavedRegistersAttr::clone(ASTContext &C) const {
837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AnyX86NoCallerSavedRegistersAttr(getLocation(), C, getSpellingListIndex());
838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AnyX86NoCallerSavedRegistersAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((no_caller_saved_registers))";
851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::no_caller_saved_registers]]";
855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AnyX86NoCallerSavedRegistersAttr::getSpelling() const {
861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_caller_saved_registers";
867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_caller_saved_registers";
869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotArcWeakrefUnavailableAttr *ArcWeakrefUnavailableAttr::clone(ASTContext &C) const {
873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ArcWeakrefUnavailableAttr(getLocation(), C, getSpellingListIndex());
874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ArcWeakrefUnavailableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_arc_weak_reference_unavailable))";
887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ArcWeakrefUnavailableAttr::getSpelling() const {
893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_arc_weak_reference_unavailable";
899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotArgumentWithTypeTagAttr *ArgumentWithTypeTagAttr::clone(ASTContext &C) const {
903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ArgumentWithTypeTagAttr(getLocation(), C, argumentKind, argumentIdx, typeTagIdx, isPointer, getSpellingListIndex());
904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ArgumentWithTypeTagAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((argument_with_type_tag(";
917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getArgumentKind()->getName();
918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", " << getArgumentIdx() << ", " << getTypeTagIdx() << ", " << getIsPointer() << ")))";
919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pointer_with_type_tag(";
923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getArgumentKind()->getName();
924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", " << getArgumentIdx() << ", " << getTypeTagIdx() << ", " << getIsPointer() << ")))";
925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ArgumentWithTypeTagAttr::getSpelling() const {
931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "argument_with_type_tag";
937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pointer_with_type_tag";
939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAsmLabelAttr *AsmLabelAttr::clone(ASTContext &C) const {
943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AsmLabelAttr(getLocation(), C, getLabel(), getSpellingListIndex());
944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AsmLabelAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " asm(\"" << getLabel() << "\")";
957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __asm__(\"" << getLabel() << "\")";
961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AsmLabelAttr::getSpelling() const {
967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "asm";
973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__asm__";
975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAssertCapabilityAttr *AssertCapabilityAttr::clone(ASTContext &C) const {
979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AssertCapabilityAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AssertCapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((assert_capability(";
993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::assert_capability(";
1004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
1006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
1009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
1011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
1014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((assert_shared_capability(";
1015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
1017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
1020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
1025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::assert_shared_capability(";
1026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
1028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
1031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
1033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AssertCapabilityAttr::getSpelling() const {
1039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_capability";
1045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_capability";
1047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
1048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_shared_capability";
1049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
1050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_shared_capability";
1051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAssertExclusiveLockAttr *AssertExclusiveLockAttr::clone(ASTContext &C) const {
1055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AssertExclusiveLockAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
1056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AssertExclusiveLockAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((assert_exclusive_lock(";
1069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
1071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
1074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AssertExclusiveLockAttr::getSpelling() const {
1082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_exclusive_lock";
1088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAssertSharedLockAttr *AssertSharedLockAttr::clone(ASTContext &C) const {
1092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AssertSharedLockAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
1093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AssertSharedLockAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((assert_shared_lock(";
1106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
1108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
1111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AssertSharedLockAttr::getSpelling() const {
1119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assert_shared_lock";
1125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAssumeAlignedAttr *AssumeAlignedAttr::clone(ASTContext &C) const {
1129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AssumeAlignedAttr(getLocation(), C, alignment, offset, getSpellingListIndex());
1130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AssumeAlignedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((assume_aligned(" << getAlignment() << ", " << getOffset() << ")))";
1143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::assume_aligned(" << getAlignment() << ", " << getOffset() << ")]]";
1147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AssumeAlignedAttr::getSpelling() const {
1153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assume_aligned";
1159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "assume_aligned";
1161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAvailabilityAttr *AvailabilityAttr::clone(ASTContext &C) const {
1165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) AvailabilityAttr(getLocation(), C, platform, getIntroduced(), getDeprecated(), getObsoleted(), unavailable, getMessage(), strict, getReplacement(), getSpellingListIndex());
1166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid AvailabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((availability(" << getPlatform()->getName();
1179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (getStrict()) OS << ", strict";
1180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (!getIntroduced().empty()) OS << ", introduced=" << getIntroduced();
1181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (!getDeprecated().empty()) OS << ", deprecated=" << getDeprecated();
1182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (!getObsoleted().empty()) OS << ", obsoleted=" << getObsoleted();
1183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  if (getUnavailable()) OS << ", unavailable";
1184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *AvailabilityAttr::getSpelling() const {
1191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "availability";
1197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotBlocksAttr *BlocksAttr::clone(ASTContext &C) const {
1201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) BlocksAttr(getLocation(), C, type, getSpellingListIndex());
1202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid BlocksAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((blocks(\"" << BlocksAttr::ConvertBlockTypeToStr(getType()) << "\")))";
1215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *BlocksAttr::getSpelling() const {
1221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "blocks";
1227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotC11NoReturnAttr *C11NoReturnAttr::clone(ASTContext &C) const {
1231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) C11NoReturnAttr(getLocation(), C, getSpellingListIndex());
1232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid C11NoReturnAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _Noreturn";
1245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *C11NoReturnAttr::getSpelling() const {
1251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_Noreturn";
1257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCDeclAttr *CDeclAttr::clone(ASTContext &C) const {
1261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CDeclAttr(getLocation(), C, getSpellingListIndex());
1262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CDeclAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cdecl))";
1275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::cdecl]]";
1279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
1282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __cdecl";
1283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
1286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _cdecl";
1287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CDeclAttr::getSpelling() const {
1293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cdecl";
1299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cdecl";
1301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
1302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__cdecl";
1303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
1304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_cdecl";
1305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCFAuditedTransferAttr *CFAuditedTransferAttr::clone(ASTContext &C) const {
1309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CFAuditedTransferAttr(getLocation(), C, getSpellingListIndex());
1310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CFAuditedTransferAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cf_audited_transfer))";
1323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CFAuditedTransferAttr::getSpelling() const {
1329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cf_audited_transfer";
1335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCFConsumedAttr *CFConsumedAttr::clone(ASTContext &C) const {
1339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CFConsumedAttr(getLocation(), C, getSpellingListIndex());
1340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CFConsumedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cf_consumed))";
1353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CFConsumedAttr::getSpelling() const {
1359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cf_consumed";
1365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCFReturnsNotRetainedAttr *CFReturnsNotRetainedAttr::clone(ASTContext &C) const {
1369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CFReturnsNotRetainedAttr(getLocation(), C, getSpellingListIndex());
1370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CFReturnsNotRetainedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cf_returns_not_retained))";
1383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CFReturnsNotRetainedAttr::getSpelling() const {
1389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cf_returns_not_retained";
1395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCFReturnsRetainedAttr *CFReturnsRetainedAttr::clone(ASTContext &C) const {
1399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CFReturnsRetainedAttr(getLocation(), C, getSpellingListIndex());
1400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CFReturnsRetainedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cf_returns_retained))";
1413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CFReturnsRetainedAttr::getSpelling() const {
1419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cf_returns_retained";
1425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCFUnknownTransferAttr *CFUnknownTransferAttr::clone(ASTContext &C) const {
1429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CFUnknownTransferAttr(getLocation(), C, getSpellingListIndex());
1430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CFUnknownTransferAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cf_unknown_transfer))";
1443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CFUnknownTransferAttr::getSpelling() const {
1449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cf_unknown_transfer";
1455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDAConstantAttr *CUDAConstantAttr::clone(ASTContext &C) const {
1459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDAConstantAttr(getLocation(), C, getSpellingListIndex());
1460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDAConstantAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((constant))";
1473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__constant__)";
1477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDAConstantAttr::getSpelling() const {
1483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "constant";
1489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__constant__";
1491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDADeviceAttr *CUDADeviceAttr::clone(ASTContext &C) const {
1495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDADeviceAttr(getLocation(), C, getSpellingListIndex());
1496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDADeviceAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((device))";
1509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__device__)";
1513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDADeviceAttr::getSpelling() const {
1519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "device";
1525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__device__";
1527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDAGlobalAttr *CUDAGlobalAttr::clone(ASTContext &C) const {
1531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDAGlobalAttr(getLocation(), C, getSpellingListIndex());
1532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDAGlobalAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((global))";
1545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__global__)";
1549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDAGlobalAttr::getSpelling() const {
1555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "global";
1561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__global__";
1563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDAHostAttr *CUDAHostAttr::clone(ASTContext &C) const {
1567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDAHostAttr(getLocation(), C, getSpellingListIndex());
1568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDAHostAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((host))";
1581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__host__)";
1585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDAHostAttr::getSpelling() const {
1591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "host";
1597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__host__";
1599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDAInvalidTargetAttr *CUDAInvalidTargetAttr::clone(ASTContext &C) const {
1603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDAInvalidTargetAttr(getLocation(), C, getSpellingListIndex());
1604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDAInvalidTargetAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDAInvalidTargetAttr::getSpelling() const {
1614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
1615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDALaunchBoundsAttr *CUDALaunchBoundsAttr::clone(ASTContext &C) const {
1618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDALaunchBoundsAttr(getLocation(), C, maxThreads, minBlocks, getSpellingListIndex());
1619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDALaunchBoundsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((launch_bounds(" << getMaxThreads() << ", " << getMinBlocks() << ")))";
1632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__launch_bounds__(" << getMaxThreads() << ", " << getMinBlocks() << "))";
1636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDALaunchBoundsAttr::getSpelling() const {
1642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "launch_bounds";
1648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__launch_bounds__";
1650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCUDASharedAttr *CUDASharedAttr::clone(ASTContext &C) const {
1654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CUDASharedAttr(getLocation(), C, getSpellingListIndex());
1655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CUDASharedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((shared))";
1668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(__shared__)";
1672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CUDASharedAttr::getSpelling() const {
1678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared";
1684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__shared__";
1686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCXX11NoReturnAttr *CXX11NoReturnAttr::clone(ASTContext &C) const {
1690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CXX11NoReturnAttr(getLocation(), C, getSpellingListIndex());
1691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CXX11NoReturnAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[noreturn]]";
1704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CXX11NoReturnAttr::getSpelling() const {
1710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noreturn";
1716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCallableWhenAttr *CallableWhenAttr::clone(ASTContext &C) const {
1720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CallableWhenAttr(getLocation(), C, callableStates_, callableStates_Size, getSpellingListIndex());
1721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CallableWhenAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((callable_when(";
1734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
1735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : callableStates()) {
1736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
1737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
1738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << CallableWhenAttr::ConvertConsumedStateToStr(Val)<< "\"";
1739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
1741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CallableWhenAttr::getSpelling() const {
1747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "callable_when";
1753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCapabilityAttr *CapabilityAttr::clone(ASTContext &C) const {
1757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CapabilityAttr(getLocation(), C, getName(), getSpellingListIndex());
1758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((capability(\"" << getName() << "\")))";
1771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::capability(\"" << getName() << "\")]]";
1775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
1778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((shared_capability(\"" << getName() << "\")))";
1779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
1782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::shared_capability(\"" << getName() << "\")]]";
1783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CapabilityAttr::getSpelling() const {
1789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "capability";
1795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "capability";
1797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
1798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared_capability";
1799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
1800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared_capability";
1801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCapturedRecordAttr *CapturedRecordAttr::clone(ASTContext &C) const {
1805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CapturedRecordAttr(getLocation(), C, getSpellingListIndex());
1806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CapturedRecordAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CapturedRecordAttr::getSpelling() const {
1816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
1817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCarriesDependencyAttr *CarriesDependencyAttr::clone(ASTContext &C) const {
1820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CarriesDependencyAttr(getLocation(), C, getSpellingListIndex());
1821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CarriesDependencyAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((carries_dependency))";
1834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[carries_dependency]]";
1838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CarriesDependencyAttr::getSpelling() const {
1844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "carries_dependency";
1850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "carries_dependency";
1852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCleanupAttr *CleanupAttr::clone(ASTContext &C) const {
1856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CleanupAttr(getLocation(), C, functionDecl, getSpellingListIndex());
1857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CleanupAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cleanup(" << getFunctionDecl()->getNameInfo().getAsString() << ")))";
1870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::cleanup(" << getFunctionDecl()->getNameInfo().getAsString() << ")]]";
1874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CleanupAttr::getSpelling() const {
1880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cleanup";
1886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cleanup";
1888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotColdAttr *ColdAttr::clone(ASTContext &C) const {
1892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ColdAttr(getLocation(), C, getSpellingListIndex());
1893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ColdAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((cold))";
1906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::cold]]";
1910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ColdAttr::getSpelling() const {
1916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cold";
1922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "cold";
1924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotCommonAttr *CommonAttr::clone(ASTContext &C) const {
1928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) CommonAttr(getLocation(), C, getSpellingListIndex());
1929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid CommonAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((common))";
1942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::common]]";
1946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *CommonAttr::getSpelling() const {
1952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
1956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
1957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "common";
1958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
1959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "common";
1960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConstAttr *ConstAttr::clone(ASTContext &C) const {
1964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConstAttr(getLocation(), C, getSpellingListIndex());
1965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
1966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
1967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
1968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
1969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConstAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
1972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
1977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((const))";
1978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
1981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::const]]";
1982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
1985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((__const))";
1986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
1989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::__const]]";
1990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
1991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
1992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
1994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
1995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConstAttr::getSpelling() const {
1996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
1997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
1998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
1999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "const";
2002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "const";
2004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__const";
2006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
2007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__const";
2008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConstructorAttr *ConstructorAttr::clone(ASTContext &C) const {
2012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConstructorAttr(getLocation(), C, priority, getSpellingListIndex());
2013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConstructorAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((constructor(" << getPriority() << ")))";
2026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::constructor(" << getPriority() << ")]]";
2030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConstructorAttr::getSpelling() const {
2036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "constructor";
2042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "constructor";
2044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConsumableAttr *ConsumableAttr::clone(ASTContext &C) const {
2048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConsumableAttr(getLocation(), C, defaultState, getSpellingListIndex());
2049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConsumableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((consumable(\"" << ConsumableAttr::ConvertConsumedStateToStr(getDefaultState()) << "\")))";
2062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConsumableAttr::getSpelling() const {
2068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "consumable";
2074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConsumableAutoCastAttr *ConsumableAutoCastAttr::clone(ASTContext &C) const {
2078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConsumableAutoCastAttr(getLocation(), C, getSpellingListIndex());
2079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConsumableAutoCastAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((consumable_auto_cast_state))";
2092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConsumableAutoCastAttr::getSpelling() const {
2098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "consumable_auto_cast_state";
2104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConsumableSetOnReadAttr *ConsumableSetOnReadAttr::clone(ASTContext &C) const {
2108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConsumableSetOnReadAttr(getLocation(), C, getSpellingListIndex());
2109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConsumableSetOnReadAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((consumable_set_state_on_read))";
2122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConsumableSetOnReadAttr::getSpelling() const {
2128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "consumable_set_state_on_read";
2134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotConvergentAttr *ConvergentAttr::clone(ASTContext &C) const {
2138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ConvergentAttr(getLocation(), C, getSpellingListIndex());
2139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ConvergentAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((convergent))";
2152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::convergent]]";
2156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ConvergentAttr::getSpelling() const {
2162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "convergent";
2168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "convergent";
2170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDLLExportAttr *DLLExportAttr::clone(ASTContext &C) const {
2174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DLLExportAttr(getLocation(), C, getSpellingListIndex());
2175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DLLExportAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(dllexport)";
2188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((dllexport))";
2192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
2195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::dllexport]]";
2196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DLLExportAttr::getSpelling() const {
2202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllexport";
2208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllexport";
2210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllexport";
2212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDLLImportAttr *DLLImportAttr::clone(ASTContext &C) const {
2216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DLLImportAttr(getLocation(), C, getSpellingListIndex());
2217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DLLImportAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(dllimport)";
2230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((dllimport))";
2234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
2237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::dllimport]]";
2238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DLLImportAttr::getSpelling() const {
2244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllimport";
2250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllimport";
2252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "dllimport";
2254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDeprecatedAttr *DeprecatedAttr::clone(ASTContext &C) const {
2258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DeprecatedAttr(getLocation(), C, getMessage(), getReplacement(), getSpellingListIndex());
2259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DeprecatedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((deprecated(\"" << getMessage() << "\"";
2272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (!getReplacement().empty()) OS << ", \"" << getReplacement() << "\"";
2273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
2274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::deprecated(\"" << getMessage() << "\"";
2278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")]]";
2279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
2282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(deprecated(\"" << getMessage() << "\"";
2283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "))";
2284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
2287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[deprecated(\"" << getMessage() << "\"";
2288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")]]";
2289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
2292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[deprecated(\"" << getMessage() << "\"";
2293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")]]";
2294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DeprecatedAttr::getSpelling() const {
2300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "deprecated";
2306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "deprecated";
2308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "deprecated";
2310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
2311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "deprecated";
2312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
2313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "deprecated";
2314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDestructorAttr *DestructorAttr::clone(ASTContext &C) const {
2318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DestructorAttr(getLocation(), C, priority, getSpellingListIndex());
2319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DestructorAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((destructor(" << getPriority() << ")))";
2332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::destructor(" << getPriority() << ")]]";
2336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DestructorAttr::getSpelling() const {
2342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "destructor";
2348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "destructor";
2350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDiagnoseIfAttr *DiagnoseIfAttr::clone(ASTContext &C) const {
2354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DiagnoseIfAttr(getLocation(), C, cond, getMessage(), diagnosticType, argDependent, parent, getSpellingListIndex());
2355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DiagnoseIfAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((diagnose_if(" << getCond() << ", \"" << getMessage() << "\", \"" << DiagnoseIfAttr::ConvertDiagnosticTypeToStr(getDiagnosticType()) << "\")))";
2368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DiagnoseIfAttr::getSpelling() const {
2374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "diagnose_if";
2380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotDisableTailCallsAttr *DisableTailCallsAttr::clone(ASTContext &C) const {
2384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) DisableTailCallsAttr(getLocation(), C, getSpellingListIndex());
2385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid DisableTailCallsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((disable_tail_calls))";
2398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::disable_tail_calls]]";
2402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *DisableTailCallsAttr::getSpelling() const {
2408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "disable_tail_calls";
2414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "disable_tail_calls";
2416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotEmptyBasesAttr *EmptyBasesAttr::clone(ASTContext &C) const {
2420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) EmptyBasesAttr(getLocation(), C, getSpellingListIndex());
2421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid EmptyBasesAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(empty_bases)";
2434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *EmptyBasesAttr::getSpelling() const {
2440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "empty_bases";
2446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotEnableIfAttr *EnableIfAttr::clone(ASTContext &C) const {
2450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) EnableIfAttr(getLocation(), C, cond, getMessage(), getSpellingListIndex());
2451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid EnableIfAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((enable_if(" << getCond() << ", \"" << getMessage() << "\")))";
2464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *EnableIfAttr::getSpelling() const {
2470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "enable_if";
2476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotEnumExtensibilityAttr *EnumExtensibilityAttr::clone(ASTContext &C) const {
2480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) EnumExtensibilityAttr(getLocation(), C, extensibility, getSpellingListIndex());
2481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid EnumExtensibilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((enum_extensibility(\"" << EnumExtensibilityAttr::ConvertKindToStr(getExtensibility()) << "\")))";
2494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::enum_extensibility(\"" << EnumExtensibilityAttr::ConvertKindToStr(getExtensibility()) << "\")]]";
2498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *EnumExtensibilityAttr::getSpelling() const {
2504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "enum_extensibility";
2510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "enum_extensibility";
2512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotExclusiveTrylockFunctionAttr *ExclusiveTrylockFunctionAttr::clone(ASTContext &C) const {
2516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ExclusiveTrylockFunctionAttr(getLocation(), C, successValue, args_, args_Size, getSpellingListIndex());
2517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ExclusiveTrylockFunctionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((exclusive_trylock_function(" << getSuccessValue() << ", ";
2530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
2531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
2532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
2533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
2534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
2535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
2537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ExclusiveTrylockFunctionAttr::getSpelling() const {
2543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "exclusive_trylock_function";
2549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotExternalSourceSymbolAttr *ExternalSourceSymbolAttr::clone(ASTContext &C) const {
2553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ExternalSourceSymbolAttr(getLocation(), C, getLanguage(), getDefinedIn(), generatedDeclaration, getSpellingListIndex());
2554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ExternalSourceSymbolAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((external_source_symbol(\"" << getLanguage() << "\", \"" << getDefinedIn() << "\", " << getGeneratedDeclaration() << ")))";
2567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::external_source_symbol(\"" << getLanguage() << "\", \"" << getDefinedIn() << "\", " << getGeneratedDeclaration() << ")]]";
2571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ExternalSourceSymbolAttr::getSpelling() const {
2577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "external_source_symbol";
2583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "external_source_symbol";
2585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFallThroughAttr *FallThroughAttr::clone(ASTContext &C) const {
2589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FallThroughAttr(getLocation(), C, getSpellingListIndex());
2590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FallThroughAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[fallthrough]]";
2603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[fallthrough]]";
2607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
2610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::fallthrough]]";
2611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FallThroughAttr::getSpelling() const {
2617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "fallthrough";
2623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "fallthrough";
2625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "fallthrough";
2627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFastCallAttr *FastCallAttr::clone(ASTContext &C) const {
2631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FastCallAttr(getLocation(), C, getSpellingListIndex());
2632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FastCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((fastcall))";
2645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::fastcall]]";
2649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
2652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __fastcall";
2653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
2656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _fastcall";
2657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FastCallAttr::getSpelling() const {
2663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "fastcall";
2669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "fastcall";
2671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
2672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__fastcall";
2673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
2674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_fastcall";
2675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFinalAttr *FinalAttr::clone(ASTContext &C) const {
2679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FinalAttr(getLocation(), C, getSpellingListIndex());
2680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FinalAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " final";
2693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " sealed";
2697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FinalAttr::getSpelling() const {
2703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "final";
2709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "sealed";
2711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFlagEnumAttr *FlagEnumAttr::clone(ASTContext &C) const {
2715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FlagEnumAttr(getLocation(), C, getSpellingListIndex());
2716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FlagEnumAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((flag_enum))";
2729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FlagEnumAttr::getSpelling() const {
2735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "flag_enum";
2741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFlattenAttr *FlattenAttr::clone(ASTContext &C) const {
2745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FlattenAttr(getLocation(), C, getSpellingListIndex());
2746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FlattenAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((flatten))";
2759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::flatten]]";
2763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FlattenAttr::getSpelling() const {
2769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "flatten";
2775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "flatten";
2777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFormatAttr *FormatAttr::clone(ASTContext &C) const {
2781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FormatAttr(getLocation(), C, type, formatIdx, firstArg, getSpellingListIndex());
2782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FormatAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((format(";
2795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getType()->getName();
2796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", " << getFormatIdx() << ", " << getFirstArg() << ")))";
2797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::format(";
2801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getType()->getName();
2802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", " << getFormatIdx() << ", " << getFirstArg() << ")]]";
2803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FormatAttr::getSpelling() const {
2809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "format";
2815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "format";
2817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotFormatArgAttr *FormatArgAttr::clone(ASTContext &C) const {
2821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) FormatArgAttr(getLocation(), C, formatIdx, getSpellingListIndex());
2822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid FormatArgAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((format_arg(" << getFormatIdx() << ")))";
2835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::format_arg(" << getFormatIdx() << ")]]";
2839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *FormatArgAttr::getSpelling() const {
2845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "format_arg";
2851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "format_arg";
2853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotGNUInlineAttr *GNUInlineAttr::clone(ASTContext &C) const {
2857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) GNUInlineAttr(getLocation(), C, getSpellingListIndex());
2858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid GNUInlineAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((gnu_inline))";
2871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::gnu_inline]]";
2875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *GNUInlineAttr::getSpelling() const {
2881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "gnu_inline";
2887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "gnu_inline";
2889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotGuardedByAttr *GuardedByAttr::clone(ASTContext &C) const {
2893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) GuardedByAttr(getLocation(), C, arg, getSpellingListIndex());
2894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid GuardedByAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((guarded_by(" << getArg() << ")))";
2907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *GuardedByAttr::getSpelling() const {
2913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "guarded_by";
2919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotGuardedVarAttr *GuardedVarAttr::clone(ASTContext &C) const {
2923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) GuardedVarAttr(getLocation(), C, getSpellingListIndex());
2924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid GuardedVarAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((guarded_var))";
2937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *GuardedVarAttr::getSpelling() const {
2943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "guarded_var";
2949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotHotAttr *HotAttr::clone(ASTContext &C) const {
2953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) HotAttr(getLocation(), C, getSpellingListIndex());
2954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid HotAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
2966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((hot))";
2967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
2970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::hot]]";
2971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
2972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *HotAttr::getSpelling() const {
2977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
2980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
2981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
2982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "hot";
2983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
2984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "hot";
2985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
2986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotIBActionAttr *IBActionAttr::clone(ASTContext &C) const {
2989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) IBActionAttr(getLocation(), C, getSpellingListIndex());
2990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
2991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
2992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
2993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
2994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
2995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
2996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid IBActionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
2997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
2998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
2999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ibaction))";
3003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *IBActionAttr::getSpelling() const {
3009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ibaction";
3015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotIBOutletAttr *IBOutletAttr::clone(ASTContext &C) const {
3019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) IBOutletAttr(getLocation(), C, getSpellingListIndex());
3020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid IBOutletAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((iboutlet))";
3033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *IBOutletAttr::getSpelling() const {
3039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "iboutlet";
3045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotIBOutletCollectionAttr *IBOutletCollectionAttr::clone(ASTContext &C) const {
3049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) IBOutletCollectionAttr(getLocation(), C, interface_, getSpellingListIndex());
3050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid IBOutletCollectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((iboutletcollection(" << getInterface().getAsString() << ")))";
3063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *IBOutletCollectionAttr::getSpelling() const {
3069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "iboutletcollection";
3075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotIFuncAttr *IFuncAttr::clone(ASTContext &C) const {
3079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) IFuncAttr(getLocation(), C, getResolver(), getSpellingListIndex());
3080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid IFuncAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ifunc(\"" << getResolver() << "\")))";
3093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::ifunc(\"" << getResolver() << "\")]]";
3097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *IFuncAttr::getSpelling() const {
3103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ifunc";
3109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ifunc";
3111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotInitPriorityAttr *InitPriorityAttr::clone(ASTContext &C) const {
3115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) InitPriorityAttr(getLocation(), C, priority, getSpellingListIndex());
3116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid InitPriorityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((init_priority(" << getPriority() << ")))";
3129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::init_priority(" << getPriority() << ")]]";
3133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *InitPriorityAttr::getSpelling() const {
3139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "init_priority";
3145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "init_priority";
3147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotInitSegAttr *InitSegAttr::clone(ASTContext &C) const {
3151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) InitSegAttr(getLocation(), C, getSection(), getSpellingListIndex());
3152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid InitSegAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma init_seg ";
3165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
3166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
3167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *InitSegAttr::getSpelling() const {
3172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "init_seg";
3178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotIntelOclBiccAttr *IntelOclBiccAttr::clone(ASTContext &C) const {
3182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) IntelOclBiccAttr(getLocation(), C, getSpellingListIndex());
3183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid IntelOclBiccAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((intel_ocl_bicc))";
3196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *IntelOclBiccAttr::getSpelling() const {
3202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "intel_ocl_bicc";
3208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotInternalLinkageAttr *InternalLinkageAttr::clone(ASTContext &C) const {
3212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) InternalLinkageAttr(getLocation(), C, getSpellingListIndex());
3213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid InternalLinkageAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((internal_linkage))";
3226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::internal_linkage]]";
3230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *InternalLinkageAttr::getSpelling() const {
3236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "internal_linkage";
3242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "internal_linkage";
3244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotLTOVisibilityPublicAttr *LTOVisibilityPublicAttr::clone(ASTContext &C) const {
3248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) LTOVisibilityPublicAttr(getLocation(), C, getSpellingListIndex());
3249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid LTOVisibilityPublicAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::lto_visibility_public]]";
3262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *LTOVisibilityPublicAttr::getSpelling() const {
3268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "lto_visibility_public";
3274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotLayoutVersionAttr *LayoutVersionAttr::clone(ASTContext &C) const {
3278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) LayoutVersionAttr(getLocation(), C, version, getSpellingListIndex());
3279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid LayoutVersionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(layout_version(" << getVersion() << "))";
3292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *LayoutVersionAttr::getSpelling() const {
3298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "layout_version";
3304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotLockReturnedAttr *LockReturnedAttr::clone(ASTContext &C) const {
3308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) LockReturnedAttr(getLocation(), C, arg, getSpellingListIndex());
3309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid LockReturnedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((lock_returned(" << getArg() << ")))";
3322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *LockReturnedAttr::getSpelling() const {
3328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "lock_returned";
3334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotLocksExcludedAttr *LocksExcludedAttr::clone(ASTContext &C) const {
3338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) LocksExcludedAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
3339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid LocksExcludedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((locks_excluded(";
3352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
3353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
3354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
3355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
3356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
3357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
3359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *LocksExcludedAttr::getSpelling() const {
3365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "locks_excluded";
3371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotLoopHintAttr *LoopHintAttr::clone(ASTContext &C) const {
3375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) LoopHintAttr(getLocation(), C, option, state, value, getSpellingListIndex());
3376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid LoopHintAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma clang loop ";
3389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
3390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
3391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma unroll ";
3394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
3395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
3396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
3398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma nounroll ";
3399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
3400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
3401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *LoopHintAttr::getSpelling() const {
3406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "loop";
3412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "unroll";
3414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
3415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nounroll";
3416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSABIAttr *MSABIAttr::clone(ASTContext &C) const {
3420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSABIAttr(getLocation(), C, getSpellingListIndex());
3421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSABIAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ms_abi))";
3434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::ms_abi]]";
3438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSABIAttr::getSpelling() const {
3444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ms_abi";
3450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ms_abi";
3452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSInheritanceAttr *MSInheritanceAttr::clone(ASTContext &C) const {
3456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSInheritanceAttr(getLocation(), C, bestCase, getSpellingListIndex());
3457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSInheritanceAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __single_inheritance(" << getBestCase() << ")";
3470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __multiple_inheritance(" << getBestCase() << ")";
3474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
3477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __virtual_inheritance(" << getBestCase() << ")";
3478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
3481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __unspecified_inheritance(" << getBestCase() << ")";
3482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSInheritanceAttr::getSpelling() const {
3488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__single_inheritance";
3494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__multiple_inheritance";
3496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
3497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__virtual_inheritance";
3498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
3499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__unspecified_inheritance";
3500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSNoVTableAttr *MSNoVTableAttr::clone(ASTContext &C) const {
3504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSNoVTableAttr(getLocation(), C, getSpellingListIndex());
3505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSNoVTableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(novtable)";
3518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSNoVTableAttr::getSpelling() const {
3524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "novtable";
3530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSP430InterruptAttr *MSP430InterruptAttr::clone(ASTContext &C) const {
3534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSP430InterruptAttr(getLocation(), C, number, getSpellingListIndex());
3535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSP430InterruptAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((interrupt(" << getNumber() << ")))";
3548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::interrupt(" << getNumber() << ")]]";
3552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSP430InterruptAttr::getSpelling() const {
3558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
3564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
3566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSStructAttr *MSStructAttr::clone(ASTContext &C) const {
3570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSStructAttr(getLocation(), C, getSpellingListIndex());
3571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSStructAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ms_struct))";
3584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::ms_struct]]";
3588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSStructAttr::getSpelling() const {
3594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ms_struct";
3600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ms_struct";
3602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMSVtorDispAttr *MSVtorDispAttr::clone(ASTContext &C) const {
3606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MSVtorDispAttr(getLocation(), C, vdm, getSpellingListIndex());
3607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MSVtorDispAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MSVtorDispAttr::getSpelling() const {
3617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
3618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMaxFieldAlignmentAttr *MaxFieldAlignmentAttr::clone(ASTContext &C) const {
3621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MaxFieldAlignmentAttr(getLocation(), C, alignment, getSpellingListIndex());
3622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MaxFieldAlignmentAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MaxFieldAlignmentAttr::getSpelling() const {
3632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
3633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMayAliasAttr *MayAliasAttr::clone(ASTContext &C) const {
3636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MayAliasAttr(getLocation(), C, getSpellingListIndex());
3637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MayAliasAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((may_alias))";
3650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::may_alias]]";
3654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MayAliasAttr::getSpelling() const {
3660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "may_alias";
3666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "may_alias";
3668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMicroMipsAttr *MicroMipsAttr::clone(ASTContext &C) const {
3672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MicroMipsAttr(getLocation(), C, getSpellingListIndex());
3673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MicroMipsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((micromips))";
3686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::micromips]]";
3690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MicroMipsAttr::getSpelling() const {
3696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "micromips";
3702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "micromips";
3704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMinSizeAttr *MinSizeAttr::clone(ASTContext &C) const {
3708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MinSizeAttr(getLocation(), C, getSpellingListIndex());
3709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MinSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((minsize))";
3722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MinSizeAttr::getSpelling() const {
3728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "minsize";
3734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMips16Attr *Mips16Attr::clone(ASTContext &C) const {
3738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) Mips16Attr(getLocation(), C, getSpellingListIndex());
3739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid Mips16Attr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((mips16))";
3752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::mips16]]";
3756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *Mips16Attr::getSpelling() const {
3762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "mips16";
3768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "mips16";
3770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMipsInterruptAttr *MipsInterruptAttr::clone(ASTContext &C) const {
3774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MipsInterruptAttr(getLocation(), C, interrupt, getSpellingListIndex());
3775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MipsInterruptAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((interrupt(\"" << MipsInterruptAttr::ConvertInterruptTypeToStr(getInterrupt()) << "\")))";
3788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::interrupt(\"" << MipsInterruptAttr::ConvertInterruptTypeToStr(getInterrupt()) << "\")]]";
3792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MipsInterruptAttr::getSpelling() const {
3798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
3804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "interrupt";
3806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMipsLongCallAttr *MipsLongCallAttr::clone(ASTContext &C) const {
3810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MipsLongCallAttr(getLocation(), C, getSpellingListIndex());
3811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MipsLongCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((long_call))";
3824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::long_call]]";
3828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
3831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((far))";
3832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
3835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::far]]";
3836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MipsLongCallAttr::getSpelling() const {
3842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "long_call";
3848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "long_call";
3850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
3851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "far";
3852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
3853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "far";
3854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotMipsShortCallAttr *MipsShortCallAttr::clone(ASTContext &C) const {
3858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) MipsShortCallAttr(getLocation(), C, getSpellingListIndex());
3859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid MipsShortCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((short_call))";
3872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::short_call]]";
3876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
3879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((near))";
3880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
3883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::near]]";
3884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *MipsShortCallAttr::getSpelling() const {
3890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "short_call";
3896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "short_call";
3898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
3899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "near";
3900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
3901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "near";
3902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotModeAttr *ModeAttr::clone(ASTContext &C) const {
3906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ModeAttr(getLocation(), C, mode, getSpellingListIndex());
3907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ModeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((mode(";
3920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getMode()->getName();
3921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
3922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
3925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::mode(";
3926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getMode()->getName();
3927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")]]";
3928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ModeAttr::getSpelling() const {
3934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "mode";
3940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
3941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "mode";
3942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNSConsumedAttr *NSConsumedAttr::clone(ASTContext &C) const {
3946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NSConsumedAttr(getLocation(), C, getSpellingListIndex());
3947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NSConsumedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ns_consumed))";
3960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NSConsumedAttr::getSpelling() const {
3966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
3970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
3971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ns_consumed";
3972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNSConsumesSelfAttr *NSConsumesSelfAttr::clone(ASTContext &C) const {
3976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NSConsumesSelfAttr(getLocation(), C, getSpellingListIndex());
3977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
3978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
3979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
3980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
3981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NSConsumesSelfAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
3984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
3989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ns_consumes_self))";
3990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
3991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
3992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
3994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
3995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NSConsumesSelfAttr::getSpelling() const {
3996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
3997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
3998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
3999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ns_consumes_self";
4002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNSReturnsAutoreleasedAttr *NSReturnsAutoreleasedAttr::clone(ASTContext &C) const {
4006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NSReturnsAutoreleasedAttr(getLocation(), C, getSpellingListIndex());
4007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NSReturnsAutoreleasedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ns_returns_autoreleased))";
4020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NSReturnsAutoreleasedAttr::getSpelling() const {
4026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ns_returns_autoreleased";
4032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNSReturnsNotRetainedAttr *NSReturnsNotRetainedAttr::clone(ASTContext &C) const {
4036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NSReturnsNotRetainedAttr(getLocation(), C, getSpellingListIndex());
4037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NSReturnsNotRetainedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ns_returns_not_retained))";
4050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NSReturnsNotRetainedAttr::getSpelling() const {
4056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ns_returns_not_retained";
4062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNSReturnsRetainedAttr *NSReturnsRetainedAttr::clone(ASTContext &C) const {
4066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NSReturnsRetainedAttr(getLocation(), C, getSpellingListIndex());
4067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NSReturnsRetainedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ns_returns_retained))";
4080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NSReturnsRetainedAttr::getSpelling() const {
4086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ns_returns_retained";
4092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNakedAttr *NakedAttr::clone(ASTContext &C) const {
4096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NakedAttr(getLocation(), C, getSpellingListIndex());
4097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NakedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((naked))";
4110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::naked]]";
4114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
4117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(naked)";
4118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NakedAttr::getSpelling() const {
4124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "naked";
4130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "naked";
4132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
4133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "naked";
4134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoAliasAttr *NoAliasAttr::clone(ASTContext &C) const {
4138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoAliasAttr(getLocation(), C, getSpellingListIndex());
4139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoAliasAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(noalias)";
4152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoAliasAttr::getSpelling() const {
4158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noalias";
4164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoCommonAttr *NoCommonAttr::clone(ASTContext &C) const {
4168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoCommonAttr(getLocation(), C, getSpellingListIndex());
4169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoCommonAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nocommon))";
4182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nocommon]]";
4186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoCommonAttr::getSpelling() const {
4192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nocommon";
4198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nocommon";
4200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoDebugAttr *NoDebugAttr::clone(ASTContext &C) const {
4204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoDebugAttr(getLocation(), C, getSpellingListIndex());
4205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoDebugAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nodebug))";
4218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nodebug]]";
4222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoDebugAttr::getSpelling() const {
4228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nodebug";
4234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nodebug";
4236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoDuplicateAttr *NoDuplicateAttr::clone(ASTContext &C) const {
4240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoDuplicateAttr(getLocation(), C, getSpellingListIndex());
4241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoDuplicateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((noduplicate))";
4254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::noduplicate]]";
4258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoDuplicateAttr::getSpelling() const {
4264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noduplicate";
4270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noduplicate";
4272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoEscapeAttr *NoEscapeAttr::clone(ASTContext &C) const {
4276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoEscapeAttr(getLocation(), C, getSpellingListIndex());
4277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoEscapeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((noescape))";
4290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::noescape]]";
4294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoEscapeAttr::getSpelling() const {
4300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noescape";
4306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noescape";
4308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoInlineAttr *NoInlineAttr::clone(ASTContext &C) const {
4312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoInlineAttr(getLocation(), C, getSpellingListIndex());
4313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoInlineAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((noinline))";
4326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::noinline]]";
4330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
4333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(noinline)";
4334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoInlineAttr::getSpelling() const {
4340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noinline";
4346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noinline";
4348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
4349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noinline";
4350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoInstrumentFunctionAttr *NoInstrumentFunctionAttr::clone(ASTContext &C) const {
4354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoInstrumentFunctionAttr(getLocation(), C, getSpellingListIndex());
4355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoInstrumentFunctionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((no_instrument_function))";
4368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::no_instrument_function]]";
4372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoInstrumentFunctionAttr::getSpelling() const {
4378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_instrument_function";
4384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_instrument_function";
4386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoMicroMipsAttr *NoMicroMipsAttr::clone(ASTContext &C) const {
4390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoMicroMipsAttr(getLocation(), C, getSpellingListIndex());
4391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoMicroMipsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nomicromips))";
4404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nomicromips]]";
4408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoMicroMipsAttr::getSpelling() const {
4414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nomicromips";
4420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nomicromips";
4422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoMips16Attr *NoMips16Attr::clone(ASTContext &C) const {
4426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoMips16Attr(getLocation(), C, getSpellingListIndex());
4427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoMips16Attr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nomips16))";
4440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nomips16]]";
4444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoMips16Attr::getSpelling() const {
4450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nomips16";
4456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nomips16";
4458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoReturnAttr *NoReturnAttr::clone(ASTContext &C) const {
4462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoReturnAttr(getLocation(), C, getSpellingListIndex());
4463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoReturnAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((noreturn))";
4476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::noreturn]]";
4480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
4483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(noreturn)";
4484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoReturnAttr::getSpelling() const {
4490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noreturn";
4496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noreturn";
4498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
4499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "noreturn";
4500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoSanitizeAttr *NoSanitizeAttr::clone(ASTContext &C) const {
4504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoSanitizeAttr(getLocation(), C, sanitizers_, sanitizers_Size, getSpellingListIndex());
4505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoSanitizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((no_sanitize(";
4518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
4519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : sanitizers()) {
4520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
4521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
4522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << Val << "\"";
4523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
4525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::no_sanitize(";
4529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
4530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : sanitizers()) {
4531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
4532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
4533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << Val << "\"";
4534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
4536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoSanitizeAttr::getSpelling() const {
4542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_sanitize";
4548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_sanitize";
4550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoSplitStackAttr *NoSplitStackAttr::clone(ASTContext &C) const {
4554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoSplitStackAttr(getLocation(), C, getSpellingListIndex());
4555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoSplitStackAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((no_split_stack))";
4568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::no_split_stack]]";
4572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoSplitStackAttr::getSpelling() const {
4578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_split_stack";
4584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_split_stack";
4586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoThreadSafetyAnalysisAttr *NoThreadSafetyAnalysisAttr::clone(ASTContext &C) const {
4590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoThreadSafetyAnalysisAttr(getLocation(), C, getSpellingListIndex());
4591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoThreadSafetyAnalysisAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((no_thread_safety_analysis))";
4604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoThreadSafetyAnalysisAttr::getSpelling() const {
4610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "no_thread_safety_analysis";
4616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNoThrowAttr *NoThrowAttr::clone(ASTContext &C) const {
4620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NoThrowAttr(getLocation(), C, getSpellingListIndex());
4621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NoThrowAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nothrow))";
4634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nothrow]]";
4638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
4641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(nothrow)";
4642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NoThrowAttr::getSpelling() const {
4648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nothrow";
4654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nothrow";
4656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
4657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nothrow";
4658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNonNullAttr *NonNullAttr::clone(ASTContext &C) const {
4662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NonNullAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
4663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NonNullAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((nonnull(";
4676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
4677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
4678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
4679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
4680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
4681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
4683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::nonnull(";
4687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
4688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
4689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
4690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
4691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
4692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
4694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NonNullAttr::getSpelling() const {
4700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nonnull";
4706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nonnull";
4708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotNotTailCalledAttr *NotTailCalledAttr::clone(ASTContext &C) const {
4712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) NotTailCalledAttr(getLocation(), C, getSpellingListIndex());
4713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid NotTailCalledAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((not_tail_called))";
4726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
4729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::not_tail_called]]";
4730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *NotTailCalledAttr::getSpelling() const {
4736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "not_tail_called";
4742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
4743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "not_tail_called";
4744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOMPCaptureKindAttr *OMPCaptureKindAttr::clone(ASTContext &C) const {
4748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OMPCaptureKindAttr(getLocation(), C, captureKind, getSpellingListIndex());
4749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OMPCaptureKindAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OMPCaptureKindAttr::getSpelling() const {
4759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
4760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOMPCaptureNoInitAttr *OMPCaptureNoInitAttr::clone(ASTContext &C) const {
4763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OMPCaptureNoInitAttr(getLocation(), C, getSpellingListIndex());
4764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OMPCaptureNoInitAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OMPCaptureNoInitAttr::getSpelling() const {
4774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
4775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOMPDeclareSimdDeclAttr *OMPDeclareSimdDeclAttr::clone(ASTContext &C) const {
4778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OMPDeclareSimdDeclAttr(getLocation(), C, branchState, simdlen, uniforms_, uniforms_Size, aligneds_, aligneds_Size, alignments_, alignments_Size, linears_, linears_Size, modifiers_, modifiers_Size, steps_, steps_Size, getSpellingListIndex());
4779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OMPDeclareSimdDeclAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma omp declare simd ";
4792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
4793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
4794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OMPDeclareSimdDeclAttr::getSpelling() const {
4799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "declare simd";
4805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOMPDeclareTargetDeclAttr *OMPDeclareTargetDeclAttr::clone(ASTContext &C) const {
4809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OMPDeclareTargetDeclAttr(getLocation(), C, mapType, getSpellingListIndex());
4810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OMPDeclareTargetDeclAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "#pragma omp declare target ";
4823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    printPrettyPragma(OS, Policy);
4824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\n";    break;
4825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OMPDeclareTargetDeclAttr::getSpelling() const {
4830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "declare target";
4836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOMPThreadPrivateDeclAttr *OMPThreadPrivateDeclAttr::clone(ASTContext &C) const {
4840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OMPThreadPrivateDeclAttr(getLocation(), C, getSpellingListIndex());
4841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OMPThreadPrivateDeclAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OMPThreadPrivateDeclAttr::getSpelling() const {
4851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
4852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCBoxableAttr *ObjCBoxableAttr::clone(ASTContext &C) const {
4855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCBoxableAttr(getLocation(), C, getSpellingListIndex());
4856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCBoxableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_boxable))";
4869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCBoxableAttr::getSpelling() const {
4875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_boxable";
4881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCBridgeAttr *ObjCBridgeAttr::clone(ASTContext &C) const {
4885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCBridgeAttr(getLocation(), C, bridgedType, getSpellingListIndex());
4886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCBridgeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_bridge(";
4899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getBridgedType()->getName();
4900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
4901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCBridgeAttr::getSpelling() const {
4907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_bridge";
4913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCBridgeMutableAttr *ObjCBridgeMutableAttr::clone(ASTContext &C) const {
4917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCBridgeMutableAttr(getLocation(), C, bridgedType, getSpellingListIndex());
4918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCBridgeMutableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_bridge_mutable(";
4931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getBridgedType()->getName();
4932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
4933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCBridgeMutableAttr::getSpelling() const {
4939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_bridge_mutable";
4945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCBridgeRelatedAttr *ObjCBridgeRelatedAttr::clone(ASTContext &C) const {
4949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCBridgeRelatedAttr(getLocation(), C, relatedClass, classMethod, instanceMethod, getSpellingListIndex());
4950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCBridgeRelatedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_bridge_related(";
4963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getRelatedClass()->getName();
4964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", ";
4965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (getClassMethod()) OS << getClassMethod()->getName();
4966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", ";
4967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (getInstanceMethod()) OS << getInstanceMethod()->getName();
4968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ")))";
4969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCBridgeRelatedAttr::getSpelling() const {
4975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
4979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
4980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_bridge_related";
4981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
4982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCDesignatedInitializerAttr *ObjCDesignatedInitializerAttr::clone(ASTContext &C) const {
4985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCDesignatedInitializerAttr(getLocation(), C, getSpellingListIndex());
4986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
4987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
4988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
4989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
4990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
4991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
4992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCDesignatedInitializerAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
4993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
4994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
4995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
4996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
4997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
4998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_designated_initializer))";
4999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCDesignatedInitializerAttr::getSpelling() const {
5005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_designated_initializer";
5011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCExceptionAttr *ObjCExceptionAttr::clone(ASTContext &C) const {
5015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCExceptionAttr(getLocation(), C, getSpellingListIndex());
5016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCExceptionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_exception))";
5029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCExceptionAttr::getSpelling() const {
5035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_exception";
5041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCExplicitProtocolImplAttr *ObjCExplicitProtocolImplAttr::clone(ASTContext &C) const {
5045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCExplicitProtocolImplAttr(getLocation(), C, getSpellingListIndex());
5046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCExplicitProtocolImplAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_protocol_requires_explicit_implementation))";
5059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCExplicitProtocolImplAttr::getSpelling() const {
5065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_protocol_requires_explicit_implementation";
5071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCIndependentClassAttr *ObjCIndependentClassAttr::clone(ASTContext &C) const {
5075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCIndependentClassAttr(getLocation(), C, getSpellingListIndex());
5076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCIndependentClassAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_independent_class))";
5089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCIndependentClassAttr::getSpelling() const {
5095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_independent_class";
5101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCMethodFamilyAttr *ObjCMethodFamilyAttr::clone(ASTContext &C) const {
5105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCMethodFamilyAttr(getLocation(), C, family, getSpellingListIndex());
5106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCMethodFamilyAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_method_family(\"" << ObjCMethodFamilyAttr::ConvertFamilyKindToStr(getFamily()) << "\")))";
5119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCMethodFamilyAttr::getSpelling() const {
5125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_method_family";
5131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCNSObjectAttr *ObjCNSObjectAttr::clone(ASTContext &C) const {
5135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCNSObjectAttr(getLocation(), C, getSpellingListIndex());
5136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCNSObjectAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((NSObject))";
5149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCNSObjectAttr::getSpelling() const {
5155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "NSObject";
5161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCPreciseLifetimeAttr *ObjCPreciseLifetimeAttr::clone(ASTContext &C) const {
5165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCPreciseLifetimeAttr(getLocation(), C, getSpellingListIndex());
5166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCPreciseLifetimeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_precise_lifetime))";
5179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCPreciseLifetimeAttr::getSpelling() const {
5185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_precise_lifetime";
5191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCRequiresPropertyDefsAttr *ObjCRequiresPropertyDefsAttr::clone(ASTContext &C) const {
5195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCRequiresPropertyDefsAttr(getLocation(), C, getSpellingListIndex());
5196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCRequiresPropertyDefsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_requires_property_definitions))";
5209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCRequiresPropertyDefsAttr::getSpelling() const {
5215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_requires_property_definitions";
5221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCRequiresSuperAttr *ObjCRequiresSuperAttr::clone(ASTContext &C) const {
5225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCRequiresSuperAttr(getLocation(), C, getSpellingListIndex());
5226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCRequiresSuperAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_requires_super))";
5239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCRequiresSuperAttr::getSpelling() const {
5245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_requires_super";
5251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCReturnsInnerPointerAttr *ObjCReturnsInnerPointerAttr::clone(ASTContext &C) const {
5255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCReturnsInnerPointerAttr(getLocation(), C, getSpellingListIndex());
5256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCReturnsInnerPointerAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_returns_inner_pointer))";
5269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCReturnsInnerPointerAttr::getSpelling() const {
5275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_returns_inner_pointer";
5281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCRootClassAttr *ObjCRootClassAttr::clone(ASTContext &C) const {
5285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCRootClassAttr(getLocation(), C, getSpellingListIndex());
5286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCRootClassAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_root_class))";
5299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCRootClassAttr::getSpelling() const {
5305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_root_class";
5311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCRuntimeNameAttr *ObjCRuntimeNameAttr::clone(ASTContext &C) const {
5315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCRuntimeNameAttr(getLocation(), C, getMetadataName(), getSpellingListIndex());
5316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCRuntimeNameAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_runtime_name(\"" << getMetadataName() << "\")))";
5329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCRuntimeNameAttr::getSpelling() const {
5335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_runtime_name";
5341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCRuntimeVisibleAttr *ObjCRuntimeVisibleAttr::clone(ASTContext &C) const {
5345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCRuntimeVisibleAttr(getLocation(), C, getSpellingListIndex());
5346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCRuntimeVisibleAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_runtime_visible))";
5359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCRuntimeVisibleAttr::getSpelling() const {
5365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_runtime_visible";
5371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotObjCSubclassingRestrictedAttr *ObjCSubclassingRestrictedAttr::clone(ASTContext &C) const {
5375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ObjCSubclassingRestrictedAttr(getLocation(), C, getSpellingListIndex());
5376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ObjCSubclassingRestrictedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((objc_subclassing_restricted))";
5389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ObjCSubclassingRestrictedAttr::getSpelling() const {
5395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "objc_subclassing_restricted";
5401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOpenCLAccessAttr *OpenCLAccessAttr::clone(ASTContext &C) const {
5405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OpenCLAccessAttr(getLocation(), C, getSpellingListIndex());
5406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OpenCLAccessAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __read_only";
5419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " read_only";
5423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
5426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __write_only";
5427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
5430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " write_only";
5431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
5434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __read_write";
5435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5 : {
5438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " read_write";
5439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OpenCLAccessAttr::getSpelling() const {
5445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__read_only";
5451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "read_only";
5453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
5454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__write_only";
5455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
5456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "write_only";
5457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
5458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__read_write";
5459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5:
5460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "read_write";
5461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOpenCLIntelReqdSubGroupSizeAttr *OpenCLIntelReqdSubGroupSizeAttr::clone(ASTContext &C) const {
5465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OpenCLIntelReqdSubGroupSizeAttr(getLocation(), C, subGroupSize, getSpellingListIndex());
5466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OpenCLIntelReqdSubGroupSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((intel_reqd_sub_group_size(" << getSubGroupSize() << ")))";
5479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OpenCLIntelReqdSubGroupSizeAttr::getSpelling() const {
5485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "intel_reqd_sub_group_size";
5491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOpenCLKernelAttr *OpenCLKernelAttr::clone(ASTContext &C) const {
5495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OpenCLKernelAttr(getLocation(), C, getSpellingListIndex());
5496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OpenCLKernelAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __kernel";
5509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " kernel";
5513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OpenCLKernelAttr::getSpelling() const {
5519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__kernel";
5525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "kernel";
5527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOpenCLUnrollHintAttr *OpenCLUnrollHintAttr::clone(ASTContext &C) const {
5531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OpenCLUnrollHintAttr(getLocation(), C, unrollHint, getSpellingListIndex());
5532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OpenCLUnrollHintAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((opencl_unroll_hint(" << getUnrollHint() << ")))";
5545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OpenCLUnrollHintAttr::getSpelling() const {
5551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "opencl_unroll_hint";
5557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOptimizeNoneAttr *OptimizeNoneAttr::clone(ASTContext &C) const {
5561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OptimizeNoneAttr(getLocation(), C, getSpellingListIndex());
5562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OptimizeNoneAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((optnone))";
5575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::optnone]]";
5579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OptimizeNoneAttr::getSpelling() const {
5585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "optnone";
5591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "optnone";
5593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOverloadableAttr *OverloadableAttr::clone(ASTContext &C) const {
5597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OverloadableAttr(getLocation(), C, getSpellingListIndex());
5598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OverloadableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((overloadable))";
5611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OverloadableAttr::getSpelling() const {
5617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "overloadable";
5623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOverrideAttr *OverrideAttr::clone(ASTContext &C) const {
5627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OverrideAttr(getLocation(), C, getSpellingListIndex());
5628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OverrideAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " override";
5641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OverrideAttr::getSpelling() const {
5647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "override";
5653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotOwnershipAttr *OwnershipAttr::clone(ASTContext &C) const {
5657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) OwnershipAttr(getLocation(), C, module, args_, args_Size, getSpellingListIndex());
5658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid OwnershipAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ownership_holds(";
5671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getModule()->getName();
5672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", ";
5673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
5674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
5675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
5676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
5677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
5678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
5680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ownership_returns(";
5684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getModule()->getName();
5685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", ";
5686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
5687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
5688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
5689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
5690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
5691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
5693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
5696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((ownership_takes(";
5697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getModule()->getName();
5698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", ";
5699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
5700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
5701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
5702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
5703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
5704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
5706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *OwnershipAttr::getSpelling() const {
5712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ownership_holds";
5718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ownership_returns";
5720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
5721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "ownership_takes";
5722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPackedAttr *PackedAttr::clone(ASTContext &C) const {
5726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PackedAttr(getLocation(), C, getSpellingListIndex());
5727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PackedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((packed))";
5740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::packed]]";
5744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PackedAttr::getSpelling() const {
5750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "packed";
5756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "packed";
5758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotParamTypestateAttr *ParamTypestateAttr::clone(ASTContext &C) const {
5762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ParamTypestateAttr(getLocation(), C, paramState, getSpellingListIndex());
5763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ParamTypestateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((param_typestate(\"" << ParamTypestateAttr::ConvertConsumedStateToStr(getParamState()) << "\")))";
5776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ParamTypestateAttr::getSpelling() const {
5782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "param_typestate";
5788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPascalAttr *PascalAttr::clone(ASTContext &C) const {
5792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PascalAttr(getLocation(), C, getSpellingListIndex());
5793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PascalAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pascal))";
5806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __pascal";
5810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
5813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _pascal";
5814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PascalAttr::getSpelling() const {
5820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pascal";
5826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__pascal";
5828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
5829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_pascal";
5830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPassObjectSizeAttr *PassObjectSizeAttr::clone(ASTContext &C) const {
5834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PassObjectSizeAttr(getLocation(), C, type, getSpellingListIndex());
5835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PassObjectSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pass_object_size(" << getType() << ")))";
5848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PassObjectSizeAttr::getSpelling() const {
5854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pass_object_size";
5860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPcsAttr *PcsAttr::clone(ASTContext &C) const {
5864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PcsAttr(getLocation(), C, pCS, getSpellingListIndex());
5865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PcsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pcs(\"" << PcsAttr::ConvertPCSTypeToStr(getPCS()) << "\")))";
5878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
5881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::pcs(\"" << PcsAttr::ConvertPCSTypeToStr(getPCS()) << "\")]]";
5882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PcsAttr::getSpelling() const {
5888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pcs";
5894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
5895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pcs";
5896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPragmaClangBSSSectionAttr *PragmaClangBSSSectionAttr::clone(ASTContext &C) const {
5900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PragmaClangBSSSectionAttr(getLocation(), C, getName(), getSpellingListIndex());
5901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PragmaClangBSSSectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PragmaClangBSSSectionAttr::getSpelling() const {
5911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
5912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPragmaClangDataSectionAttr *PragmaClangDataSectionAttr::clone(ASTContext &C) const {
5915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PragmaClangDataSectionAttr(getLocation(), C, getName(), getSpellingListIndex());
5916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PragmaClangDataSectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PragmaClangDataSectionAttr::getSpelling() const {
5926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
5927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPragmaClangRodataSectionAttr *PragmaClangRodataSectionAttr::clone(ASTContext &C) const {
5930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PragmaClangRodataSectionAttr(getLocation(), C, getName(), getSpellingListIndex());
5931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PragmaClangRodataSectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PragmaClangRodataSectionAttr::getSpelling() const {
5941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
5942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPragmaClangTextSectionAttr *PragmaClangTextSectionAttr::clone(ASTContext &C) const {
5945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PragmaClangTextSectionAttr(getLocation(), C, getName(), getSpellingListIndex());
5946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PragmaClangTextSectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PragmaClangTextSectionAttr::getSpelling() const {
5956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return "(No spelling)";
5957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPreserveAllAttr *PreserveAllAttr::clone(ASTContext &C) const {
5960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PreserveAllAttr(getLocation(), C, getSpellingListIndex());
5961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PreserveAllAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
5973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((preserve_all))";
5974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
5975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PreserveAllAttr::getSpelling() const {
5980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
5982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
5983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
5984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
5985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "preserve_all";
5986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
5987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPreserveMostAttr *PreserveMostAttr::clone(ASTContext &C) const {
5990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PreserveMostAttr(getLocation(), C, getSpellingListIndex());
5991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
5992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
5993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
5994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
5995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
5996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
5997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PreserveMostAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
5998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
5999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((preserve_most))";
6004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PreserveMostAttr::getSpelling() const {
6010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "preserve_most";
6016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPtGuardedByAttr *PtGuardedByAttr::clone(ASTContext &C) const {
6020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PtGuardedByAttr(getLocation(), C, arg, getSpellingListIndex());
6021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PtGuardedByAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pt_guarded_by(" << getArg() << ")))";
6034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PtGuardedByAttr::getSpelling() const {
6040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pt_guarded_by";
6046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPtGuardedVarAttr *PtGuardedVarAttr::clone(ASTContext &C) const {
6050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PtGuardedVarAttr(getLocation(), C, getSpellingListIndex());
6051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PtGuardedVarAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pt_guarded_var))";
6064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PtGuardedVarAttr::getSpelling() const {
6070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pt_guarded_var";
6076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotPureAttr *PureAttr::clone(ASTContext &C) const {
6080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) PureAttr(getLocation(), C, getSpellingListIndex());
6081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid PureAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((pure))";
6094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::pure]]";
6098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *PureAttr::getSpelling() const {
6104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pure";
6110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "pure";
6112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotRegCallAttr *RegCallAttr::clone(ASTContext &C) const {
6116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) RegCallAttr(getLocation(), C, getSpellingListIndex());
6117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid RegCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((regcall))";
6130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::regcall]]";
6134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __regcall";
6138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *RegCallAttr::getSpelling() const {
6144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "regcall";
6150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "regcall";
6152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__regcall";
6154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotReleaseCapabilityAttr *ReleaseCapabilityAttr::clone(ASTContext &C) const {
6158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ReleaseCapabilityAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
6159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ReleaseCapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((release_capability(";
6172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::release_capability(";
6183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((release_shared_capability(";
6194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
6204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::release_shared_capability(";
6205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
6215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((release_generic_capability(";
6216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5 : {
6226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::release_generic_capability(";
6227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 6 : {
6237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((unlock_function(";
6238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ReleaseCapabilityAttr::getSpelling() const {
6251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_capability";
6257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_capability";
6259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_shared_capability";
6261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
6262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_shared_capability";
6263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
6264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_generic_capability";
6265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5:
6266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "release_generic_capability";
6267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 6:
6268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "unlock_function";
6269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotRenderScriptKernelAttr *RenderScriptKernelAttr::clone(ASTContext &C) const {
6273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) RenderScriptKernelAttr(getLocation(), C, getSpellingListIndex());
6274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid RenderScriptKernelAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((kernel))";
6287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *RenderScriptKernelAttr::getSpelling() const {
6293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "kernel";
6299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotReqdWorkGroupSizeAttr *ReqdWorkGroupSizeAttr::clone(ASTContext &C) const {
6303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ReqdWorkGroupSizeAttr(getLocation(), C, xDim, yDim, zDim, getSpellingListIndex());
6304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ReqdWorkGroupSizeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((reqd_work_group_size(" << getXDim() << ", " << getYDim() << ", " << getZDim() << ")))";
6317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ReqdWorkGroupSizeAttr::getSpelling() const {
6323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "reqd_work_group_size";
6329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotRequireConstantInitAttr *RequireConstantInitAttr::clone(ASTContext &C) const {
6333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) RequireConstantInitAttr(getLocation(), C, getSpellingListIndex());
6334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid RequireConstantInitAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((require_constant_initialization))";
6347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::require_constant_initialization]]";
6351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *RequireConstantInitAttr::getSpelling() const {
6357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "require_constant_initialization";
6363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "require_constant_initialization";
6365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotRequiresCapabilityAttr *RequiresCapabilityAttr::clone(ASTContext &C) const {
6369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) RequiresCapabilityAttr(getLocation(), C, args_, args_Size, getSpellingListIndex());
6370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid RequiresCapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((requires_capability(";
6383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::requires_capability(";
6394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((exclusive_locks_required(";
6405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
6415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((requires_shared_capability(";
6416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
6426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::requires_shared_capability(";
6427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5 : {
6437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((shared_locks_required(";
6438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *RequiresCapabilityAttr::getSpelling() const {
6451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "requires_capability";
6457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "requires_capability";
6459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "exclusive_locks_required";
6461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
6462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "requires_shared_capability";
6463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
6464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "requires_shared_capability";
6465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 5:
6466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared_locks_required";
6467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotRestrictAttr *RestrictAttr::clone(ASTContext &C) const {
6471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) RestrictAttr(getLocation(), C, getSpellingListIndex());
6472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid RestrictAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(restrict)";
6485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((malloc))";
6489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::malloc]]";
6493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *RestrictAttr::getSpelling() const {
6499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "restrict";
6505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "malloc";
6507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "malloc";
6509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotReturnTypestateAttr *ReturnTypestateAttr::clone(ASTContext &C) const {
6513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ReturnTypestateAttr(getLocation(), C, state, getSpellingListIndex());
6514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ReturnTypestateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((return_typestate(\"" << ReturnTypestateAttr::ConvertConsumedStateToStr(getState()) << "\")))";
6527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ReturnTypestateAttr::getSpelling() const {
6533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "return_typestate";
6539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotReturnsNonNullAttr *ReturnsNonNullAttr::clone(ASTContext &C) const {
6543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ReturnsNonNullAttr(getLocation(), C, getSpellingListIndex());
6544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ReturnsNonNullAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((returns_nonnull))";
6557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::returns_nonnull]]";
6561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ReturnsNonNullAttr::getSpelling() const {
6567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "returns_nonnull";
6573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "returns_nonnull";
6575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotReturnsTwiceAttr *ReturnsTwiceAttr::clone(ASTContext &C) const {
6579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ReturnsTwiceAttr(getLocation(), C, getSpellingListIndex());
6580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ReturnsTwiceAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((returns_twice))";
6593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::returns_twice]]";
6597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ReturnsTwiceAttr::getSpelling() const {
6603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "returns_twice";
6609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "returns_twice";
6611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotScopedLockableAttr *ScopedLockableAttr::clone(ASTContext &C) const {
6615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ScopedLockableAttr(getLocation(), C, getSpellingListIndex());
6616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ScopedLockableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((scoped_lockable))";
6629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ScopedLockableAttr::getSpelling() const {
6635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "scoped_lockable";
6641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSectionAttr *SectionAttr::clone(ASTContext &C) const {
6645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SectionAttr(getLocation(), C, getName(), getSpellingListIndex());
6646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SectionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((section(\"" << getName() << "\")))";
6659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::section(\"" << getName() << "\")]]";
6663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(allocate(\"" << getName() << "\"))";
6667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SectionAttr::getSpelling() const {
6673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "section";
6679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "section";
6681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "allocate";
6683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSelectAnyAttr *SelectAnyAttr::clone(ASTContext &C) const {
6687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SelectAnyAttr(getLocation(), C, getSpellingListIndex());
6688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SelectAnyAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(selectany)";
6701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((selectany))";
6705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::selectany]]";
6709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SelectAnyAttr::getSpelling() const {
6715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "selectany";
6721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "selectany";
6723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "selectany";
6725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSentinelAttr *SentinelAttr::clone(ASTContext &C) const {
6729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SentinelAttr(getLocation(), C, sentinel, nullPos, getSpellingListIndex());
6730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SentinelAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((sentinel(" << getSentinel() << ", " << getNullPos() << ")))";
6743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::sentinel(" << getSentinel() << ", " << getNullPos() << ")]]";
6747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SentinelAttr::getSpelling() const {
6753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "sentinel";
6759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "sentinel";
6761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSetTypestateAttr *SetTypestateAttr::clone(ASTContext &C) const {
6765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SetTypestateAttr(getLocation(), C, newState, getSpellingListIndex());
6766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SetTypestateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((set_typestate(\"" << SetTypestateAttr::ConvertConsumedStateToStr(getNewState()) << "\")))";
6779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SetTypestateAttr::getSpelling() const {
6785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "set_typestate";
6791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSharedTrylockFunctionAttr *SharedTrylockFunctionAttr::clone(ASTContext &C) const {
6795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SharedTrylockFunctionAttr(getLocation(), C, successValue, args_, args_Size, getSpellingListIndex());
6796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SharedTrylockFunctionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((shared_trylock_function(" << getSuccessValue() << ", ";
6809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
6811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
6814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
6816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SharedTrylockFunctionAttr::getSpelling() const {
6822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "shared_trylock_function";
6828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotStdCallAttr *StdCallAttr::clone(ASTContext &C) const {
6832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) StdCallAttr(getLocation(), C, getSpellingListIndex());
6833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid StdCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((stdcall))";
6846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
6849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::stdcall]]";
6850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
6853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __stdcall";
6854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
6857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _stdcall";
6858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *StdCallAttr::getSpelling() const {
6864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "stdcall";
6870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
6871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "stdcall";
6872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
6873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__stdcall";
6874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
6875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_stdcall";
6876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSuppressAttr *SuppressAttr::clone(ASTContext &C) const {
6880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SuppressAttr(getLocation(), C, diagnosticIdentifiers_, diagnosticIdentifiers_Size, getSpellingListIndex());
6881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SuppressAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gsl::suppress(";
6894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
6895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : diagnosticIdentifiers()) {
6896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
6897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
6898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "\"" << Val << "\"";
6899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
6901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SuppressAttr::getSpelling() const {
6907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "suppress";
6913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSwiftCallAttr *SwiftCallAttr::clone(ASTContext &C) const {
6917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SwiftCallAttr(getLocation(), C, getSpellingListIndex());
6918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SwiftCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((swiftcall))";
6931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SwiftCallAttr::getSpelling() const {
6937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "swiftcall";
6943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSwiftContextAttr *SwiftContextAttr::clone(ASTContext &C) const {
6947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SwiftContextAttr(getLocation(), C, getSpellingListIndex());
6948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SwiftContextAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((swift_context))";
6961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SwiftContextAttr::getSpelling() const {
6967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
6971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
6972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "swift_context";
6973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSwiftErrorResultAttr *SwiftErrorResultAttr::clone(ASTContext &C) const {
6977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SwiftErrorResultAttr(getLocation(), C, getSpellingListIndex());
6978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
6979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
6980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
6981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
6982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SwiftErrorResultAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
6985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
6988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
6990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((swift_error_result))";
6991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
6992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
6993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
6995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
6996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SwiftErrorResultAttr::getSpelling() const {
6997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
6998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
6999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "swift_error_result";
7003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSwiftIndirectResultAttr *SwiftIndirectResultAttr::clone(ASTContext &C) const {
7007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SwiftIndirectResultAttr(getLocation(), C, getSpellingListIndex());
7008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SwiftIndirectResultAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((swift_indirect_result))";
7021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SwiftIndirectResultAttr::getSpelling() const {
7027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "swift_indirect_result";
7033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotSysVABIAttr *SysVABIAttr::clone(ASTContext &C) const {
7037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) SysVABIAttr(getLocation(), C, getSpellingListIndex());
7038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid SysVABIAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((sysv_abi))";
7051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::sysv_abi]]";
7055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *SysVABIAttr::getSpelling() const {
7061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "sysv_abi";
7067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "sysv_abi";
7069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTLSModelAttr *TLSModelAttr::clone(ASTContext &C) const {
7073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TLSModelAttr(getLocation(), C, getModel(), getSpellingListIndex());
7074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TLSModelAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((tls_model(\"" << getModel() << "\")))";
7087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::tls_model(\"" << getModel() << "\")]]";
7091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TLSModelAttr::getSpelling() const {
7097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "tls_model";
7103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "tls_model";
7105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTargetAttr *TargetAttr::clone(ASTContext &C) const {
7109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TargetAttr(getLocation(), C, getFeaturesStr(), getSpellingListIndex());
7110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TargetAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((target(\"" << getFeaturesStr() << "\")))";
7123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::target(\"" << getFeaturesStr() << "\")]]";
7127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TargetAttr::getSpelling() const {
7133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "target";
7139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "target";
7141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTestTypestateAttr *TestTypestateAttr::clone(ASTContext &C) const {
7145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TestTypestateAttr(getLocation(), C, testState, getSpellingListIndex());
7146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TestTypestateAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((test_typestate(\"" << TestTypestateAttr::ConvertConsumedStateToStr(getTestState()) << "\")))";
7159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TestTypestateAttr::getSpelling() const {
7165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "test_typestate";
7171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotThisCallAttr *ThisCallAttr::clone(ASTContext &C) const {
7175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ThisCallAttr(getLocation(), C, getSpellingListIndex());
7176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ThisCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((thiscall))";
7189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::thiscall]]";
7193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
7196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __thiscall";
7197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
7200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _thiscall";
7201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ThisCallAttr::getSpelling() const {
7207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "thiscall";
7213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "thiscall";
7215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
7216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__thiscall";
7217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
7218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_thiscall";
7219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotThreadAttr *ThreadAttr::clone(ASTContext &C) const {
7223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) ThreadAttr(getLocation(), C, getSpellingListIndex());
7224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid ThreadAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(thread)";
7237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *ThreadAttr::getSpelling() const {
7243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "thread";
7249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTransparentUnionAttr *TransparentUnionAttr::clone(ASTContext &C) const {
7253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TransparentUnionAttr(getLocation(), C, getSpellingListIndex());
7254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TransparentUnionAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((transparent_union))";
7267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::transparent_union]]";
7271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TransparentUnionAttr::getSpelling() const {
7277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "transparent_union";
7283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "transparent_union";
7285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTryAcquireCapabilityAttr *TryAcquireCapabilityAttr::clone(ASTContext &C) const {
7289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TryAcquireCapabilityAttr(getLocation(), C, successValue, args_, args_Size, getSpellingListIndex());
7290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TryAcquireCapabilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((try_acquire_capability(" << getSuccessValue() << ", ";
7303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
7304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
7305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
7306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
7307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
7308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
7310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::try_acquire_capability(" << getSuccessValue() << ", ";
7314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
7315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
7316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
7317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
7318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
7319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
7321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
7324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((try_acquire_shared_capability(" << getSuccessValue() << ", ";
7325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
7326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
7327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
7328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
7329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
7330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")))";
7332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
7335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::try_acquire_shared_capability(" << getSuccessValue() << ", ";
7336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  bool isFirst = true;
7337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  for (const auto &Val : args()) {
7338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    if (isFirst) isFirst = false;
7339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    else OS << ", ";
7340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << Val;
7341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  OS << ")]]";
7343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TryAcquireCapabilityAttr::getSpelling() const {
7349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "try_acquire_capability";
7355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "try_acquire_capability";
7357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
7358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "try_acquire_shared_capability";
7359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
7360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "try_acquire_shared_capability";
7361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTypeTagForDatatypeAttr *TypeTagForDatatypeAttr::clone(ASTContext &C) const {
7365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TypeTagForDatatypeAttr(getLocation(), C, argumentKind, matchingCType, layoutCompatible, mustBeNull, getSpellingListIndex());
7366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TypeTagForDatatypeAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((type_tag_for_datatype(";
7379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << getArgumentKind()->getName();
7380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << ", " << getMatchingCType().getAsString() << ", " << getLayoutCompatible() << ", " << getMustBeNull() << ")))";
7381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TypeTagForDatatypeAttr::getSpelling() const {
7387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "type_tag_for_datatype";
7393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotTypeVisibilityAttr *TypeVisibilityAttr::clone(ASTContext &C) const {
7397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) TypeVisibilityAttr(getLocation(), C, visibility, getSpellingListIndex());
7398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid TypeVisibilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((type_visibility(\"" << TypeVisibilityAttr::ConvertVisibilityTypeToStr(getVisibility()) << "\")))";
7411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::type_visibility(\"" << TypeVisibilityAttr::ConvertVisibilityTypeToStr(getVisibility()) << "\")]]";
7415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *TypeVisibilityAttr::getSpelling() const {
7421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "type_visibility";
7427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "type_visibility";
7429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotUnavailableAttr *UnavailableAttr::clone(ASTContext &C) const {
7433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) UnavailableAttr(getLocation(), C, getMessage(), implicitReason, getSpellingListIndex());
7434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid UnavailableAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((unavailable(\"" << getMessage() << "\")))";
7447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *UnavailableAttr::getSpelling() const {
7453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "unavailable";
7459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotUnusedAttr *UnusedAttr::clone(ASTContext &C) const {
7463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) UnusedAttr(getLocation(), C, getSpellingListIndex());
7464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid UnusedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[maybe_unused]]";
7477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((unused))";
7481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
7484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::unused]]";
7485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
7488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[maybe_unused]]";
7489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *UnusedAttr::getSpelling() const {
7495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "maybe_unused";
7501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "unused";
7503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
7504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "unused";
7505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
7506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "maybe_unused";
7507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotUsedAttr *UsedAttr::clone(ASTContext &C) const {
7511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) UsedAttr(getLocation(), C, getSpellingListIndex());
7512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid UsedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((used))";
7525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::used]]";
7529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *UsedAttr::getSpelling() const {
7535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "used";
7541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "used";
7543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotUuidAttr *UuidAttr::clone(ASTContext &C) const {
7547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) UuidAttr(getLocation(), C, getGuid(), getSpellingListIndex());
7548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid UuidAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __declspec(uuid(\"" << getGuid() << "\"))";
7561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << "[uuid(\"" << getGuid() << "\")]";
7565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *UuidAttr::getSpelling() const {
7571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "uuid";
7577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "uuid";
7579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotVecReturnAttr *VecReturnAttr::clone(ASTContext &C) const {
7583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) VecReturnAttr(getLocation(), C, getSpellingListIndex());
7584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid VecReturnAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((vecreturn))";
7597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *VecReturnAttr::getSpelling() const {
7603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "vecreturn";
7609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotVecTypeHintAttr *VecTypeHintAttr::clone(ASTContext &C) const {
7613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) VecTypeHintAttr(getLocation(), C, typeHint, getSpellingListIndex());
7614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid VecTypeHintAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((vec_type_hint(" << getTypeHint().getAsString() << ")))";
7627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *VecTypeHintAttr::getSpelling() const {
7633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "vec_type_hint";
7639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotVectorCallAttr *VectorCallAttr::clone(ASTContext &C) const {
7643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) VectorCallAttr(getLocation(), C, getSpellingListIndex());
7644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid VectorCallAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((vectorcall))";
7657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __vectorcall";
7661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
7664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " _vectorcall";
7665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *VectorCallAttr::getSpelling() const {
7671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "vectorcall";
7677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "__vectorcall";
7679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
7680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "_vectorcall";
7681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotVisibilityAttr *VisibilityAttr::clone(ASTContext &C) const {
7685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) VisibilityAttr(getLocation(), C, visibility, getSpellingListIndex());
7686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid VisibilityAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((visibility(\"" << VisibilityAttr::ConvertVisibilityTypeToStr(getVisibility()) << "\")))";
7699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::visibility(\"" << VisibilityAttr::ConvertVisibilityTypeToStr(getVisibility()) << "\")]]";
7703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *VisibilityAttr::getSpelling() const {
7709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "visibility";
7715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "visibility";
7717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWarnUnusedAttr *WarnUnusedAttr::clone(ASTContext &C) const {
7721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WarnUnusedAttr(getLocation(), C, getSpellingListIndex());
7722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WarnUnusedAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((warn_unused))";
7735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::warn_unused]]";
7739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WarnUnusedAttr::getSpelling() const {
7745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "warn_unused";
7751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "warn_unused";
7753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWarnUnusedResultAttr *WarnUnusedResultAttr::clone(ASTContext &C) const {
7757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WarnUnusedResultAttr(getLocation(), C, getSpellingListIndex());
7758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WarnUnusedResultAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[nodiscard]]";
7771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[nodiscard]]";
7775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
7778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::warn_unused_result]]";
7779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
7782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((warn_unused_result))";
7783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4 : {
7786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::warn_unused_result]]";
7787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WarnUnusedResultAttr::getSpelling() const {
7793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nodiscard";
7799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "nodiscard";
7801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
7802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "warn_unused_result";
7803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
7804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "warn_unused_result";
7805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 4:
7806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "warn_unused_result";
7807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWeakAttr *WeakAttr::clone(ASTContext &C) const {
7811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WeakAttr(getLocation(), C, getSpellingListIndex());
7812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WeakAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((weak))";
7825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::weak]]";
7829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WeakAttr::getSpelling() const {
7835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "weak";
7841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "weak";
7843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWeakImportAttr *WeakImportAttr::clone(ASTContext &C) const {
7847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WeakImportAttr(getLocation(), C, getSpellingListIndex());
7848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WeakImportAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((weak_import))";
7861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WeakImportAttr::getSpelling() const {
7867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "weak_import";
7873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWeakRefAttr *WeakRefAttr::clone(ASTContext &C) const {
7877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WeakRefAttr(getLocation(), C, getAliasee(), getSpellingListIndex());
7878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WeakRefAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((weakref(\"" << getAliasee() << "\")))";
7891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::weakref(\"" << getAliasee() << "\")]]";
7895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WeakRefAttr::getSpelling() const {
7901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "weakref";
7907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "weakref";
7909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotWorkGroupSizeHintAttr *WorkGroupSizeHintAttr::clone(ASTContext &C) const {
7913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) WorkGroupSizeHintAttr(getLocation(), C, xDim, yDim, zDim, getSpellingListIndex());
7914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid WorkGroupSizeHintAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((work_group_size_hint(" << getXDim() << ", " << getYDim() << ", " << getZDim() << ")))";
7927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *WorkGroupSizeHintAttr::getSpelling() const {
7933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "work_group_size_hint";
7939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotX86ForceAlignArgPointerAttr *X86ForceAlignArgPointerAttr::clone(ASTContext &C) const {
7943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) X86ForceAlignArgPointerAttr(getLocation(), C, getSpellingListIndex());
7944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid X86ForceAlignArgPointerAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((force_align_arg_pointer))";
7957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[gnu::force_align_arg_pointer]]";
7961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *X86ForceAlignArgPointerAttr::getSpelling() const {
7967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
7971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
7972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "force_align_arg_pointer";
7973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
7974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "force_align_arg_pointer";
7975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotXRayInstrumentAttr *XRayInstrumentAttr::clone(ASTContext &C) const {
7979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) XRayInstrumentAttr(getLocation(), C, getSpellingListIndex());
7980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
7981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
7982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
7983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
7984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
7985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
7986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid XRayInstrumentAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
7987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
7988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
7989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
7990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
7992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((xray_always_instrument))";
7993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
7996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::xray_always_instrument]]";
7997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
7998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
7999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2 : {
8000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((xray_never_instrument))";
8001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
8002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3 : {
8004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::xray_never_instrument]]";
8005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
8006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *XRayInstrumentAttr::getSpelling() const {
8011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
8012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
8013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
8014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
8015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
8016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_always_instrument";
8017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
8018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_always_instrument";
8019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 2:
8020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_never_instrument";
8021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 3:
8022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_never_instrument";
8023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotXRayLogArgsAttr *XRayLogArgsAttr::clone(ASTContext &C) const {
8027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  auto *A = new (C) XRayLogArgsAttr(getLocation(), C, argumentCount, getSpellingListIndex());
8028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Inherited = Inherited;
8029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->IsPackExpansion = IsPackExpansion;
8030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  A->Implicit = Implicit;
8031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  return A;
8032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid XRayLogArgsAttr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
8035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
8036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
8037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
8038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
8039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0 : {
8040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " __attribute__((xray_log_args(" << getArgumentCount() << ")))";
8041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
8042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1 : {
8044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    OS << " [[clang::xray_log_args(" << getArgumentCount() << ")]]";
8045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    break;
8046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *XRayLogArgsAttr::getSpelling() const {
8051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (SpellingListIndex) {
8052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  default:
8053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    llvm_unreachable("Unknown attribute spelling!");
8054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "(No spelling)";
8055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 0:
8056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_log_args";
8057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case 1:
8058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return "xray_log_args";
8059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotconst char *Attr::getSpelling() const {
8063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (getKind()) {
8064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUFlatWorkGroupSize:
8065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUFlatWorkGroupSizeAttr>(this)->getSpelling();
8066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumSGPR:
8067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumSGPRAttr>(this)->getSpelling();
8068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumVGPR:
8069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumVGPRAttr>(this)->getSpelling();
8070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUWavesPerEU:
8071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUWavesPerEUAttr>(this)->getSpelling();
8072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ARMInterrupt:
8073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ARMInterruptAttr>(this)->getSpelling();
8074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRInterrupt:
8075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRInterruptAttr>(this)->getSpelling();
8076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRSignal:
8077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRSignalAttr>(this)->getSpelling();
8078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AbiTag:
8079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AbiTagAttr>(this)->getSpelling();
8080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquireCapability:
8081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquireCapabilityAttr>(this)->getSpelling();
8082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredAfter:
8083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredAfterAttr>(this)->getSpelling();
8084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredBefore:
8085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredBeforeAttr>(this)->getSpelling();
8086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Alias:
8087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AliasAttr>(this)->getSpelling();
8088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignMac68k:
8089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignMac68kAttr>(this)->getSpelling();
8090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignValue:
8091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignValueAttr>(this)->getSpelling();
8092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Aligned:
8093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignedAttr>(this)->getSpelling();
8094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocAlign:
8095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocAlignAttr>(this)->getSpelling();
8096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocSize:
8097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocSizeAttr>(this)->getSpelling();
8098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlwaysInline:
8099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlwaysInlineAttr>(this)->getSpelling();
8100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnalyzerNoReturn:
8101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnalyzerNoReturnAttr>(this)->getSpelling();
8102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Annotate:
8103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnnotateAttr>(this)->getSpelling();
8104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86Interrupt:
8105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86InterruptAttr>(this)->getSpelling();
8106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86NoCallerSavedRegisters:
8107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86NoCallerSavedRegistersAttr>(this)->getSpelling();
8108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArcWeakrefUnavailable:
8109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArcWeakrefUnavailableAttr>(this)->getSpelling();
8110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArgumentWithTypeTag:
8111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArgumentWithTypeTagAttr>(this)->getSpelling();
8112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AsmLabel:
8113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AsmLabelAttr>(this)->getSpelling();
8114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertCapability:
8115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertCapabilityAttr>(this)->getSpelling();
8116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertExclusiveLock:
8117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertExclusiveLockAttr>(this)->getSpelling();
8118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertSharedLock:
8119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertSharedLockAttr>(this)->getSpelling();
8120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssumeAligned:
8121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssumeAlignedAttr>(this)->getSpelling();
8122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Availability:
8123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AvailabilityAttr>(this)->getSpelling();
8124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Blocks:
8125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<BlocksAttr>(this)->getSpelling();
8126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::C11NoReturn:
8127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<C11NoReturnAttr>(this)->getSpelling();
8128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CDecl:
8129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CDeclAttr>(this)->getSpelling();
8130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFAuditedTransfer:
8131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFAuditedTransferAttr>(this)->getSpelling();
8132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFConsumed:
8133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFConsumedAttr>(this)->getSpelling();
8134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsNotRetained:
8135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsNotRetainedAttr>(this)->getSpelling();
8136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsRetained:
8137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsRetainedAttr>(this)->getSpelling();
8138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFUnknownTransfer:
8139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFUnknownTransferAttr>(this)->getSpelling();
8140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAConstant:
8141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAConstantAttr>(this)->getSpelling();
8142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDADevice:
8143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDADeviceAttr>(this)->getSpelling();
8144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAGlobal:
8145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAGlobalAttr>(this)->getSpelling();
8146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAHost:
8147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAHostAttr>(this)->getSpelling();
8148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAInvalidTarget:
8149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAInvalidTargetAttr>(this)->getSpelling();
8150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDALaunchBounds:
8151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDALaunchBoundsAttr>(this)->getSpelling();
8152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAShared:
8153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDASharedAttr>(this)->getSpelling();
8154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CXX11NoReturn:
8155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CXX11NoReturnAttr>(this)->getSpelling();
8156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CallableWhen:
8157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CallableWhenAttr>(this)->getSpelling();
8158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Capability:
8159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapabilityAttr>(this)->getSpelling();
8160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CapturedRecord:
8161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapturedRecordAttr>(this)->getSpelling();
8162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CarriesDependency:
8163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CarriesDependencyAttr>(this)->getSpelling();
8164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cleanup:
8165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CleanupAttr>(this)->getSpelling();
8166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cold:
8167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ColdAttr>(this)->getSpelling();
8168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Common:
8169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CommonAttr>(this)->getSpelling();
8170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Const:
8171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstAttr>(this)->getSpelling();
8172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Constructor:
8173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstructorAttr>(this)->getSpelling();
8174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Consumable:
8175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAttr>(this)->getSpelling();
8176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableAutoCast:
8177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAutoCastAttr>(this)->getSpelling();
8178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableSetOnRead:
8179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableSetOnReadAttr>(this)->getSpelling();
8180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Convergent:
8181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConvergentAttr>(this)->getSpelling();
8182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLExport:
8183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLExportAttr>(this)->getSpelling();
8184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLImport:
8185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLImportAttr>(this)->getSpelling();
8186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Deprecated:
8187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DeprecatedAttr>(this)->getSpelling();
8188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Destructor:
8189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DestructorAttr>(this)->getSpelling();
8190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DiagnoseIf:
8191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DiagnoseIfAttr>(this)->getSpelling();
8192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DisableTailCalls:
8193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DisableTailCallsAttr>(this)->getSpelling();
8194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EmptyBases:
8195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EmptyBasesAttr>(this)->getSpelling();
8196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnableIf:
8197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnableIfAttr>(this)->getSpelling();
8198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnumExtensibility:
8199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnumExtensibilityAttr>(this)->getSpelling();
8200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExclusiveTrylockFunction:
8201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExclusiveTrylockFunctionAttr>(this)->getSpelling();
8202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExternalSourceSymbol:
8203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExternalSourceSymbolAttr>(this)->getSpelling();
8204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FallThrough:
8205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FallThroughAttr>(this)->getSpelling();
8206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FastCall:
8207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FastCallAttr>(this)->getSpelling();
8208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Final:
8209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FinalAttr>(this)->getSpelling();
8210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FlagEnum:
8211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlagEnumAttr>(this)->getSpelling();
8212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Flatten:
8213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlattenAttr>(this)->getSpelling();
8214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Format:
8215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatAttr>(this)->getSpelling();
8216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FormatArg:
8217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatArgAttr>(this)->getSpelling();
8218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GNUInline:
8219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GNUInlineAttr>(this)->getSpelling();
8220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedBy:
8221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedByAttr>(this)->getSpelling();
8222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedVar:
8223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedVarAttr>(this)->getSpelling();
8224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Hot:
8225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<HotAttr>(this)->getSpelling();
8226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBAction:
8227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBActionAttr>(this)->getSpelling();
8228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutlet:
8229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletAttr>(this)->getSpelling();
8230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutletCollection:
8231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletCollectionAttr>(this)->getSpelling();
8232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IFunc:
8233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IFuncAttr>(this)->getSpelling();
8234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitPriority:
8235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitPriorityAttr>(this)->getSpelling();
8236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitSeg:
8237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitSegAttr>(this)->getSpelling();
8238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IntelOclBicc:
8239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IntelOclBiccAttr>(this)->getSpelling();
8240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InternalLinkage:
8241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InternalLinkageAttr>(this)->getSpelling();
8242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LTOVisibilityPublic:
8243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LTOVisibilityPublicAttr>(this)->getSpelling();
8244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LayoutVersion:
8245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LayoutVersionAttr>(this)->getSpelling();
8246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LockReturned:
8247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LockReturnedAttr>(this)->getSpelling();
8248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LocksExcluded:
8249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LocksExcludedAttr>(this)->getSpelling();
8250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LoopHint:
8251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LoopHintAttr>(this)->getSpelling();
8252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSABI:
8253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSABIAttr>(this)->getSpelling();
8254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSInheritance:
8255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSInheritanceAttr>(this)->getSpelling();
8256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSNoVTable:
8257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSNoVTableAttr>(this)->getSpelling();
8258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSP430Interrupt:
8259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSP430InterruptAttr>(this)->getSpelling();
8260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSStruct:
8261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSStructAttr>(this)->getSpelling();
8262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSVtorDisp:
8263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSVtorDispAttr>(this)->getSpelling();
8264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MaxFieldAlignment:
8265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MaxFieldAlignmentAttr>(this)->getSpelling();
8266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MayAlias:
8267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MayAliasAttr>(this)->getSpelling();
8268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MicroMips:
8269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MicroMipsAttr>(this)->getSpelling();
8270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MinSize:
8271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MinSizeAttr>(this)->getSpelling();
8272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mips16:
8273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<Mips16Attr>(this)->getSpelling();
8274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsInterrupt:
8275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsInterruptAttr>(this)->getSpelling();
8276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsLongCall:
8277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsLongCallAttr>(this)->getSpelling();
8278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsShortCall:
8279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsShortCallAttr>(this)->getSpelling();
8280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mode:
8281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ModeAttr>(this)->getSpelling();
8282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumed:
8283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumedAttr>(this)->getSpelling();
8284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumesSelf:
8285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumesSelfAttr>(this)->getSpelling();
8286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsAutoreleased:
8287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsAutoreleasedAttr>(this)->getSpelling();
8288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsNotRetained:
8289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsNotRetainedAttr>(this)->getSpelling();
8290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsRetained:
8291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsRetainedAttr>(this)->getSpelling();
8292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Naked:
8293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NakedAttr>(this)->getSpelling();
8294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoAlias:
8295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoAliasAttr>(this)->getSpelling();
8296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoCommon:
8297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoCommonAttr>(this)->getSpelling();
8298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDebug:
8299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDebugAttr>(this)->getSpelling();
8300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDuplicate:
8301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDuplicateAttr>(this)->getSpelling();
8302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoEscape:
8303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoEscapeAttr>(this)->getSpelling();
8304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInline:
8305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInlineAttr>(this)->getSpelling();
8306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInstrumentFunction:
8307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInstrumentFunctionAttr>(this)->getSpelling();
8308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMicroMips:
8309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMicroMipsAttr>(this)->getSpelling();
8310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMips16:
8311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMips16Attr>(this)->getSpelling();
8312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoReturn:
8313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoReturnAttr>(this)->getSpelling();
8314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSanitize:
8315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSanitizeAttr>(this)->getSpelling();
8316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSplitStack:
8317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSplitStackAttr>(this)->getSpelling();
8318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThreadSafetyAnalysis:
8319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThreadSafetyAnalysisAttr>(this)->getSpelling();
8320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThrow:
8321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThrowAttr>(this)->getSpelling();
8322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NonNull:
8323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NonNullAttr>(this)->getSpelling();
8324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NotTailCalled:
8325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NotTailCalledAttr>(this)->getSpelling();
8326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureKind:
8327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureKindAttr>(this)->getSpelling();
8328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureNoInit:
8329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureNoInitAttr>(this)->getSpelling();
8330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareSimdDecl:
8331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareSimdDeclAttr>(this)->getSpelling();
8332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareTargetDecl:
8333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareTargetDeclAttr>(this)->getSpelling();
8334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPThreadPrivateDecl:
8335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPThreadPrivateDeclAttr>(this)->getSpelling();
8336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBoxable:
8337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBoxableAttr>(this)->getSpelling();
8338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridge:
8339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeAttr>(this)->getSpelling();
8340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeMutable:
8341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeMutableAttr>(this)->getSpelling();
8342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeRelated:
8343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeRelatedAttr>(this)->getSpelling();
8344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCDesignatedInitializer:
8345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCDesignatedInitializerAttr>(this)->getSpelling();
8346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCException:
8347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExceptionAttr>(this)->getSpelling();
8348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCExplicitProtocolImpl:
8349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExplicitProtocolImplAttr>(this)->getSpelling();
8350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCIndependentClass:
8351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCIndependentClassAttr>(this)->getSpelling();
8352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCMethodFamily:
8353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCMethodFamilyAttr>(this)->getSpelling();
8354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCNSObject:
8355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCNSObjectAttr>(this)->getSpelling();
8356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCPreciseLifetime:
8357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCPreciseLifetimeAttr>(this)->getSpelling();
8358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresPropertyDefs:
8359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresPropertyDefsAttr>(this)->getSpelling();
8360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresSuper:
8361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresSuperAttr>(this)->getSpelling();
8362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCReturnsInnerPointer:
8363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCReturnsInnerPointerAttr>(this)->getSpelling();
8364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRootClass:
8365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRootClassAttr>(this)->getSpelling();
8366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeName:
8367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeNameAttr>(this)->getSpelling();
8368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeVisible:
8369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeVisibleAttr>(this)->getSpelling();
8370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCSubclassingRestricted:
8371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCSubclassingRestrictedAttr>(this)->getSpelling();
8372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLAccess:
8373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLAccessAttr>(this)->getSpelling();
8374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLIntelReqdSubGroupSize:
8375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLIntelReqdSubGroupSizeAttr>(this)->getSpelling();
8376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLKernel:
8377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLKernelAttr>(this)->getSpelling();
8378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLUnrollHint:
8379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLUnrollHintAttr>(this)->getSpelling();
8380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OptimizeNone:
8381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OptimizeNoneAttr>(this)->getSpelling();
8382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Overloadable:
8383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverloadableAttr>(this)->getSpelling();
8384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Override:
8385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverrideAttr>(this)->getSpelling();
8386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Ownership:
8387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OwnershipAttr>(this)->getSpelling();
8388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Packed:
8389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PackedAttr>(this)->getSpelling();
8390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ParamTypestate:
8391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ParamTypestateAttr>(this)->getSpelling();
8392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pascal:
8393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PascalAttr>(this)->getSpelling();
8394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PassObjectSize:
8395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PassObjectSizeAttr>(this)->getSpelling();
8396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pcs:
8397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PcsAttr>(this)->getSpelling();
8398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangBSSSection:
8399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangBSSSectionAttr>(this)->getSpelling();
8400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangDataSection:
8401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangDataSectionAttr>(this)->getSpelling();
8402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangRodataSection:
8403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangRodataSectionAttr>(this)->getSpelling();
8404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangTextSection:
8405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangTextSectionAttr>(this)->getSpelling();
8406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveAll:
8407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveAllAttr>(this)->getSpelling();
8408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveMost:
8409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveMostAttr>(this)->getSpelling();
8410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedBy:
8411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedByAttr>(this)->getSpelling();
8412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedVar:
8413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedVarAttr>(this)->getSpelling();
8414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pure:
8415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PureAttr>(this)->getSpelling();
8416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RegCall:
8417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RegCallAttr>(this)->getSpelling();
8418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReleaseCapability:
8419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReleaseCapabilityAttr>(this)->getSpelling();
8420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RenderScriptKernel:
8421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RenderScriptKernelAttr>(this)->getSpelling();
8422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReqdWorkGroupSize:
8423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReqdWorkGroupSizeAttr>(this)->getSpelling();
8424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequireConstantInit:
8425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequireConstantInitAttr>(this)->getSpelling();
8426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequiresCapability:
8427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequiresCapabilityAttr>(this)->getSpelling();
8428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Restrict:
8429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RestrictAttr>(this)->getSpelling();
8430c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnTypestate:
8431c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnTypestateAttr>(this)->getSpelling();
8432c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsNonNull:
8433c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsNonNullAttr>(this)->getSpelling();
8434c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsTwice:
8435c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsTwiceAttr>(this)->getSpelling();
8436c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ScopedLockable:
8437c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ScopedLockableAttr>(this)->getSpelling();
8438c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Section:
8439c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SectionAttr>(this)->getSpelling();
8440c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SelectAny:
8441c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SelectAnyAttr>(this)->getSpelling();
8442c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Sentinel:
8443c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SentinelAttr>(this)->getSpelling();
8444c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SetTypestate:
8445c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SetTypestateAttr>(this)->getSpelling();
8446c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SharedTrylockFunction:
8447c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SharedTrylockFunctionAttr>(this)->getSpelling();
8448c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::StdCall:
8449c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<StdCallAttr>(this)->getSpelling();
8450c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Suppress:
8451c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SuppressAttr>(this)->getSpelling();
8452c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftCall:
8453c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftCallAttr>(this)->getSpelling();
8454c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftContext:
8455c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftContextAttr>(this)->getSpelling();
8456c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftErrorResult:
8457c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftErrorResultAttr>(this)->getSpelling();
8458c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftIndirectResult:
8459c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftIndirectResultAttr>(this)->getSpelling();
8460c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SysVABI:
8461c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SysVABIAttr>(this)->getSpelling();
8462c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TLSModel:
8463c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TLSModelAttr>(this)->getSpelling();
8464c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Target:
8465c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TargetAttr>(this)->getSpelling();
8466c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TestTypestate:
8467c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TestTypestateAttr>(this)->getSpelling();
8468c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ThisCall:
8469c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThisCallAttr>(this)->getSpelling();
8470c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Thread:
8471c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThreadAttr>(this)->getSpelling();
8472c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TransparentUnion:
8473c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TransparentUnionAttr>(this)->getSpelling();
8474c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TryAcquireCapability:
8475c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TryAcquireCapabilityAttr>(this)->getSpelling();
8476c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeTagForDatatype:
8477c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeTagForDatatypeAttr>(this)->getSpelling();
8478c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeVisibility:
8479c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeVisibilityAttr>(this)->getSpelling();
8480c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unavailable:
8481c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnavailableAttr>(this)->getSpelling();
8482c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unused:
8483c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnusedAttr>(this)->getSpelling();
8484c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Used:
8485c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UsedAttr>(this)->getSpelling();
8486c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Uuid:
8487c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UuidAttr>(this)->getSpelling();
8488c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecReturn:
8489c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecReturnAttr>(this)->getSpelling();
8490c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecTypeHint:
8491c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecTypeHintAttr>(this)->getSpelling();
8492c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VectorCall:
8493c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VectorCallAttr>(this)->getSpelling();
8494c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Visibility:
8495c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VisibilityAttr>(this)->getSpelling();
8496c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnused:
8497c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedAttr>(this)->getSpelling();
8498c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnusedResult:
8499c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedResultAttr>(this)->getSpelling();
8500c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Weak:
8501c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakAttr>(this)->getSpelling();
8502c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakImport:
8503c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakImportAttr>(this)->getSpelling();
8504c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakRef:
8505c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakRefAttr>(this)->getSpelling();
8506c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WorkGroupSizeHint:
8507c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WorkGroupSizeHintAttr>(this)->getSpelling();
8508c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::X86ForceAlignArgPointer:
8509c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<X86ForceAlignArgPointerAttr>(this)->getSpelling();
8510c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayInstrument:
8511c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayInstrumentAttr>(this)->getSpelling();
8512c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayLogArgs:
8513c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayLogArgsAttr>(this)->getSpelling();
8514c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8515c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  llvm_unreachable("Unexpected attribute kind!");
8516c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8517c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8518c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team RobotAttr *Attr::clone(ASTContext &C) const {
8519c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (getKind()) {
8520c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUFlatWorkGroupSize:
8521c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUFlatWorkGroupSizeAttr>(this)->clone(C);
8522c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumSGPR:
8523c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumSGPRAttr>(this)->clone(C);
8524c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumVGPR:
8525c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumVGPRAttr>(this)->clone(C);
8526c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUWavesPerEU:
8527c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUWavesPerEUAttr>(this)->clone(C);
8528c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ARMInterrupt:
8529c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ARMInterruptAttr>(this)->clone(C);
8530c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRInterrupt:
8531c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRInterruptAttr>(this)->clone(C);
8532c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRSignal:
8533c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRSignalAttr>(this)->clone(C);
8534c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AbiTag:
8535c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AbiTagAttr>(this)->clone(C);
8536c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquireCapability:
8537c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquireCapabilityAttr>(this)->clone(C);
8538c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredAfter:
8539c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredAfterAttr>(this)->clone(C);
8540c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredBefore:
8541c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredBeforeAttr>(this)->clone(C);
8542c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Alias:
8543c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AliasAttr>(this)->clone(C);
8544c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignMac68k:
8545c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignMac68kAttr>(this)->clone(C);
8546c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignValue:
8547c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignValueAttr>(this)->clone(C);
8548c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Aligned:
8549c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignedAttr>(this)->clone(C);
8550c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocAlign:
8551c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocAlignAttr>(this)->clone(C);
8552c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocSize:
8553c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocSizeAttr>(this)->clone(C);
8554c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlwaysInline:
8555c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlwaysInlineAttr>(this)->clone(C);
8556c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnalyzerNoReturn:
8557c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnalyzerNoReturnAttr>(this)->clone(C);
8558c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Annotate:
8559c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnnotateAttr>(this)->clone(C);
8560c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86Interrupt:
8561c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86InterruptAttr>(this)->clone(C);
8562c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86NoCallerSavedRegisters:
8563c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86NoCallerSavedRegistersAttr>(this)->clone(C);
8564c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArcWeakrefUnavailable:
8565c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArcWeakrefUnavailableAttr>(this)->clone(C);
8566c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArgumentWithTypeTag:
8567c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArgumentWithTypeTagAttr>(this)->clone(C);
8568c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AsmLabel:
8569c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AsmLabelAttr>(this)->clone(C);
8570c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertCapability:
8571c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertCapabilityAttr>(this)->clone(C);
8572c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertExclusiveLock:
8573c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertExclusiveLockAttr>(this)->clone(C);
8574c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertSharedLock:
8575c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertSharedLockAttr>(this)->clone(C);
8576c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssumeAligned:
8577c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssumeAlignedAttr>(this)->clone(C);
8578c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Availability:
8579c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AvailabilityAttr>(this)->clone(C);
8580c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Blocks:
8581c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<BlocksAttr>(this)->clone(C);
8582c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::C11NoReturn:
8583c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<C11NoReturnAttr>(this)->clone(C);
8584c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CDecl:
8585c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CDeclAttr>(this)->clone(C);
8586c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFAuditedTransfer:
8587c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFAuditedTransferAttr>(this)->clone(C);
8588c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFConsumed:
8589c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFConsumedAttr>(this)->clone(C);
8590c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsNotRetained:
8591c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsNotRetainedAttr>(this)->clone(C);
8592c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsRetained:
8593c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsRetainedAttr>(this)->clone(C);
8594c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFUnknownTransfer:
8595c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFUnknownTransferAttr>(this)->clone(C);
8596c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAConstant:
8597c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAConstantAttr>(this)->clone(C);
8598c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDADevice:
8599c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDADeviceAttr>(this)->clone(C);
8600c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAGlobal:
8601c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAGlobalAttr>(this)->clone(C);
8602c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAHost:
8603c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAHostAttr>(this)->clone(C);
8604c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAInvalidTarget:
8605c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAInvalidTargetAttr>(this)->clone(C);
8606c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDALaunchBounds:
8607c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDALaunchBoundsAttr>(this)->clone(C);
8608c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAShared:
8609c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDASharedAttr>(this)->clone(C);
8610c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CXX11NoReturn:
8611c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CXX11NoReturnAttr>(this)->clone(C);
8612c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CallableWhen:
8613c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CallableWhenAttr>(this)->clone(C);
8614c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Capability:
8615c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapabilityAttr>(this)->clone(C);
8616c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CapturedRecord:
8617c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapturedRecordAttr>(this)->clone(C);
8618c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CarriesDependency:
8619c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CarriesDependencyAttr>(this)->clone(C);
8620c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cleanup:
8621c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CleanupAttr>(this)->clone(C);
8622c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cold:
8623c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ColdAttr>(this)->clone(C);
8624c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Common:
8625c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CommonAttr>(this)->clone(C);
8626c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Const:
8627c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstAttr>(this)->clone(C);
8628c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Constructor:
8629c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstructorAttr>(this)->clone(C);
8630c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Consumable:
8631c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAttr>(this)->clone(C);
8632c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableAutoCast:
8633c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAutoCastAttr>(this)->clone(C);
8634c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableSetOnRead:
8635c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableSetOnReadAttr>(this)->clone(C);
8636c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Convergent:
8637c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConvergentAttr>(this)->clone(C);
8638c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLExport:
8639c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLExportAttr>(this)->clone(C);
8640c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLImport:
8641c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLImportAttr>(this)->clone(C);
8642c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Deprecated:
8643c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DeprecatedAttr>(this)->clone(C);
8644c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Destructor:
8645c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DestructorAttr>(this)->clone(C);
8646c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DiagnoseIf:
8647c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DiagnoseIfAttr>(this)->clone(C);
8648c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DisableTailCalls:
8649c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DisableTailCallsAttr>(this)->clone(C);
8650c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EmptyBases:
8651c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EmptyBasesAttr>(this)->clone(C);
8652c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnableIf:
8653c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnableIfAttr>(this)->clone(C);
8654c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnumExtensibility:
8655c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnumExtensibilityAttr>(this)->clone(C);
8656c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExclusiveTrylockFunction:
8657c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExclusiveTrylockFunctionAttr>(this)->clone(C);
8658c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExternalSourceSymbol:
8659c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExternalSourceSymbolAttr>(this)->clone(C);
8660c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FallThrough:
8661c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FallThroughAttr>(this)->clone(C);
8662c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FastCall:
8663c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FastCallAttr>(this)->clone(C);
8664c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Final:
8665c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FinalAttr>(this)->clone(C);
8666c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FlagEnum:
8667c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlagEnumAttr>(this)->clone(C);
8668c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Flatten:
8669c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlattenAttr>(this)->clone(C);
8670c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Format:
8671c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatAttr>(this)->clone(C);
8672c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FormatArg:
8673c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatArgAttr>(this)->clone(C);
8674c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GNUInline:
8675c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GNUInlineAttr>(this)->clone(C);
8676c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedBy:
8677c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedByAttr>(this)->clone(C);
8678c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedVar:
8679c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedVarAttr>(this)->clone(C);
8680c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Hot:
8681c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<HotAttr>(this)->clone(C);
8682c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBAction:
8683c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBActionAttr>(this)->clone(C);
8684c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutlet:
8685c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletAttr>(this)->clone(C);
8686c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutletCollection:
8687c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletCollectionAttr>(this)->clone(C);
8688c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IFunc:
8689c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IFuncAttr>(this)->clone(C);
8690c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitPriority:
8691c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitPriorityAttr>(this)->clone(C);
8692c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitSeg:
8693c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitSegAttr>(this)->clone(C);
8694c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IntelOclBicc:
8695c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IntelOclBiccAttr>(this)->clone(C);
8696c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InternalLinkage:
8697c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InternalLinkageAttr>(this)->clone(C);
8698c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LTOVisibilityPublic:
8699c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LTOVisibilityPublicAttr>(this)->clone(C);
8700c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LayoutVersion:
8701c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LayoutVersionAttr>(this)->clone(C);
8702c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LockReturned:
8703c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LockReturnedAttr>(this)->clone(C);
8704c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LocksExcluded:
8705c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LocksExcludedAttr>(this)->clone(C);
8706c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LoopHint:
8707c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LoopHintAttr>(this)->clone(C);
8708c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSABI:
8709c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSABIAttr>(this)->clone(C);
8710c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSInheritance:
8711c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSInheritanceAttr>(this)->clone(C);
8712c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSNoVTable:
8713c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSNoVTableAttr>(this)->clone(C);
8714c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSP430Interrupt:
8715c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSP430InterruptAttr>(this)->clone(C);
8716c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSStruct:
8717c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSStructAttr>(this)->clone(C);
8718c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSVtorDisp:
8719c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSVtorDispAttr>(this)->clone(C);
8720c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MaxFieldAlignment:
8721c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MaxFieldAlignmentAttr>(this)->clone(C);
8722c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MayAlias:
8723c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MayAliasAttr>(this)->clone(C);
8724c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MicroMips:
8725c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MicroMipsAttr>(this)->clone(C);
8726c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MinSize:
8727c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MinSizeAttr>(this)->clone(C);
8728c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mips16:
8729c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<Mips16Attr>(this)->clone(C);
8730c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsInterrupt:
8731c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsInterruptAttr>(this)->clone(C);
8732c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsLongCall:
8733c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsLongCallAttr>(this)->clone(C);
8734c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsShortCall:
8735c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsShortCallAttr>(this)->clone(C);
8736c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mode:
8737c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ModeAttr>(this)->clone(C);
8738c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumed:
8739c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumedAttr>(this)->clone(C);
8740c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumesSelf:
8741c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumesSelfAttr>(this)->clone(C);
8742c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsAutoreleased:
8743c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsAutoreleasedAttr>(this)->clone(C);
8744c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsNotRetained:
8745c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsNotRetainedAttr>(this)->clone(C);
8746c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsRetained:
8747c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsRetainedAttr>(this)->clone(C);
8748c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Naked:
8749c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NakedAttr>(this)->clone(C);
8750c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoAlias:
8751c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoAliasAttr>(this)->clone(C);
8752c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoCommon:
8753c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoCommonAttr>(this)->clone(C);
8754c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDebug:
8755c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDebugAttr>(this)->clone(C);
8756c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDuplicate:
8757c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDuplicateAttr>(this)->clone(C);
8758c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoEscape:
8759c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoEscapeAttr>(this)->clone(C);
8760c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInline:
8761c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInlineAttr>(this)->clone(C);
8762c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInstrumentFunction:
8763c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInstrumentFunctionAttr>(this)->clone(C);
8764c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMicroMips:
8765c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMicroMipsAttr>(this)->clone(C);
8766c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMips16:
8767c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMips16Attr>(this)->clone(C);
8768c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoReturn:
8769c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoReturnAttr>(this)->clone(C);
8770c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSanitize:
8771c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSanitizeAttr>(this)->clone(C);
8772c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSplitStack:
8773c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSplitStackAttr>(this)->clone(C);
8774c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThreadSafetyAnalysis:
8775c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThreadSafetyAnalysisAttr>(this)->clone(C);
8776c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThrow:
8777c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThrowAttr>(this)->clone(C);
8778c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NonNull:
8779c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NonNullAttr>(this)->clone(C);
8780c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NotTailCalled:
8781c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NotTailCalledAttr>(this)->clone(C);
8782c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureKind:
8783c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureKindAttr>(this)->clone(C);
8784c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureNoInit:
8785c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureNoInitAttr>(this)->clone(C);
8786c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareSimdDecl:
8787c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareSimdDeclAttr>(this)->clone(C);
8788c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareTargetDecl:
8789c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareTargetDeclAttr>(this)->clone(C);
8790c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPThreadPrivateDecl:
8791c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPThreadPrivateDeclAttr>(this)->clone(C);
8792c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBoxable:
8793c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBoxableAttr>(this)->clone(C);
8794c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridge:
8795c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeAttr>(this)->clone(C);
8796c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeMutable:
8797c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeMutableAttr>(this)->clone(C);
8798c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeRelated:
8799c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeRelatedAttr>(this)->clone(C);
8800c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCDesignatedInitializer:
8801c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCDesignatedInitializerAttr>(this)->clone(C);
8802c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCException:
8803c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExceptionAttr>(this)->clone(C);
8804c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCExplicitProtocolImpl:
8805c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExplicitProtocolImplAttr>(this)->clone(C);
8806c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCIndependentClass:
8807c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCIndependentClassAttr>(this)->clone(C);
8808c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCMethodFamily:
8809c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCMethodFamilyAttr>(this)->clone(C);
8810c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCNSObject:
8811c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCNSObjectAttr>(this)->clone(C);
8812c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCPreciseLifetime:
8813c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCPreciseLifetimeAttr>(this)->clone(C);
8814c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresPropertyDefs:
8815c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresPropertyDefsAttr>(this)->clone(C);
8816c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresSuper:
8817c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresSuperAttr>(this)->clone(C);
8818c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCReturnsInnerPointer:
8819c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCReturnsInnerPointerAttr>(this)->clone(C);
8820c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRootClass:
8821c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRootClassAttr>(this)->clone(C);
8822c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeName:
8823c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeNameAttr>(this)->clone(C);
8824c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeVisible:
8825c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeVisibleAttr>(this)->clone(C);
8826c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCSubclassingRestricted:
8827c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCSubclassingRestrictedAttr>(this)->clone(C);
8828c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLAccess:
8829c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLAccessAttr>(this)->clone(C);
8830c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLIntelReqdSubGroupSize:
8831c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLIntelReqdSubGroupSizeAttr>(this)->clone(C);
8832c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLKernel:
8833c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLKernelAttr>(this)->clone(C);
8834c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLUnrollHint:
8835c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLUnrollHintAttr>(this)->clone(C);
8836c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OptimizeNone:
8837c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OptimizeNoneAttr>(this)->clone(C);
8838c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Overloadable:
8839c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverloadableAttr>(this)->clone(C);
8840c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Override:
8841c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverrideAttr>(this)->clone(C);
8842c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Ownership:
8843c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OwnershipAttr>(this)->clone(C);
8844c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Packed:
8845c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PackedAttr>(this)->clone(C);
8846c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ParamTypestate:
8847c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ParamTypestateAttr>(this)->clone(C);
8848c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pascal:
8849c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PascalAttr>(this)->clone(C);
8850c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PassObjectSize:
8851c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PassObjectSizeAttr>(this)->clone(C);
8852c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pcs:
8853c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PcsAttr>(this)->clone(C);
8854c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangBSSSection:
8855c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangBSSSectionAttr>(this)->clone(C);
8856c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangDataSection:
8857c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangDataSectionAttr>(this)->clone(C);
8858c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangRodataSection:
8859c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangRodataSectionAttr>(this)->clone(C);
8860c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangTextSection:
8861c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangTextSectionAttr>(this)->clone(C);
8862c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveAll:
8863c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveAllAttr>(this)->clone(C);
8864c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveMost:
8865c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveMostAttr>(this)->clone(C);
8866c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedBy:
8867c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedByAttr>(this)->clone(C);
8868c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedVar:
8869c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedVarAttr>(this)->clone(C);
8870c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pure:
8871c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PureAttr>(this)->clone(C);
8872c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RegCall:
8873c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RegCallAttr>(this)->clone(C);
8874c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReleaseCapability:
8875c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReleaseCapabilityAttr>(this)->clone(C);
8876c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RenderScriptKernel:
8877c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RenderScriptKernelAttr>(this)->clone(C);
8878c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReqdWorkGroupSize:
8879c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReqdWorkGroupSizeAttr>(this)->clone(C);
8880c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequireConstantInit:
8881c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequireConstantInitAttr>(this)->clone(C);
8882c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequiresCapability:
8883c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequiresCapabilityAttr>(this)->clone(C);
8884c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Restrict:
8885c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RestrictAttr>(this)->clone(C);
8886c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnTypestate:
8887c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnTypestateAttr>(this)->clone(C);
8888c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsNonNull:
8889c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsNonNullAttr>(this)->clone(C);
8890c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsTwice:
8891c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsTwiceAttr>(this)->clone(C);
8892c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ScopedLockable:
8893c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ScopedLockableAttr>(this)->clone(C);
8894c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Section:
8895c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SectionAttr>(this)->clone(C);
8896c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SelectAny:
8897c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SelectAnyAttr>(this)->clone(C);
8898c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Sentinel:
8899c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SentinelAttr>(this)->clone(C);
8900c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SetTypestate:
8901c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SetTypestateAttr>(this)->clone(C);
8902c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SharedTrylockFunction:
8903c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SharedTrylockFunctionAttr>(this)->clone(C);
8904c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::StdCall:
8905c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<StdCallAttr>(this)->clone(C);
8906c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Suppress:
8907c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SuppressAttr>(this)->clone(C);
8908c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftCall:
8909c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftCallAttr>(this)->clone(C);
8910c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftContext:
8911c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftContextAttr>(this)->clone(C);
8912c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftErrorResult:
8913c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftErrorResultAttr>(this)->clone(C);
8914c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftIndirectResult:
8915c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftIndirectResultAttr>(this)->clone(C);
8916c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SysVABI:
8917c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SysVABIAttr>(this)->clone(C);
8918c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TLSModel:
8919c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TLSModelAttr>(this)->clone(C);
8920c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Target:
8921c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TargetAttr>(this)->clone(C);
8922c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TestTypestate:
8923c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TestTypestateAttr>(this)->clone(C);
8924c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ThisCall:
8925c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThisCallAttr>(this)->clone(C);
8926c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Thread:
8927c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThreadAttr>(this)->clone(C);
8928c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TransparentUnion:
8929c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TransparentUnionAttr>(this)->clone(C);
8930c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TryAcquireCapability:
8931c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TryAcquireCapabilityAttr>(this)->clone(C);
8932c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeTagForDatatype:
8933c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeTagForDatatypeAttr>(this)->clone(C);
8934c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeVisibility:
8935c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeVisibilityAttr>(this)->clone(C);
8936c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unavailable:
8937c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnavailableAttr>(this)->clone(C);
8938c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unused:
8939c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnusedAttr>(this)->clone(C);
8940c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Used:
8941c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UsedAttr>(this)->clone(C);
8942c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Uuid:
8943c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UuidAttr>(this)->clone(C);
8944c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecReturn:
8945c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecReturnAttr>(this)->clone(C);
8946c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecTypeHint:
8947c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecTypeHintAttr>(this)->clone(C);
8948c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VectorCall:
8949c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VectorCallAttr>(this)->clone(C);
8950c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Visibility:
8951c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VisibilityAttr>(this)->clone(C);
8952c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnused:
8953c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedAttr>(this)->clone(C);
8954c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnusedResult:
8955c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedResultAttr>(this)->clone(C);
8956c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Weak:
8957c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakAttr>(this)->clone(C);
8958c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakImport:
8959c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakImportAttr>(this)->clone(C);
8960c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakRef:
8961c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakRefAttr>(this)->clone(C);
8962c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WorkGroupSizeHint:
8963c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WorkGroupSizeHintAttr>(this)->clone(C);
8964c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::X86ForceAlignArgPointer:
8965c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<X86ForceAlignArgPointerAttr>(this)->clone(C);
8966c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayInstrument:
8967c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayInstrumentAttr>(this)->clone(C);
8968c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayLogArgs:
8969c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayLogArgsAttr>(this)->clone(C);
8970c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
8971c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  llvm_unreachable("Unexpected attribute kind!");
8972c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
8973c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
8974c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robotvoid Attr::printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const {
8975c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  switch (getKind()) {
8976c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUFlatWorkGroupSize:
8977c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUFlatWorkGroupSizeAttr>(this)->printPretty(OS, Policy);
8978c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumSGPR:
8979c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumSGPRAttr>(this)->printPretty(OS, Policy);
8980c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUNumVGPR:
8981c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUNumVGPRAttr>(this)->printPretty(OS, Policy);
8982c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AMDGPUWavesPerEU:
8983c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AMDGPUWavesPerEUAttr>(this)->printPretty(OS, Policy);
8984c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ARMInterrupt:
8985c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ARMInterruptAttr>(this)->printPretty(OS, Policy);
8986c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRInterrupt:
8987c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRInterruptAttr>(this)->printPretty(OS, Policy);
8988c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AVRSignal:
8989c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AVRSignalAttr>(this)->printPretty(OS, Policy);
8990c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AbiTag:
8991c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AbiTagAttr>(this)->printPretty(OS, Policy);
8992c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquireCapability:
8993c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquireCapabilityAttr>(this)->printPretty(OS, Policy);
8994c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredAfter:
8995c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredAfterAttr>(this)->printPretty(OS, Policy);
8996c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AcquiredBefore:
8997c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AcquiredBeforeAttr>(this)->printPretty(OS, Policy);
8998c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Alias:
8999c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AliasAttr>(this)->printPretty(OS, Policy);
9000c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignMac68k:
9001c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignMac68kAttr>(this)->printPretty(OS, Policy);
9002c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlignValue:
9003c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignValueAttr>(this)->printPretty(OS, Policy);
9004c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Aligned:
9005c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlignedAttr>(this)->printPretty(OS, Policy);
9006c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocAlign:
9007c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocAlignAttr>(this)->printPretty(OS, Policy);
9008c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AllocSize:
9009c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AllocSizeAttr>(this)->printPretty(OS, Policy);
9010c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AlwaysInline:
9011c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AlwaysInlineAttr>(this)->printPretty(OS, Policy);
9012c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnalyzerNoReturn:
9013c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnalyzerNoReturnAttr>(this)->printPretty(OS, Policy);
9014c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Annotate:
9015c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnnotateAttr>(this)->printPretty(OS, Policy);
9016c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86Interrupt:
9017c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86InterruptAttr>(this)->printPretty(OS, Policy);
9018c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AnyX86NoCallerSavedRegisters:
9019c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AnyX86NoCallerSavedRegistersAttr>(this)->printPretty(OS, Policy);
9020c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArcWeakrefUnavailable:
9021c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArcWeakrefUnavailableAttr>(this)->printPretty(OS, Policy);
9022c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ArgumentWithTypeTag:
9023c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ArgumentWithTypeTagAttr>(this)->printPretty(OS, Policy);
9024c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AsmLabel:
9025c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AsmLabelAttr>(this)->printPretty(OS, Policy);
9026c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertCapability:
9027c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertCapabilityAttr>(this)->printPretty(OS, Policy);
9028c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertExclusiveLock:
9029c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertExclusiveLockAttr>(this)->printPretty(OS, Policy);
9030c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssertSharedLock:
9031c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssertSharedLockAttr>(this)->printPretty(OS, Policy);
9032c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::AssumeAligned:
9033c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AssumeAlignedAttr>(this)->printPretty(OS, Policy);
9034c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Availability:
9035c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<AvailabilityAttr>(this)->printPretty(OS, Policy);
9036c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Blocks:
9037c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<BlocksAttr>(this)->printPretty(OS, Policy);
9038c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::C11NoReturn:
9039c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<C11NoReturnAttr>(this)->printPretty(OS, Policy);
9040c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CDecl:
9041c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CDeclAttr>(this)->printPretty(OS, Policy);
9042c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFAuditedTransfer:
9043c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFAuditedTransferAttr>(this)->printPretty(OS, Policy);
9044c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFConsumed:
9045c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFConsumedAttr>(this)->printPretty(OS, Policy);
9046c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsNotRetained:
9047c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsNotRetainedAttr>(this)->printPretty(OS, Policy);
9048c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFReturnsRetained:
9049c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFReturnsRetainedAttr>(this)->printPretty(OS, Policy);
9050c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CFUnknownTransfer:
9051c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CFUnknownTransferAttr>(this)->printPretty(OS, Policy);
9052c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAConstant:
9053c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAConstantAttr>(this)->printPretty(OS, Policy);
9054c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDADevice:
9055c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDADeviceAttr>(this)->printPretty(OS, Policy);
9056c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAGlobal:
9057c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAGlobalAttr>(this)->printPretty(OS, Policy);
9058c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAHost:
9059c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAHostAttr>(this)->printPretty(OS, Policy);
9060c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAInvalidTarget:
9061c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDAInvalidTargetAttr>(this)->printPretty(OS, Policy);
9062c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDALaunchBounds:
9063c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDALaunchBoundsAttr>(this)->printPretty(OS, Policy);
9064c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CUDAShared:
9065c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CUDASharedAttr>(this)->printPretty(OS, Policy);
9066c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CXX11NoReturn:
9067c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CXX11NoReturnAttr>(this)->printPretty(OS, Policy);
9068c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CallableWhen:
9069c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CallableWhenAttr>(this)->printPretty(OS, Policy);
9070c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Capability:
9071c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapabilityAttr>(this)->printPretty(OS, Policy);
9072c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CapturedRecord:
9073c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CapturedRecordAttr>(this)->printPretty(OS, Policy);
9074c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::CarriesDependency:
9075c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CarriesDependencyAttr>(this)->printPretty(OS, Policy);
9076c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cleanup:
9077c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CleanupAttr>(this)->printPretty(OS, Policy);
9078c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Cold:
9079c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ColdAttr>(this)->printPretty(OS, Policy);
9080c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Common:
9081c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<CommonAttr>(this)->printPretty(OS, Policy);
9082c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Const:
9083c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstAttr>(this)->printPretty(OS, Policy);
9084c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Constructor:
9085c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConstructorAttr>(this)->printPretty(OS, Policy);
9086c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Consumable:
9087c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAttr>(this)->printPretty(OS, Policy);
9088c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableAutoCast:
9089c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableAutoCastAttr>(this)->printPretty(OS, Policy);
9090c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ConsumableSetOnRead:
9091c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConsumableSetOnReadAttr>(this)->printPretty(OS, Policy);
9092c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Convergent:
9093c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ConvergentAttr>(this)->printPretty(OS, Policy);
9094c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLExport:
9095c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLExportAttr>(this)->printPretty(OS, Policy);
9096c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DLLImport:
9097c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DLLImportAttr>(this)->printPretty(OS, Policy);
9098c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Deprecated:
9099c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DeprecatedAttr>(this)->printPretty(OS, Policy);
9100c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Destructor:
9101c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DestructorAttr>(this)->printPretty(OS, Policy);
9102c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DiagnoseIf:
9103c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DiagnoseIfAttr>(this)->printPretty(OS, Policy);
9104c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::DisableTailCalls:
9105c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<DisableTailCallsAttr>(this)->printPretty(OS, Policy);
9106c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EmptyBases:
9107c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EmptyBasesAttr>(this)->printPretty(OS, Policy);
9108c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnableIf:
9109c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnableIfAttr>(this)->printPretty(OS, Policy);
9110c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::EnumExtensibility:
9111c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<EnumExtensibilityAttr>(this)->printPretty(OS, Policy);
9112c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExclusiveTrylockFunction:
9113c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExclusiveTrylockFunctionAttr>(this)->printPretty(OS, Policy);
9114c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ExternalSourceSymbol:
9115c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ExternalSourceSymbolAttr>(this)->printPretty(OS, Policy);
9116c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FallThrough:
9117c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FallThroughAttr>(this)->printPretty(OS, Policy);
9118c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FastCall:
9119c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FastCallAttr>(this)->printPretty(OS, Policy);
9120c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Final:
9121c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FinalAttr>(this)->printPretty(OS, Policy);
9122c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FlagEnum:
9123c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlagEnumAttr>(this)->printPretty(OS, Policy);
9124c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Flatten:
9125c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FlattenAttr>(this)->printPretty(OS, Policy);
9126c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Format:
9127c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatAttr>(this)->printPretty(OS, Policy);
9128c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::FormatArg:
9129c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<FormatArgAttr>(this)->printPretty(OS, Policy);
9130c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GNUInline:
9131c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GNUInlineAttr>(this)->printPretty(OS, Policy);
9132c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedBy:
9133c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedByAttr>(this)->printPretty(OS, Policy);
9134c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::GuardedVar:
9135c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<GuardedVarAttr>(this)->printPretty(OS, Policy);
9136c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Hot:
9137c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<HotAttr>(this)->printPretty(OS, Policy);
9138c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBAction:
9139c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBActionAttr>(this)->printPretty(OS, Policy);
9140c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutlet:
9141c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletAttr>(this)->printPretty(OS, Policy);
9142c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IBOutletCollection:
9143c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IBOutletCollectionAttr>(this)->printPretty(OS, Policy);
9144c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IFunc:
9145c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IFuncAttr>(this)->printPretty(OS, Policy);
9146c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitPriority:
9147c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitPriorityAttr>(this)->printPretty(OS, Policy);
9148c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InitSeg:
9149c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InitSegAttr>(this)->printPretty(OS, Policy);
9150c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::IntelOclBicc:
9151c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<IntelOclBiccAttr>(this)->printPretty(OS, Policy);
9152c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::InternalLinkage:
9153c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<InternalLinkageAttr>(this)->printPretty(OS, Policy);
9154c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LTOVisibilityPublic:
9155c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LTOVisibilityPublicAttr>(this)->printPretty(OS, Policy);
9156c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LayoutVersion:
9157c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LayoutVersionAttr>(this)->printPretty(OS, Policy);
9158c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LockReturned:
9159c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LockReturnedAttr>(this)->printPretty(OS, Policy);
9160c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LocksExcluded:
9161c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LocksExcludedAttr>(this)->printPretty(OS, Policy);
9162c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::LoopHint:
9163c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<LoopHintAttr>(this)->printPretty(OS, Policy);
9164c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSABI:
9165c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSABIAttr>(this)->printPretty(OS, Policy);
9166c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSInheritance:
9167c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSInheritanceAttr>(this)->printPretty(OS, Policy);
9168c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSNoVTable:
9169c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSNoVTableAttr>(this)->printPretty(OS, Policy);
9170c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSP430Interrupt:
9171c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSP430InterruptAttr>(this)->printPretty(OS, Policy);
9172c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSStruct:
9173c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSStructAttr>(this)->printPretty(OS, Policy);
9174c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MSVtorDisp:
9175c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MSVtorDispAttr>(this)->printPretty(OS, Policy);
9176c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MaxFieldAlignment:
9177c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MaxFieldAlignmentAttr>(this)->printPretty(OS, Policy);
9178c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MayAlias:
9179c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MayAliasAttr>(this)->printPretty(OS, Policy);
9180c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MicroMips:
9181c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MicroMipsAttr>(this)->printPretty(OS, Policy);
9182c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MinSize:
9183c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MinSizeAttr>(this)->printPretty(OS, Policy);
9184c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mips16:
9185c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<Mips16Attr>(this)->printPretty(OS, Policy);
9186c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsInterrupt:
9187c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsInterruptAttr>(this)->printPretty(OS, Policy);
9188c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsLongCall:
9189c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsLongCallAttr>(this)->printPretty(OS, Policy);
9190c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::MipsShortCall:
9191c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<MipsShortCallAttr>(this)->printPretty(OS, Policy);
9192c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Mode:
9193c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ModeAttr>(this)->printPretty(OS, Policy);
9194c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumed:
9195c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumedAttr>(this)->printPretty(OS, Policy);
9196c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSConsumesSelf:
9197c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSConsumesSelfAttr>(this)->printPretty(OS, Policy);
9198c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsAutoreleased:
9199c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsAutoreleasedAttr>(this)->printPretty(OS, Policy);
9200c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsNotRetained:
9201c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsNotRetainedAttr>(this)->printPretty(OS, Policy);
9202c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NSReturnsRetained:
9203c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NSReturnsRetainedAttr>(this)->printPretty(OS, Policy);
9204c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Naked:
9205c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NakedAttr>(this)->printPretty(OS, Policy);
9206c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoAlias:
9207c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoAliasAttr>(this)->printPretty(OS, Policy);
9208c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoCommon:
9209c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoCommonAttr>(this)->printPretty(OS, Policy);
9210c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDebug:
9211c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDebugAttr>(this)->printPretty(OS, Policy);
9212c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoDuplicate:
9213c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoDuplicateAttr>(this)->printPretty(OS, Policy);
9214c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoEscape:
9215c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoEscapeAttr>(this)->printPretty(OS, Policy);
9216c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInline:
9217c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInlineAttr>(this)->printPretty(OS, Policy);
9218c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoInstrumentFunction:
9219c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoInstrumentFunctionAttr>(this)->printPretty(OS, Policy);
9220c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMicroMips:
9221c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMicroMipsAttr>(this)->printPretty(OS, Policy);
9222c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoMips16:
9223c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoMips16Attr>(this)->printPretty(OS, Policy);
9224c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoReturn:
9225c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoReturnAttr>(this)->printPretty(OS, Policy);
9226c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSanitize:
9227c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSanitizeAttr>(this)->printPretty(OS, Policy);
9228c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoSplitStack:
9229c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoSplitStackAttr>(this)->printPretty(OS, Policy);
9230c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThreadSafetyAnalysis:
9231c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThreadSafetyAnalysisAttr>(this)->printPretty(OS, Policy);
9232c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NoThrow:
9233c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NoThrowAttr>(this)->printPretty(OS, Policy);
9234c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NonNull:
9235c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NonNullAttr>(this)->printPretty(OS, Policy);
9236c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::NotTailCalled:
9237c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<NotTailCalledAttr>(this)->printPretty(OS, Policy);
9238c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureKind:
9239c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureKindAttr>(this)->printPretty(OS, Policy);
9240c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPCaptureNoInit:
9241c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPCaptureNoInitAttr>(this)->printPretty(OS, Policy);
9242c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareSimdDecl:
9243c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareSimdDeclAttr>(this)->printPretty(OS, Policy);
9244c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPDeclareTargetDecl:
9245c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPDeclareTargetDeclAttr>(this)->printPretty(OS, Policy);
9246c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OMPThreadPrivateDecl:
9247c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OMPThreadPrivateDeclAttr>(this)->printPretty(OS, Policy);
9248c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBoxable:
9249c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBoxableAttr>(this)->printPretty(OS, Policy);
9250c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridge:
9251c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeAttr>(this)->printPretty(OS, Policy);
9252c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeMutable:
9253c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeMutableAttr>(this)->printPretty(OS, Policy);
9254c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCBridgeRelated:
9255c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCBridgeRelatedAttr>(this)->printPretty(OS, Policy);
9256c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCDesignatedInitializer:
9257c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCDesignatedInitializerAttr>(this)->printPretty(OS, Policy);
9258c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCException:
9259c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExceptionAttr>(this)->printPretty(OS, Policy);
9260c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCExplicitProtocolImpl:
9261c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCExplicitProtocolImplAttr>(this)->printPretty(OS, Policy);
9262c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCIndependentClass:
9263c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCIndependentClassAttr>(this)->printPretty(OS, Policy);
9264c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCMethodFamily:
9265c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCMethodFamilyAttr>(this)->printPretty(OS, Policy);
9266c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCNSObject:
9267c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCNSObjectAttr>(this)->printPretty(OS, Policy);
9268c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCPreciseLifetime:
9269c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCPreciseLifetimeAttr>(this)->printPretty(OS, Policy);
9270c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresPropertyDefs:
9271c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresPropertyDefsAttr>(this)->printPretty(OS, Policy);
9272c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRequiresSuper:
9273c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRequiresSuperAttr>(this)->printPretty(OS, Policy);
9274c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCReturnsInnerPointer:
9275c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCReturnsInnerPointerAttr>(this)->printPretty(OS, Policy);
9276c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRootClass:
9277c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRootClassAttr>(this)->printPretty(OS, Policy);
9278c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeName:
9279c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeNameAttr>(this)->printPretty(OS, Policy);
9280c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCRuntimeVisible:
9281c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCRuntimeVisibleAttr>(this)->printPretty(OS, Policy);
9282c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ObjCSubclassingRestricted:
9283c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ObjCSubclassingRestrictedAttr>(this)->printPretty(OS, Policy);
9284c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLAccess:
9285c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLAccessAttr>(this)->printPretty(OS, Policy);
9286c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLIntelReqdSubGroupSize:
9287c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLIntelReqdSubGroupSizeAttr>(this)->printPretty(OS, Policy);
9288c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLKernel:
9289c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLKernelAttr>(this)->printPretty(OS, Policy);
9290c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OpenCLUnrollHint:
9291c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OpenCLUnrollHintAttr>(this)->printPretty(OS, Policy);
9292c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::OptimizeNone:
9293c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OptimizeNoneAttr>(this)->printPretty(OS, Policy);
9294c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Overloadable:
9295c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverloadableAttr>(this)->printPretty(OS, Policy);
9296c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Override:
9297c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OverrideAttr>(this)->printPretty(OS, Policy);
9298c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Ownership:
9299c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<OwnershipAttr>(this)->printPretty(OS, Policy);
9300c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Packed:
9301c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PackedAttr>(this)->printPretty(OS, Policy);
9302c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ParamTypestate:
9303c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ParamTypestateAttr>(this)->printPretty(OS, Policy);
9304c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pascal:
9305c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PascalAttr>(this)->printPretty(OS, Policy);
9306c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PassObjectSize:
9307c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PassObjectSizeAttr>(this)->printPretty(OS, Policy);
9308c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pcs:
9309c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PcsAttr>(this)->printPretty(OS, Policy);
9310c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangBSSSection:
9311c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangBSSSectionAttr>(this)->printPretty(OS, Policy);
9312c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangDataSection:
9313c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangDataSectionAttr>(this)->printPretty(OS, Policy);
9314c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangRodataSection:
9315c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangRodataSectionAttr>(this)->printPretty(OS, Policy);
9316c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PragmaClangTextSection:
9317c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PragmaClangTextSectionAttr>(this)->printPretty(OS, Policy);
9318c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveAll:
9319c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveAllAttr>(this)->printPretty(OS, Policy);
9320c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PreserveMost:
9321c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PreserveMostAttr>(this)->printPretty(OS, Policy);
9322c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedBy:
9323c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedByAttr>(this)->printPretty(OS, Policy);
9324c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::PtGuardedVar:
9325c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PtGuardedVarAttr>(this)->printPretty(OS, Policy);
9326c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Pure:
9327c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<PureAttr>(this)->printPretty(OS, Policy);
9328c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RegCall:
9329c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RegCallAttr>(this)->printPretty(OS, Policy);
9330c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReleaseCapability:
9331c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReleaseCapabilityAttr>(this)->printPretty(OS, Policy);
9332c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RenderScriptKernel:
9333c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RenderScriptKernelAttr>(this)->printPretty(OS, Policy);
9334c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReqdWorkGroupSize:
9335c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReqdWorkGroupSizeAttr>(this)->printPretty(OS, Policy);
9336c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequireConstantInit:
9337c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequireConstantInitAttr>(this)->printPretty(OS, Policy);
9338c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::RequiresCapability:
9339c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RequiresCapabilityAttr>(this)->printPretty(OS, Policy);
9340c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Restrict:
9341c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<RestrictAttr>(this)->printPretty(OS, Policy);
9342c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnTypestate:
9343c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnTypestateAttr>(this)->printPretty(OS, Policy);
9344c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsNonNull:
9345c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsNonNullAttr>(this)->printPretty(OS, Policy);
9346c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ReturnsTwice:
9347c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ReturnsTwiceAttr>(this)->printPretty(OS, Policy);
9348c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ScopedLockable:
9349c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ScopedLockableAttr>(this)->printPretty(OS, Policy);
9350c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Section:
9351c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SectionAttr>(this)->printPretty(OS, Policy);
9352c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SelectAny:
9353c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SelectAnyAttr>(this)->printPretty(OS, Policy);
9354c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Sentinel:
9355c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SentinelAttr>(this)->printPretty(OS, Policy);
9356c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SetTypestate:
9357c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SetTypestateAttr>(this)->printPretty(OS, Policy);
9358c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SharedTrylockFunction:
9359c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SharedTrylockFunctionAttr>(this)->printPretty(OS, Policy);
9360c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::StdCall:
9361c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<StdCallAttr>(this)->printPretty(OS, Policy);
9362c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Suppress:
9363c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SuppressAttr>(this)->printPretty(OS, Policy);
9364c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftCall:
9365c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftCallAttr>(this)->printPretty(OS, Policy);
9366c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftContext:
9367c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftContextAttr>(this)->printPretty(OS, Policy);
9368c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftErrorResult:
9369c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftErrorResultAttr>(this)->printPretty(OS, Policy);
9370c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SwiftIndirectResult:
9371c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SwiftIndirectResultAttr>(this)->printPretty(OS, Policy);
9372c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::SysVABI:
9373c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<SysVABIAttr>(this)->printPretty(OS, Policy);
9374c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TLSModel:
9375c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TLSModelAttr>(this)->printPretty(OS, Policy);
9376c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Target:
9377c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TargetAttr>(this)->printPretty(OS, Policy);
9378c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TestTypestate:
9379c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TestTypestateAttr>(this)->printPretty(OS, Policy);
9380c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::ThisCall:
9381c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThisCallAttr>(this)->printPretty(OS, Policy);
9382c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Thread:
9383c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<ThreadAttr>(this)->printPretty(OS, Policy);
9384c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TransparentUnion:
9385c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TransparentUnionAttr>(this)->printPretty(OS, Policy);
9386c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TryAcquireCapability:
9387c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TryAcquireCapabilityAttr>(this)->printPretty(OS, Policy);
9388c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeTagForDatatype:
9389c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeTagForDatatypeAttr>(this)->printPretty(OS, Policy);
9390c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::TypeVisibility:
9391c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<TypeVisibilityAttr>(this)->printPretty(OS, Policy);
9392c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unavailable:
9393c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnavailableAttr>(this)->printPretty(OS, Policy);
9394c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Unused:
9395c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UnusedAttr>(this)->printPretty(OS, Policy);
9396c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Used:
9397c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UsedAttr>(this)->printPretty(OS, Policy);
9398c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Uuid:
9399c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<UuidAttr>(this)->printPretty(OS, Policy);
9400c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecReturn:
9401c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecReturnAttr>(this)->printPretty(OS, Policy);
9402c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VecTypeHint:
9403c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VecTypeHintAttr>(this)->printPretty(OS, Policy);
9404c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::VectorCall:
9405c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VectorCallAttr>(this)->printPretty(OS, Policy);
9406c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Visibility:
9407c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<VisibilityAttr>(this)->printPretty(OS, Policy);
9408c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnused:
9409c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedAttr>(this)->printPretty(OS, Policy);
9410c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WarnUnusedResult:
9411c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WarnUnusedResultAttr>(this)->printPretty(OS, Policy);
9412c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::Weak:
9413c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakAttr>(this)->printPretty(OS, Policy);
9414c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakImport:
9415c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakImportAttr>(this)->printPretty(OS, Policy);
9416c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WeakRef:
9417c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WeakRefAttr>(this)->printPretty(OS, Policy);
9418c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::WorkGroupSizeHint:
9419c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<WorkGroupSizeHintAttr>(this)->printPretty(OS, Policy);
9420c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::X86ForceAlignArgPointer:
9421c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<X86ForceAlignArgPointerAttr>(this)->printPretty(OS, Policy);
9422c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayInstrument:
9423c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayInstrumentAttr>(this)->printPretty(OS, Policy);
9424c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  case attr::XRayLogArgs:
9425c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot    return cast<XRayLogArgsAttr>(this)->printPretty(OS, Policy);
9426c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  }
9427c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot  llvm_unreachable("Unexpected attribute kind!");
9428c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot}
9429c9cc9e7d29b8970d8ddb734c88fb62d01e0b727android-build-team Robot
9430