1 // { dg-do compile }
2 // { dg-options "-fopenmp" }
3 
4 int i;
5 
6 #pragma omp declare simd linear (ref (x) : 1) linear (uval (y) : 2)
7 int bar (int &x, int &y, int z);
8 
9 void
foo(int & x,int & y)10 foo (int &x, int &y)
11 {
12   #pragma omp simd linear (x: y + 1)
13   for (i = 0; i < 10; i++)
14     x += y + 1;
15   #pragma omp simd linear (val (x): y + 1)	// { dg-error "modifier should not be specified in" }
16   for (i = 0; i < 10; i++)
17     x += y + 1;
18   #pragma omp simd linear (ref (x): y + 1)	// { dg-error "modifier should not be specified in" }
19   for (i = 0; i < 10; i++)
20     x += y + 1;
21   #pragma omp simd linear (uval (x): y + 1)	// { dg-error "modifier should not be specified in" }
22   for (i = 0; i < 10; i++)
23     x += y + 1;
24   #pragma omp for linear (x: y + 1)
25   for (i = 0; i < 10; i++)
26     x += y + 1;
27   #pragma omp for linear (val (x): y + 1)	// { dg-error "modifier should not be specified in" }
28   for (i = 0; i < 10; i++)
29     x += y + 1;
30   #pragma omp for linear (ref (x): y + 1)	// { dg-error "modifier should not be specified in" }
31   for (i = 0; i < 10; i++)
32     x += y + 1;
33   #pragma omp for linear (uval (x): y + 1)	// { dg-error "modifier should not be specified in" }
34   for (i = 0; i < 10; i++)
35     x += y + 1;
36   #pragma omp for simd linear (x: y + 1)
37   for (i = 0; i < 10; i++)
38     x += y + 1;
39   #pragma omp for simd linear (val (x): y + 1)	// { dg-error "modifier should not be specified in" }
40   for (i = 0; i < 10; i++)
41     x += y + 1;
42   #pragma omp for simd linear (ref (x): y + 1)	// { dg-error "modifier should not be specified in" }
43   for (i = 0; i < 10; i++)
44     x += y + 1;
45   #pragma omp for simd linear (uval (x): y + 1)	// { dg-error "modifier should not be specified in" }
46   for (i = 0; i < 10; i++)
47     x += y + 1;
48 }
49