3 // { dg-options "-O1" }
5 template <typename E, unsigned long N>
11 E *begin () { return elems; }
12 const E *begin () const { return elems; }
14 explicit A (F const &v0, F const &v1, F const &v2)
22 template <typename E1, typename E2, typename E3>
24 bar (const E1 *a1, E2 const &a2, E3 *a3, unsigned long const &sz)
27 for (;a3 != r; a1++, a3++)
31 template<typename E, unsigned long N>
33 operator- (A<E, N> const& a1, E const& a2)
37 bar (a1.begin (), a2, a3.begin (), N);
43 B (A<unsigned long, 3> const &m) : n (m - static_cast<unsigned long>(1)) {}
44 A<unsigned long, 3> n;
50 B t (A<unsigned long, 3> (0,0,0));