blob: cf7c254d66035fc9b3ab0965142114b6f6009494 [file] [log] [blame]
// PR c++/32384
// { dg-do compile }
struct A
{
typedef int T;
T foo ();
A () { foo ().~T (); }
};
template<typename> struct B
{
typedef int T;
T foo ();
B () { foo ().~T (); }
};
template<typename T> struct C
{
T t;
C () { t.~T (); }
};
template<typename S> struct D
{
typedef int T;
S foo ();
D () { foo ().~T(); }
};
struct Z
{
Z () {}
~Z () {}
};
A a;
B<int> b;
C<int> c1;
C<Z> c2;
D<int> d;