Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.mike/p9706.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run { xfail sparc64-*-elf arm-*-pe } } // { dg-options "-fexceptions" } // prms-id: 9706 #include <stdlib.h> int count, acount; void *operator new(size_t sz) { ++count; return malloc (sz); } void operator delete(void *p) throw() { --count; free (p); } class A { public: A() { ++acount; } A(const A&) { ++acount; } ~A() { --acount; } }; int main() { int i; // The standard library may have called new and/or delete during // startup, so we have to reset the counter here. count = 0; for( i = 0; i < 10; i++ ) { try { throw A(); } catch (A& a) { } } if (acount) return 1; if (count) return 2; }