1! { dg-do run { target vect_simd_clones } }
2! { dg-options "-fno-inline" }
3! { dg-additional-sources declare-simd-3.f90 }
4! { dg-additional-options "-msse2" { target sse2_runtime } }
5! { dg-additional-options "-mavx" { target avx_runtime } }
6
7module declare_simd_2_mod
8  contains
9    real function foo (a, b, c)
10      !$omp declare simd (foo) simdlen (4) uniform (a) linear (b : 5)
11      double precision, value :: a
12      real, value :: c
13      !$omp declare simd (foo)
14      integer, value :: b
15      foo = a + b * c
16    end function foo
17end module declare_simd_2_mod
18
19  interface
20    subroutine bar ()
21    end subroutine bar
22  end interface
23
24  call bar ()
25end
26