/* * @@name: declare_target.6.c * @@type: C * @@compilable: yes * @@linkable: no * @@expect: success */ #define N 100000000 float sp[N], sv1[N], sv2[N]; double dp[N], dv1[N], dv2[N]; #pragma omp declare target link(sp,sv1,sv2) \ link(dp,dv1,dv2) void s_init(float *, float *, int); void d_init(double *, double *, int); void s_output(float *, int); void d_output(double *, int); #pragma omp declare target void s_vec_mult_accum() { int i; #pragma omp parallel for for (i=0; i