| // { dg-do assemble } | |
| template<unsigned int n> struct PartialDotProduct { | |
| template<class T> | |
| static T Expand(T* a, T* b) { return T(); } | |
| }; | |
| const int N = 10; | |
| template<class In1, class In2> | |
| void | |
| dot(In1 f1, In2 f2) | |
| { | |
| PartialDotProduct<N>::Expand(f1, f2); | |
| } | |
| int main() | |
| { | |
| double a[N], b[N]; | |
| dot(&a[0], &b[0]); | |
| } |