100aee437SAlex Lorenz // RUN: %clang_cc1 -std=c++11 -emit-pch %s -o %t 200aee437SAlex Lorenz // RUN: %clang_cc1 -std=c++11 -include-pch %t -verify %s 300aee437SAlex Lorenz 4*a45f713cSLuboš Luňák // RUN: %clang_cc1 -std=c++11 -emit-pch -fpch-instantiate-templates %s -o %t 5*a45f713cSLuboš Luňák // RUN: %clang_cc1 -std=c++11 -include-pch %t -verify %s 6*a45f713cSLuboš Luňák 700aee437SAlex Lorenz #ifndef HEADER_INCLUDED 800aee437SAlex Lorenz 900aee437SAlex Lorenz #define HEADER_INCLUDED 1000aee437SAlex Lorenz 1100aee437SAlex Lorenz template<typename T, int N> 1200aee437SAlex Lorenz using vec = T __attribute__((ext_vector_type(N))); 1300aee437SAlex Lorenz 1400aee437SAlex Lorenz #else 1500aee437SAlex Lorenz test()1600aee437SAlex Lorenzvoid test() { 1700aee437SAlex Lorenz vec<float, 2> a; // expected-error@-5 {{zero vector size}} 1800aee437SAlex Lorenz vec<float, 0> b; // expected-note {{in instantiation of template type alias 'vec' requested here}} 1900aee437SAlex Lorenz } 2000aee437SAlex Lorenz 2100aee437SAlex Lorenz #endif 22