]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaTemplate/destructor-template.cpp
Update clang to 97654.
[FreeBSD/FreeBSD.git] / test / SemaTemplate / destructor-template.cpp
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2
3 template<typename A> class s0 {
4
5   template<typename B> class s1 : public s0<A> {
6     ~s1() {}
7     s0<A> ms0;
8   };
9
10 };
11
12 struct Incomplete;
13
14 template<typename T>
15 void destroy_me(T me) {
16   me.~T();
17 }
18
19 template void destroy_me(Incomplete*);
20
21 namespace PR6152 {
22   template<typename T> struct X { void f(); };
23   template<typename T> struct Y { };
24   template<typename T>
25   void X<T>::f() {
26     Y<T> *y;
27     y->template Y<T>::~Y();
28     y->template Y<T>::~Y<T>();
29     y->~Y();
30   }
31   
32   template struct X<int>;
33 }
34