1 // DR 1586
2 // { dg-do run { target c++14 } }
3 
4 template <class T>
f(T * p)5 void f (T* p)
6 {
7   p->~auto();
8 }
9 
10 int d;
~AA11 struct A { ~A() { ++d; } };
12 
main()13 int main()
14 {
15   f(new int(42));
16   f(new A);
17   if (d != 1)
18     throw;
19 
20   (new int)->~auto();
21 }
22