comparison libcxxabi/test/catch_pointer_reference.pass.cpp @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 0572611fdcc8
children c4bab56944e8
comparison
equal deleted inserted replaced
173:0572611fdcc8 207:2e18cbf3894f
12 // A handler is a match for an exception object of type E if 12 // A handler is a match for an exception object of type E if
13 // * The handler is of type cv T or cv T& and E and T are the same type 13 // * The handler is of type cv T or cv T& and E and T are the same type
14 // (ignoring the top-level cv-qualifiers), or 14 // (ignoring the top-level cv-qualifiers), or
15 // * the handler is of type cv T or cv T& and T is an unambiguous base 15 // * the handler is of type cv T or cv T& and T is an unambiguous base
16 // class of E, or 16 // class of E, or
17 // / * the handler is of type cv1 T* cv2 and E is a pointer type that can \ 17 // > * the handler is of type cv1 T* cv2 and E is a pointer type that can <
18 // | be converted to the type of the handler by either or both of | 18 // > be converted to the type of the handler by either or both of <
19 // | o a standard pointer conversion (4.10 [conv.ptr]) not involving | 19 // > o a standard pointer conversion (4.10 [conv.ptr]) not involving <
20 // | conversions to private or protected or ambiguous classes | 20 // > conversions to private or protected or ambiguous classes <
21 // \ o a qualification conversion / 21 // > o a qualification conversion <
22 // * the handler is a pointer or pointer to member type and E is 22 // * the handler is a pointer or pointer to member type and E is
23 // std::nullptr_t 23 // std::nullptr_t
24 // 24 //
25 //===----------------------------------------------------------------------===// 25 //===----------------------------------------------------------------------===//
26 26
425 assert_cannot_catch<const Base * const volatile &, Protected *, Protected>(); 425 assert_cannot_catch<const Base * const volatile &, Protected *, Protected>();
426 assert_cannot_catch< volatile Base * const volatile &, Protected *, Protected>(); 426 assert_cannot_catch< volatile Base * const volatile &, Protected *, Protected>();
427 assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>(); 427 assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>();
428 } 428 }
429 429
430 int main() 430 int main(int, char**)
431 { 431 {
432 f1(); 432 f1();
433 f2(); 433 f2();
434 f3(); 434 f3();
435 f4(); 435 f4();
440 f9(); 440 f9();
441 f10(); 441 f10();
442 f11(); 442 f11();
443 f12(); 443 f12();
444 f13(); 444 f13();
445 } 445
446 return 0;
447 }