ehopt1.c

来自「用于进行gcc测试」· C语言 代码 · 共 45 行

C
45
字号
// ehopt was only copying one statement from the cleanup of the B temporary// into the following try block, so we lost its destructor call.// { dg-do run }template <class T, class U>class A;bool b;int count;template <>class A<int, int>{public:  A(int) { ++count; if (b) throw 1; }  A(const A&) { ++count; if (b) throw 1; }  ~A() { --count; if (b) throw 1; }};typedef A<int, int> B;template <>class A<void *, void *>{public:  A() { if (b) throw 1; }  A(const B&) { if (b) throw 1; }  ~A() { if (b) throw 1; }};typedef A<void *, void *> C;void f() { if (b) throw 1; }intmain (void){  {    C a(1);    f();  }  return count;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?