// RUN: %clang_cc1 -fsyntax-only -fenable-matrix -verify %s // expected-no-diagnostics template void f() { T().~T(); } template void f1(T *f) { f->~T(); (*f).~T(); } using mat4 = float __attribute__((matrix_type(4, 4))); using mat4i = int __attribute__((matrix_type(4, 4))); template using mat4_t = T __attribute__((matrix_type(4, 4))); void g() { f(); f(); f>(); } void g2(mat4* m1, mat4i* m2, mat4_t* m3) { f1(m1); f1(m2); f1(m3); }