Mercurial > hg > CbC > CbC_llvm
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 } |