// { dg-options "-Wunused -W" } extern void foo (); void f1 () { try { foo (); } catch (int i) { } catch (double d) { } } void f2 (int x) { int a = 0; x++; ++a; } struct A { bool foo () const { return true; } }; int f3 () { A a; bool b = a.foo (); return b; } struct B { int i; B (int j); }; void f4 () { B b (6); } struct C { int i; C (int j) : i (j) {} }; void f5 () { C c (6); } struct D { int i; D (int j) : i (j) {} ~D (); }; void f6 () { D d (6); } int *f7 (int s) { return new int[s]; } template T *f8 (int s) { return new T[s]; } template int *f8 (int); void f9 (char *p) { delete p; } template void f10 (T *p) { delete p; } template void f10 (char *);