11 module procedure addm2
13 !$omp declare reduction(+:dt:omp_out=omp_out+omp_in) &
14 !$omp & initializer(omp_priv=dt(0.0))
15 !$omp declare reduction(.myadd.:dt:omp_out=omp_out.myadd.omp_in) &
16 !$omp & initializer(omp_priv=dt(0.0))
17 interface operator(.myadd
.)
18 module procedure addm2
21 type(dt
) function addm2 (x
, y
)
22 type(dt
), intent (in
):: x
, y
28 interface operator(.myadd
.)
29 module procedure addm3
31 !$omp declare reduction(+:dt:omp_out=omp_out+omp_in) &
32 !$omp & initializer(omp_priv=dt(0.0))
33 !$omp declare reduction(.myadd.:dt:omp_out=omp_out.myadd.omp_in) &
34 !$omp & initializer(omp_priv=dt(0.0))
36 module procedure addm3
39 type(dt
) function addm3 (x
, y
)
40 type(dt
), intent (in
):: x
, y
50 !$omp parallel do reduction (+ : d) reduction ( .myadd. : e)
57 use udr5m3
! { dg-error "Previous !.OMP DECLARE REDUCTION|Ambiguous interfaces" }
58 use udr5m2
! { dg-error "Ambiguous !.OMP DECLARE REDUCTION" }