1 /* { dg-do compile } */
2 /* { dg-additional-options "-Wno-return-type" } */
5 bool operator()(int p1
, int p2
) { return p1
&& p2
; }
12 template <class T
> void operator&&(B p1
, T p2
) {
14 arrayContTransform(p1
, p2
, a
, A());
17 template <typename _InputIterator1
, typename T
, typename _OutputIterator
,
18 typename _BinaryOperation
>
19 void myrtransform(_InputIterator1 p1
, _OutputIterator p2
, T p3
,
20 _BinaryOperation p4
) {
22 for (; b
!= p1
; ++b
, ++p2
)
26 template <typename L
, typename R
, typename RES
, typename BinaryOperator
>
27 void arrayContTransform(L p1
, R p2
, RES p3
, BinaryOperator p4
) {
28 myrtransform(p1
.cend(), p3
.cbegin(), p2
, p4
);
36 B
getArrayBool(const int &);
40 B
D::getArrayBool(const int &) { lnode_p
.getArrayBool() && c
; }
42 // { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target { i?86-*-* x86_64-*-* } } } }