14967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang_cc1 -fsyntax-only -fopenmp -verify %s
24967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
34967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{unexpected OpenMP directive '#pragma omp distribute simd'}}
44967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
54967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
64967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{unexpected OpenMP directive '#pragma omp distribute simd'}}
74967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd foo
84967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
94967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{unexpected OpenMP directive '#pragma omp distribute simd'}}
104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4)
114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_no_clause() {
134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{statement after '#pragma omp distribute simd' must be a for loop}}
234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  ++i;
254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_branch_protected_scope() {
284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i = 0;
294967a710c84587c654b56c828382219c3937dacbPirama Arumuga NainarL1:
304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  ++i;
314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int x[24];
334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i) {
384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    if (i == 5)
394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      goto L1; // expected-error {{use of undeclared label 'L1'}}
404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    else if (i == 6)
414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      return; // expected-error {{cannot return from OpenMP region}}
424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    else if (i == 7)
434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      goto L2;
444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    else if (i == 8) {
454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    L2:
464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      x[i]++;
474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    }
484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  }
494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  if (x[0] == 0)
514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    goto L2; // expected-error {{use of undeclared label 'L2'}}
524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  else if (x[1] == 1)
534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    goto L1;
544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_invalid_clause() {
574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd foo bar
624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_non_identifiers() {
674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i, x;
684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd;
734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(x);
804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd, private(x);
874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarextern int foo();
924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_safelen() {
934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen
984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
1034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(
1044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
1094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen()
1104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
1154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(,
1164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}  expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
1214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(, )
1224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+2 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
1274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
1284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen 4)
1294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4
1364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4,
1434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4, )
1504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// xxpected-error@+1 {{expected expression}}
1554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4)
1564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4 4)
1634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4, , 4)
1704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4)
1754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
1804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
1814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(4, 8)
1824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
1874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(2.5)
1884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
1934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(foo())
1944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
1954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
1964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
1974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
1984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'safelen' clause must be a strictly positive integer value}}
1994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(-5)
2004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'safelen' clause must be a strictly positive integer value}}
2054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(0)
2064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'safelen' clause must be a strictly positive integer value}}
2114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd safelen(5 - 5)
2124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
2154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
2164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_simdlen() {
2174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
2184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
2214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen
2224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
2274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(
2284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
2334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen()
2344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
2394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(,
2404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}  expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
2454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(, )
2464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+2 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
2514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
2524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen 4)
2534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
2584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
2594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4
2604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
2654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
2664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4,
2674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
2724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
2734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4, )
2744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4)
2794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
2844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
2854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4 4)
2864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
2914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
2924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4, , 4)
2934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
2954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
2964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
2974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4)
2984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
2994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
3034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}}
3044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(4, 8)
3054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
3104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(2.5)
3114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
3164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(foo())
3174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'simdlen' clause must be a strictly positive integer value}}
3224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(-5)
3234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'simdlen' clause must be a strictly positive integer value}}
3284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(0)
3294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'simdlen' clause must be a strictly positive integer value}}
3344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd simdlen(5 - 5)
3354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
3384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
3394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_collapse() {
3404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
3414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
3444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse
3454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
3504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(
3514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
3564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse()
3574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
3624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(,
3634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}  expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
3684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(, )
3694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+2 {{extra tokens at the end of '#pragma omp distribute simd' are ignored}}
3744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected '('}}
3754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse 4)
3764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
3784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
3814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
3824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4
3834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
3854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
3884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
3894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4,
3904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
3924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
3934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
3944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
3954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
3964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4, )
3974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
3984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
3994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// xxpected-error@+1 {{expected expression}} expected-note@+1 {{as specified in 'collapse' clause}}
4024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4)
4034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
4054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
4084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
4094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4 4)
4104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
4124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
4154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
4164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4, , 4)
4174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
4194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4)
4224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int i1 = 0; i1 < 16; ++i1)
4234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    for (int i2 = 0; i2 < 16; ++i2)
4244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      for (int i3 = 0; i3 < 16; ++i3)
4254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar        for (int i4 = 0; i4 < 16; ++i4)
4264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar          foo();
4274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}}
4304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+1 {{to match this '('}} expected-note@+1 {{as specified in 'collapse' clause}}
4314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(4, 8)
4324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ; // expected-error {{expected 4 for loops after '#pragma omp distribute simd', but found only 1}}
4344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
4374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(2.5)
4384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expression is not an integer constant expression}}
4434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(foo())
4444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'collapse' clause must be a strictly positive integer value}}
4494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(-5)
4504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'collapse' clause must be a strictly positive integer value}}
4554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(0)
4564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument to 'collapse' clause must be a strictly positive integer value}}
4614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(5 - 5)
4624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+3 {{defined as reduction}}
4654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd collapse(2) reduction(+ : i)
4684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    // expected-note@+1 {{variable with automatic storage duration is predetermined as private; perhaps you forget to enclose 'omp for' directive into a parallel or another task region?}}
4704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    for (int j = 0; j < 16; ++j)
4714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 2 {{reduction variable must be shared}}
4724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{OpenMP constructs may not be nested inside a simd region}}
4734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp for reduction(+ : i, j)
4744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      for (int k = 0; k < 16; ++k)
4754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar        i += j;
4764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
4774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    for (int j = 0; j < 16; ++j)
4814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ : i, j)
4824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar      for (int k = 0; k < 16; ++k)
4834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar        i += j;
4844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
4854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
4864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_linear() {
4874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
4884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
4914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(
4924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
4934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
4944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
4954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
4964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
4974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
4984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(,
4994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
5044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
5054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(, )
5064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
5114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear()
5124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
5174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(int)
5184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
5234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(0)
5244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'x'}}
5294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x)
5304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{use of undeclared identifier 'x'}}
5354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'y'}}
5364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x, y)
5374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{use of undeclared identifier 'x'}}
5424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{use of undeclared identifier 'y'}}
5434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'z'}}
5444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x, y, z)
5454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
5484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int x, y;
5494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
5524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x :)
5534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
5584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x :, )
5594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x : 1)
5644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x : 2 * 2)
5694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
5744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x : 1, y)
5754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
5804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x : 1, y, z : 1)
5814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
5844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as linear}}
5874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{linear variable cannot be linear}}
5884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x) linear(x)
5894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
5924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
5934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
5944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as private}}
5954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{private variable cannot be linear}}
5964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(x) linear(x)
5974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
5984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
5994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as linear}}
6034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{linear variable cannot be private}}
6044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x) private(x)
6054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{zero linear step (x and other variables in clause should probably be const)}}
6114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x, y : 0)
6124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as linear}}
6184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{linear variable cannot be lastprivate}}
6194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(x) lastprivate(x)
6204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as lastprivate}}
6264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{lastprivate variable cannot be linear}}
6274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(x) linear(x)
6284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
6314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_aligned() {
6334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
6344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
6374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(
6384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
6434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
6444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(,
6454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
6504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
6514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(, )
6524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
6574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned()
6584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
6634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(int)
6644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
6694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(0)
6704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'x'}}
6754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x)
6764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{use of undeclared identifier 'x'}}
6814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'y'}}
6824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x, y)
6834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{use of undeclared identifier 'x'}}
6884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{use of undeclared identifier 'y'}}
6894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{use of undeclared identifier 'z'}}
6904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x, y, z)
6914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
6934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
6944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int *x, y, z[25]; // expected-note 4 {{'y' defined here}}
6954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
6964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
6974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x)
6984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
6994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(z)
7034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
7084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x :)
7094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}} expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
7144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x :, )
7154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x : 1)
7204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x : 2 * 2)
7254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
7304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x : 1, y)
7314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
7364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x : 1, y, z : 1)
7374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
7404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument of aligned clause should be array or pointer, not 'int'}}
7434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x, y)
7444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{argument of aligned clause should be array or pointer, not 'int'}}
7494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x, y, z)
7504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
7534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+2 {{defined as aligned}}
7564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{a variable cannot appear in more than one aligned clause}}
7574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x) aligned(z, x)
7584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
7614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-note@+3 {{defined as aligned}}
7644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{a variable cannot appear in more than one aligned clause}}
7654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 2 {{argument of aligned clause should be array or pointer, not 'int'}}
7664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd aligned(x, y, z) aligned(y, z)
7674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
7704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
7714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_private() {
7724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
7734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
7764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected ')'}} expected-note@+1 {{to match this '('}}
7774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(
7784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}} expected-note@+2 {{to match this '('}}
7834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 2 {{expected expression}}
7844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(,
7854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 2 {{expected expression}}
7904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(, )
7914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
7944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
7954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
7964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private()
7974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
7984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
7994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
8024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(int)
8034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
8084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(0)
8094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
8124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int x, y, z;
8134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(x)
8164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(x, y)
8214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd private(x, y, z)
8264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i) {
8274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    x = y * i + z;
8284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  }
8294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
8304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
8314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_firstprivate() {
8324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
8334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}} expected-note@+2 {{to match this '('}}
8364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
8374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd firstprivate(
8384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
8414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
8424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_lastprivate() {
8434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i;
8444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}} expected-note@+2 {{to match this '('}}
8474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
8484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(
8494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
8524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected ')'}} expected-note@+2 {{to match this '('}}
8554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 2 {{expected expression}}
8564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(,
8574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 2 {{expected expression}}
8624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(, )
8634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
8684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate()
8694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
8744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(int)
8754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
8804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(0)
8814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
8844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int x, y, z;
8854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(x)
8884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(x, y)
8934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
8954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
8964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
8974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd lastprivate(x, y, z)
8984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
8994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
9014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
9024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_reduction() {
9034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int i, x, y;
9044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{expected ')'}} expected-note@+3 {{to match this '('}}
9074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected identifier}}
9084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{missing ':' after reduction identifier - ignoring}}
9094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(
9104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected identifier}}
9154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{missing ':' after reduction identifier - ignoring}}
9164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction()
9174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
9224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{missing ':' after reduction identifier - ignoring}}
9234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(x)
9244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected identifier}}
9294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction( : x)
9304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{expected ')'}} expected-note@+3 {{to match this '('}}
9354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected identifier}}
9364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{missing ':' after reduction identifier - ignoring}}
9374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(,
9384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{expected ')'}} expected-note@+3 {{to match this '('}}
9434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{expected expression}}
9444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-warning@+1 {{missing ':' after reduction identifier - ignoring}}
9454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+
9464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
9494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+3 {{expected ')'}} expected-note@+3 {{to match this '('}}
9524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar//
9534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
9544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+:
9554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
9604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ :)
9614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
9664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ :, y)
9674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected expression}}
9724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ : x, + : y)
9734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected identifier}}
9784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(% : x)
9794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
9824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ : x)
9854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(* : x)
9904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(- : x)
9954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
9964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
9974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
9984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
9994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(& : x)
10004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(| : x)
10054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(^ : x)
10104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(&& : x)
10154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(|| : x)
10204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(max : x)
10254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(min : x)
10304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  struct X {
10334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    int x;
10344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  };
10354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  struct X X;
10364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
10394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ : X.x)
10404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+1 {{expected variable name}}
10454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd reduction(+ : x + x)
10464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (i = 0; i < 16; ++i)
10474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    ;
10484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
10494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
10504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_loop_messages() {
10514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  float a[100], b[100], c[100];
10524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{variable must be of integer or pointer type}}
10554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
10564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (float fi = 0; fi < 10.0; fi++) {
10574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    c[(int)fi] = a[(int)fi] + b[(int)fi];
10584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  }
10594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// expected-error@+2 {{variable must be of integer or pointer type}}
10624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd
10634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (double fi = 0; fi < 10.0; fi++) {
10644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar    c[(int)fi] = a[(int)fi] + b[(int)fi];
10654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  }
10664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
10674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
10684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid linear_modifiers(int argc) {
10694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  int f;
10704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(f)
10734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int k = 0; k < argc; ++k) ++k;
10744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(val(f))
10774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int k = 0; k < argc; ++k) ++k;
10784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(uval(f)) // expected-error {{expected 'val' modifier}}
10814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int k = 0; k < argc; ++k) ++k;
10824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(ref(f)) // expected-error {{expected 'val' modifier}}
10854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int k = 0; k < argc; ++k) ++k;
10864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target
10874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams
10884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute simd linear(foo(f)) // expected-error {{expected 'val' modifier}}
10894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar  for (int k = 0; k < argc; ++k) ++k;
10904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}
10914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar
1092