Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/eh/builtin9.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/eh/builtin9.C Thu Feb 13 11:34:05 2020 +0900 @@ -0,0 +1,29 @@ +// PR c++/88482 +// { dg-do compile } + +extern "C" int __cxa_throw (void *, void *, void (*) (void *)); // { dg-error "declared incorrectly" } +extern "C" void *__cxa_get_exception_ptr (void *); +extern "C" double __cxa_begin_catch (void *); // { dg-error "declared incorrectly" } +extern "C" long *__cxa_end_catch (); // { dg-error "declared incorrectly" } +extern "C" char __cxa_rethrow (); // { dg-error "declared incorrectly" } +extern "C" void __cxa_allocate_exception (__SIZE_TYPE__); // { dg-error "declared incorrectly" } +extern "C" void __cxa_free_exception (void *); + +struct S { S (); S (const S &); ~S (); }; + +int +foo (int x) +{ + if (x > 27) + throw 19; + try + { + if (x > 15) + throw S (); + } + catch (S s) + { + throw; + } + return x + 3; +}