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 + -
显示快捷键?