1// { dg-do assemble } 2 3template<unsigned int n> struct PartialDotProduct { 4 template<class T> 5 static T Expand(T* a, T* b) { return T(); } 6}; 7 8const int N = 10; 9 10template<class In1, class In2> 11void 12dot(In1 f1, In2 f2) 13{ 14 PartialDotProduct<N>::Expand(f1, f2); 15 16} 17 18int main() 19{ 20 double a[N], b[N]; 21 22 dot(&a[0], &b[0]); 23} 24