diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/pseudodtor1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/pseudodtor1.C | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/pseudodtor1.C b/gcc/testsuite/g++.dg/template/pseudodtor1.C new file mode 100644 index 000000000..cf7c254d6 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/pseudodtor1.C @@ -0,0 +1,44 @@ +// 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; |