summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/eb65.C
blob: b7b535d5ad075029b9a32760d95c4fa57782f2b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// { dg-do run  }
#include <iterator>

using namespace std;

template<size_t n, size_t i> struct PartialDotProduct {
    template<class T>
    static T Expand(T* a, T* b) { return T(); }
};

const int N = 10;

template<class In1, class In2>
typename iterator_traits<In1>::value_type
dot(In1 f1, In2 f2)
{
    return PartialDotProduct<N, 0>::Expand(f1, f2);     // line 14
}

int main()
{
    double a[N], b[N];

    double s = dot(&a[0], &b[0]);
}