Home | History | Annotate | Download | only in test

Lines Matching full:base

16 //     *  the handler is of type cv T or cv T& and T is an unambiguous base
35 struct Base {};
36 struct Derived : Base {};
37 struct Derived2 : Base {};
39 struct Private : private Base {};
40 struct Protected : protected Base {};
101 // cv1 Base * cv2
104 assert_catches< Base * , Derived *, Derived>();
105 assert_catches<const Base * , Derived *, Derived>();
106 assert_catches< volatile Base * , Derived *, Derived>();
107 assert_catches<const volatile Base * , Derived *, Derived>();
108 assert_catches< Base * const , Derived *, Derived>();
109 assert_catches<const Base * const , Derived *, Derived>();
110 assert_catches< volatile Base * const , Derived *, Derived>();
111 assert_catches<const volatile Base * const , Derived *, Derived>();
112 assert_catches< Base * volatile, Derived *, Derived>();
113 assert_catches<const Base * volatile, Derived *, Derived>();
114 assert_catches< volatile Base * volatile, Derived *, Derived>();
115 assert_catches<const volatile Base * volatile, Derived *, Derived>();
116 assert_catches< Base * const volatile, Derived *, Derived>();
117 assert_catches<const Base * const volatile, Derived *, Derived>();
118 assert_catches< volatile Base * const volatile, Derived *, Derived>();
119 assert_catches<const volatile Base * const volatile, Derived *, Derived>();
125 // cv1 Base * cv2
127 // Base *
128 assert_catches< Base * , Base *, Derived>();
129 assert_catches<const Base * , Base *, Derived>();
130 assert_catches< volatile Base * , Base *, Derived>();
131 assert_catches<const volatile Base * , Base *, Derived>();
132 assert_catches< Base * const , Base *, Derived>();
133 assert_catches<const Base * const , Base *, Derived>();
134 assert_catches< volatile Base * const , Base *, Derived>();
135 assert_catches<const volatile Base * const , Base *, Derived>();
136 assert_catches< Base * volatile, Base *, Derived>();
137 assert_catches<const Base * volatile, Base *, Derived>();
138 assert_catches< volatile Base * volatile, Base *, Derived>();
139 assert_catches<const volatile Base * volatile, Base *, Derived>();
140 assert_catches< Base * const volatile, Base *, Derived>();
141 assert_catches<const Base * const volatile, Base *, Derived>();
142 assert_catches< volatile Base * const volatile, Base *, Derived>();
143 assert_catches<const volatile Base * const volatile, Base *, Derived>();
175 // Base *
176 assert_cannot_catch< Derived * , Base *, Derived>();
177 assert_cannot_catch<const Derived * , Base *, Derived>();
178 assert_cannot_catch< volatile Derived * , Base *, Derived>();
179 assert_cannot_catch<const volatile Derived * , Base *, Derived>();
180 assert_cannot_catch< Derived * const , Base *, Derived>();
181 assert_cannot_catch<const Derived * const , Base *, Derived>();
182 assert_cannot_catch< volatile Derived * const , Base *, Derived>();
183 assert_cannot_catch<const volatile Derived * const , Base *, Derived>();
184 assert_cannot_catch< Derived * volatile, Base *, Derived>();
185 assert_cannot_catch<const Derived * volatile, Base *, Derived>();
186 assert_cannot_catch< volatile Derived * volatile, Base *, Derived>();
187 assert_cannot_catch<const volatile Derived * volatile, Base *, Derived>();
188 assert_cannot_catch< Derived * const volatile, Base *, Derived>();
189 assert_cannot_catch<const Derived * const volatile, Base *, Derived>();
190 assert_cannot_catch< volatile Derived * const volatile, Base *, Derived>();
191 assert_cannot_catch<const volatile Derived * const volatile, Base *, Derived>();
221 // cv1 Base * cv2 &
223 // Base *
224 assert_catches< Base * &, Base *, Derived>();
225 assert_catches<const Base * &, Base *, Derived>();
226 assert_catches< volatile Base * &, Base *, Derived>();
227 assert_catches<const volatile Base * &, Base *, Derived>();
228 assert_catches< Base * const &, Base *, Derived>();
229 assert_catches<const Base * const &, Base *, Derived>();
230 assert_catches< volatile Base * const &, Base *, Derived>();
231 assert_catches<const volatile Base * const &, Base *, Derived>();
232 assert_catches< Base * volatile &, Base *, Derived>();
233 assert_catches<const Base * volatile &, Base *, Derived>();
234 assert_catches< volatile Base * volatile &, Base *, Derived>();
235 assert_catches<const volatile Base * volatile &, Base *, Derived>();
236 assert_catches< Base * const volatile &, Base *, Derived>();
237 assert_catches<const Base * const volatile &, Base *, Derived>();
238 assert_catches< volatile Base * const volatile &, Base *, Derived>();
239 assert_catches<const volatile Base * const volatile &, Base *, Derived>();
248 // Base *
249 assert_cannot_catch< Derived * &, Base *, Derived>();
250 assert_cannot_catch<const Derived * &, Base *, Derived>();
251 assert_cannot_catch< volatile Derived * &, Base *, Derived>();
252 assert_cannot_catch<const volatile Derived * &, Base *, Derived>();
253 assert_cannot_catch< Derived * const &, Base *, Derived>();
254 assert_cannot_catch<const Derived * const &, Base *, Derived>();
255 assert_cannot_catch< volatile Derived * const &, Base *, Derived>();
256 assert_cannot_catch<const volatile Derived * const &, Base *, Derived>();
257 assert_cannot_catch< Derived * volatile &, Base *, Derived>();
258 assert_cannot_catch<const Derived * volatile &, Base *, Derived>();
259 assert_cannot_catch< volatile Derived * volatile &, Base *, Derived>();
260 assert_cannot_catch<const volatile Derived * volatile &, Base *, Derived>();
261 assert_cannot_catch< Derived * const volatile &, Base *, Derived>();
262 assert_cannot_catch<const Derived * const volatile &, Base *, Derived>();
263 assert_cannot_catch< volatile Derived * const volatile &, Base *, Derived>();
264 assert_cannot_catch<const volatile Derived * const volatile &, Base *, Derived>();
280 // freedom to find a base class. The ABI error is that we treat handlers
290 // cv1 Base * cv2 &
293 assert_catches< Base * &, Derived *, Derived>();
294 assert_catches<const Base * &, Derived *, Derived>();
295 assert_catches< volatile Base * &, Derived *, Derived>();
296 assert_catches<const volatile Base * &, Derived *, Derived>();
297 assert_catches< Base * const &, Derived *, Derived>();
298 assert_catches<const Base * const &, Derived *, Derived>();
299 assert_catches< volatile Base * const &, Derived *, Derived>();
300 assert_catches<const volatile Base * const &, Derived *, Derived>();
301 assert_catches< Base * volatile &, Derived *, Derived>();
302 assert_catches<const Base * volatile &, Derived *, Derived>();
303 assert_catches< volatile Base * volatile &, Derived *, Derived>();
304 assert_catches<const volatile Base * volatile &, Derived *, Derived>();
305 assert_catches< Base * const volatile &, Derived *, Derived>();
306 assert_catches<const Base * const volatile &, Derived *, Derived>();
307 assert_catches< volatile Base * const volatile &, Derived *, Derived>();
308 assert_catches<const volatile Base * const volatile &, Derived *, Derived>();
314 // cv1 Base * cv2
317 assert_cannot_catch< Base * , Ambiguous *, Ambiguous>();
318 assert_cannot_catch<const Base * , Ambiguous *, Ambiguous>();
319 assert_cannot_catch< volatile Base * , Ambiguous *, Ambiguous>();
320 assert_cannot_catch<const volatile Base
321 assert_cannot_catch< Base * const , Ambiguous *, Ambiguous>();
322 assert_cannot_catch<const Base * const , Ambiguous *, Ambiguous>();
323 assert_cannot_catch< volatile Base * const , Ambiguous *, Ambiguous>();
324 assert_cannot_catch<const volatile Base * const , Ambiguous *, Ambiguous>();
325 assert_cannot_catch< Base * volatile, Ambiguous *, Ambiguous>();
326 assert_cannot_catch<const Base * volatile, Ambiguous *, Ambiguous>();
327 assert_cannot_catch< volatile Base * volatile, Ambiguous *, Ambiguous>();
328 assert_cannot_catch<const volatile Base * volatile, Ambiguous *, Ambiguous>();
329 assert_cannot_catch< Base * const volatile, Ambiguous *, Ambiguous>();
330 assert_cannot_catch<const Base * const volatile, Ambiguous *, Ambiguous>();
331 assert_cannot_catch< volatile Base * const volatile, Ambiguous *, Ambiguous>();
332 assert_cannot_catch<const volatile Base * const volatile, Ambiguous *, Ambiguous>();
338 // cv1 Base * cv2
341 assert_cannot_catch< Base * , Private *, Private>();
342 assert_cannot_catch<const Base * , Private *, Private>();
343 assert_cannot_catch< volatile Base * , Private *, Private>();
344 assert_cannot_catch<const volatile Base * , Private *, Private>();
345 assert_cannot_catch< Base * const , Private *, Private>();
346 assert_cannot_catch<const Base * const , Private *, Private>();
347 assert_cannot_catch< volatile Base * const , Private *, Private>();
348 assert_cannot_catch<const volatile Base * const , Private *, Private>();
349 assert_cannot_catch< Base * volatile, Private *, Private>();
350 assert_cannot_catch<const Base * volatile, Private *, Private>();
351 assert_cannot_catch< volatile Base * volatile, Private *, Private>();
352 assert_cannot_catch<const volatile Base * volatile, Private *, Private>();
353 assert_cannot_catch< Base * const volatile, Private *, Private>();
354 assert_cannot_catch<const Base * const volatile, Private *, Private>();
355 assert_cannot_catch< volatile Base * const volatile, Private *, Private>();
356 assert_cannot_catch<const volatile Base * const volatile, Private *, Private>();
362 // cv1 Base * cv2
365 assert_cannot_catch< Base * , Protected *, Protected>();
366 assert_cannot_catch<const Base * , Protected *, Protected>();
367 assert_cannot_catch< volatile Base * , Protected *, Protected>();
368 assert_cannot_catch<const volatile Base * , Protected *, Protected>();
369 assert_cannot_catch< Base * const , Protected *, Protected>();
370 assert_cannot_catch<const Base * const , Protected *, Protected>();
371 assert_cannot_catch< volatile Base * const , Protected *, Protected>();
372 assert_cannot_catch<const volatile Base * const , Protected *, Protected>();
373 assert_cannot_catch< Base * volatile, Protected *, Protected>();
374 assert_cannot_catch<const Base * volatile, Protected *, Protected>();
375 assert_cannot_catch< volatile Base * volatile, Protected *, Protected>();
376 assert_cannot_catch<const volatile Base * volatile, Protected *, Protected>();
377 assert_cannot_catch< Base * const volatile, Protected *, Protected>();
378 assert_cannot_catch<const Base * const volatile, Protected *, Protected>();
379 assert_cannot_catch< volatile Base * const volatile, Protected *, Protected>();
380 assert_cannot_catch<const volatile Base * const volatile, Protected *, Protected>();
386 // cv1 Base * cv2 &
389 assert_cannot_catch< Base * &, Private *, Private>();
390 assert_cannot_catch<const Base * &, Private *, Private>();
391 assert_cannot_catch< volatile Base * &, Private *, Private>();
392 assert_cannot_catch<const volatile Base * &, Private *, Private>();
393 assert_cannot_catch< Base * const &, Private *, Private>();
394 assert_cannot_catch<const Base * const &, Private *, Private>();
395 assert_cannot_catch< volatile Base * const &, Private *, Private>();
396 assert_cannot_catch<const volatile Base * const &, Private *, Private>();
397 assert_cannot_catch< Base * volatile &, Private *, Private>();
398 assert_cannot_catch<const Base * volatile &, Private *, Private>();
399 assert_cannot_catch< volatile Base * volatile &, Private *, Private>();
400 assert_cannot_catch<const volatile Base * volatile &, Private *, Private>();
401 assert_cannot_catch< Base * const volatile &, Private *, Private>();
402 assert_cannot_catch<const Base * const volatile &, Private *, Private>();
403 assert_cannot_catch< volatile Base * const volatile &, Private *, Private>();
404 assert_cannot_catch<const volatile Base * const volatile &, Private *, Private>();
410 // cv1 Base * cv2 &
413 assert_cannot_catch< Base * &, Protected *, Protected>();
414 assert_cannot_catch<const Base * &, Protected *, Protected>();
415 assert_cannot_catch< volatile Base * &, Protected *, Protected>();
416 assert_cannot_catch<const volatile Base * &, Protected *, Protected>();
417 assert_cannot_catch< Base * const &, Protected *, Protected>();
418 assert_cannot_catch<const Base * const &, Protected *, Protected>();
419 assert_cannot_catch< volatile Base * const &, Protected *, Protected>();
420 assert_cannot_catch<const volatile Base * const &, Protected *, Protected>();
421 assert_cannot_catch< Base * volatile &, Protected *, Protected>();
422 assert_cannot_catch<const Base * volatile &, Protected *, Protected>();
423 assert_cannot_catch< volatile Base * volatile &, Protected *, Protected>();
424 assert_cannot_catch<const volatile Base * volatile &, Protected *, Protected>();
425 assert_cannot_catch< Base * const volatile &, Protected *, Protected>();
426 assert_cannot_catch<const Base * const volatile &, Protected *, Protected>();
427 assert_cannot_catch< volatile Base * const volatile &, Protected *, Protected>();
428 assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>();