recursion-limits.cpp 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. // RUN: %clang_cc1 -fsyntax-only %s -verify
  2. // expected-no-diagnostics
  3. class outer {
  4. class inner1 { inner1(); };
  5. class inner2 { inner2(); };
  6. class inner3 { inner3(); };
  7. class inner4 { inner4(); };
  8. class inner5 { inner5(); };
  9. class inner6 { inner6(); };
  10. class inner7 { inner7(); };
  11. class inner8 { inner8(); };
  12. class inner9 { inner9(); };
  13. class inner10 { inner10(); };
  14. class inner11 { inner11(); };
  15. class inner12 { inner12(); };
  16. class inner13 { inner13(); };
  17. class inner14 { inner14(); };
  18. class inner15 { inner15(); };
  19. class inner16 { inner16(); };
  20. class inner17 { inner17(); };
  21. class inner18 { inner18(); };
  22. class inner19 { inner19(); };
  23. class inner20 { inner20(); };
  24. class inner21 { inner21(); };
  25. class inner22 { inner22(); };
  26. class inner23 { inner23(); };
  27. class inner24 { inner24(); };
  28. class inner25 { inner25(); };
  29. class inner26 { inner26(); };
  30. class inner27 { inner27(); };
  31. class inner28 { inner28(); };
  32. class inner29 { inner29(); };
  33. class inner30 { inner30(); };
  34. class inner31 { inner31(); };
  35. class inner32 { inner32(); };
  36. class inner33 { inner33(); };
  37. class inner34 { inner34(); };
  38. class inner35 { inner35(); };
  39. class inner36 { inner36(); };
  40. class inner37 { inner37(); };
  41. class inner38 { inner38(); };
  42. class inner39 { inner39(); };
  43. class inner40 { inner40(); };
  44. class inner41 { inner41(); };
  45. class inner42 { inner42(); };
  46. class inner43 { inner43(); };
  47. class inner44 { inner44(); };
  48. class inner45 { inner45(); };
  49. class inner46 { inner46(); };
  50. class inner47 { inner47(); };
  51. class inner48 { inner48(); };
  52. class inner49 { inner49(); };
  53. class inner50 { inner50(); };
  54. class inner51 { inner51(); };
  55. class inner52 { inner52(); };
  56. class inner53 { inner53(); };
  57. class inner54 { inner54(); };
  58. class inner55 { inner55(); };
  59. class inner56 { inner56(); };
  60. class inner57 { inner57(); };
  61. class inner58 { inner58(); };
  62. class inner59 { inner59(); };
  63. class inner60 { inner60(); };
  64. class inner61 { inner61(); };
  65. class inner62 { inner62(); };
  66. class inner63 { inner63(); };
  67. class inner64 { inner64(); };
  68. class inner65 { inner65(); };
  69. class inner66 { inner66(); };
  70. class inner67 { inner67(); };
  71. class inner68 { inner68(); };
  72. class inner69 { inner69(); };
  73. class inner70 { inner70(); };
  74. class inner71 { inner71(); };
  75. class inner72 { inner72(); };
  76. class inner73 { inner73(); };
  77. class inner74 { inner74(); };
  78. class inner75 { inner75(); };
  79. class inner76 { inner76(); };
  80. class inner77 { inner77(); };
  81. class inner78 { inner78(); };
  82. class inner79 { inner79(); };
  83. class inner80 { inner80(); };
  84. class inner81 { inner81(); };
  85. class inner82 { inner82(); };
  86. class inner83 { inner83(); };
  87. class inner84 { inner84(); };
  88. class inner85 { inner85(); };
  89. class inner86 { inner86(); };
  90. class inner87 { inner87(); };
  91. class inner88 { inner88(); };
  92. class inner89 { inner89(); };
  93. class inner90 { inner90(); };
  94. class inner91 { inner91(); };
  95. class inner92 { inner92(); };
  96. class inner93 { inner93(); };
  97. class inner94 { inner94(); };
  98. class inner95 { inner95(); };
  99. class inner96 { inner96(); };
  100. class inner97 { inner97(); };
  101. class inner98 { inner98(); };
  102. class inner99 { inner99(); };
  103. class inner100 { inner100(); };
  104. class inner101 { inner101(); };
  105. class inner102 { inner102(); };
  106. class inner103 { inner103(); };
  107. class inner104 { inner104(); };
  108. class inner105 { inner105(); };
  109. class inner106 { inner106(); };
  110. class inner107 { inner107(); };
  111. class inner108 { inner108(); };
  112. class inner109 { inner109(); };
  113. class inner110 { inner110(); };
  114. class inner111 { inner111(); };
  115. class inner112 { inner112(); };
  116. class inner113 { inner113(); };
  117. class inner114 { inner114(); };
  118. class inner115 { inner115(); };
  119. class inner116 { inner116(); };
  120. class inner117 { inner117(); };
  121. class inner118 { inner118(); };
  122. class inner119 { inner119(); };
  123. class inner120 { inner120(); };
  124. class inner121 { inner121(); };
  125. class inner122 { inner122(); };
  126. class inner123 { inner123(); };
  127. class inner124 { inner124(); };
  128. class inner125 { inner125(); };
  129. class inner126 { inner126(); };
  130. class inner127 { inner127(); };
  131. class inner128 { inner128(); };
  132. class inner129 { inner129(); };
  133. class inner130 { inner130(); };
  134. class inner131 { inner131(); };
  135. class inner132 { inner132(); };
  136. class inner133 { inner133(); };
  137. class inner134 { inner134(); };
  138. class inner135 { inner135(); };
  139. class inner136 { inner136(); };
  140. class inner137 { inner137(); };
  141. class inner138 { inner138(); };
  142. class inner139 { inner139(); };
  143. class inner140 { inner140(); };
  144. class inner141 { inner141(); };
  145. class inner142 { inner142(); };
  146. class inner143 { inner143(); };
  147. class inner144 { inner144(); };
  148. class inner145 { inner145(); };
  149. class inner146 { inner146(); };
  150. class inner147 { inner147(); };
  151. class inner148 { inner148(); };
  152. class inner149 { inner149(); };
  153. class inner150 { inner150(); };
  154. class inner151 { inner151(); };
  155. class inner152 { inner152(); };
  156. class inner153 { inner153(); };
  157. class inner154 { inner154(); };
  158. class inner155 { inner155(); };
  159. class inner156 { inner156(); };
  160. class inner157 { inner157(); };
  161. class inner158 { inner158(); };
  162. class inner159 { inner159(); };
  163. class inner160 { inner160(); };
  164. class inner161 { inner161(); };
  165. class inner162 { inner162(); };
  166. class inner163 { inner163(); };
  167. class inner164 { inner164(); };
  168. class inner165 { inner165(); };
  169. class inner166 { inner166(); };
  170. class inner167 { inner167(); };
  171. class inner168 { inner168(); };
  172. class inner169 { inner169(); };
  173. class inner170 { inner170(); };
  174. class inner171 { inner171(); };
  175. class inner172 { inner172(); };
  176. class inner173 { inner173(); };
  177. class inner174 { inner174(); };
  178. class inner175 { inner175(); };
  179. class inner176 { inner176(); };
  180. class inner177 { inner177(); };
  181. class inner178 { inner178(); };
  182. class inner179 { inner179(); };
  183. class inner180 { inner180(); };
  184. class inner181 { inner181(); };
  185. class inner182 { inner182(); };
  186. class inner183 { inner183(); };
  187. class inner184 { inner184(); };
  188. class inner185 { inner185(); };
  189. class inner186 { inner186(); };
  190. class inner187 { inner187(); };
  191. class inner188 { inner188(); };
  192. class inner189 { inner189(); };
  193. class inner190 { inner190(); };
  194. class inner191 { inner191(); };
  195. class inner192 { inner192(); };
  196. class inner193 { inner193(); };
  197. class inner194 { inner194(); };
  198. class inner195 { inner195(); };
  199. class inner196 { inner196(); };
  200. class inner197 { inner197(); };
  201. class inner198 { inner198(); };
  202. class inner199 { inner199(); };
  203. class inner200 { inner200(); };
  204. class inner201 { inner201(); };
  205. class inner202 { inner202(); };
  206. class inner203 { inner203(); };
  207. class inner204 { inner204(); };
  208. class inner205 { inner205(); };
  209. class inner206 { inner206(); };
  210. class inner207 { inner207(); };
  211. class inner208 { inner208(); };
  212. class inner209 { inner209(); };
  213. class inner210 { inner210(); };
  214. class inner211 { inner211(); };
  215. class inner212 { inner212(); };
  216. class inner213 { inner213(); };
  217. class inner214 { inner214(); };
  218. class inner215 { inner215(); };
  219. class inner216 { inner216(); };
  220. class inner217 { inner217(); };
  221. class inner218 { inner218(); };
  222. class inner219 { inner219(); };
  223. class inner220 { inner220(); };
  224. class inner221 { inner221(); };
  225. class inner222 { inner222(); };
  226. class inner223 { inner223(); };
  227. class inner224 { inner224(); };
  228. class inner225 { inner225(); };
  229. class inner226 { inner226(); };
  230. class inner227 { inner227(); };
  231. class inner228 { inner228(); };
  232. class inner229 { inner229(); };
  233. class inner230 { inner230(); };
  234. class inner231 { inner231(); };
  235. class inner232 { inner232(); };
  236. class inner233 { inner233(); };
  237. class inner234 { inner234(); };
  238. class inner235 { inner235(); };
  239. class inner236 { inner236(); };
  240. class inner237 { inner237(); };
  241. class inner238 { inner238(); };
  242. class inner239 { inner239(); };
  243. class inner240 { inner240(); };
  244. class inner241 { inner241(); };
  245. class inner242 { inner242(); };
  246. class inner243 { inner243(); };
  247. class inner244 { inner244(); };
  248. class inner245 { inner245(); };
  249. class inner246 { inner246(); };
  250. class inner247 { inner247(); };
  251. class inner248 { inner248(); };
  252. class inner249 { inner249(); };
  253. class inner250 { inner250(); };
  254. class inner251 { inner251(); };
  255. class inner252 { inner252(); };
  256. class inner253 { inner253(); };
  257. class inner254 { inner254(); };
  258. class inner255 { inner255(); };
  259. class inner256 { inner256(); };
  260. };