1 // PR c++/23287
2 
3 template <class T> struct A
4 {
5   int i;
6   ~A();
7 };
8 
f(A<T> * ap)9 template <class T> void f(A<T> *ap) {
10   ap->~A();
11 }
12 
g(A<T> * ap)13 template <class T> void g(A<T> *ap) {
14   ap->~B(); 			// { dg-error "destructor name" }
15 }
16 
main()17 int main()
18 {
19   f(new A<int>);
20   g(new A<int>);
21 }
22