Home | History | Annotate | Download | only in SemaObjCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 // expected-no-diagnostics
      3 
      4 __attribute__((objc_root_class))
      5 @interface Root
      6 @end
      7 
      8 @class Forward;
      9 
     10 template <class T> void destroyPointer(T *t) {
     11   t->~T();
     12 }
     13 
     14 template <class T> void destroyReference(T &t) {
     15   t.~T();
     16 }
     17 
     18 template void destroyPointer<Root*>(Root **);
     19 template void destroyReference<Root*>(Root *&);
     20 
     21 // rdar://18522255
     22 template void destroyPointer<Forward*>(Forward **);
     23 template void destroyReference<Forward*>(Forward *&);
     24