14967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang_cc1 -verify -fopenmp %s 24967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 34967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid foo() { 44967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 54967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 64967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarbool foobool(int argc) { 74967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return argc; 84967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 94967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarstruct S1; // expected-note 2 {{declared here}} expected-note 2 {{forward declaration of 'S1'}} 114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarextern S1 a; 124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S2 { 134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar mutable int a; 144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S2() : a(0) {} 174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarconst S2 b; 194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarconst S2 ba[5]; 204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S3 { 214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int a; 224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S3() : a(0) {} 254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarconst S3 ca[5]; 274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S4 { 284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int a; 294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S4(); // expected-note {{implicitly declared private here}} 304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S4(int v) : a(v) { 334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) 364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < v; ++k) 374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++this->a; 384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S5 { 414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int a; 424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S5() : a(0) {} // expected-note {{implicitly declared private here}} 434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S5(int v) : a(v) {} 464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S5 &operator=(S5 &s) { 474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) private(s.a) // expected-error {{expected variable name or data member of current class}} 504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < s.a; ++k) 514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++s.a; 524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return *this; 534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainartemplate <typename T> 574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S6 { 584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar T a; 604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S6() : a(0) {} 624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S6(T v) : a(v) { 634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) 664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < v; ++k) 674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++this->a; 684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S6 &operator=(S6 &s) { 704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) private(s.a) // expected-error {{expected variable name or data member of current class}} 734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < s.a; ++k) 744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++s.a; 754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return *this; 764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainartemplate <typename T> 804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarclass S7 : public T { 814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar T a; 824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S7() : a(0) {} 834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarpublic: 854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S7(T v) : a(v) { 864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) private(T::a) 894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < a.a; ++k) 904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++this->a.a; 914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S7 &operator=(S7 &s) { 934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a) private(this->a) private(s.a) private(s.T::a) // expected-error 2 {{expected variable name or data member of current class}} 964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < s.a.a; ++k) 974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++s.a.a; 984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return *this; 994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 1004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar}; 1014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 1024967a710c84587c654b56c828382219c3937dacbPirama Arumuga NainarS3 h; 1034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp threadprivate(h) // expected-note 2 {{defined as threadprivate or thread local}} 1044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 1054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainartemplate <class I, class C> 1064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarint foomain(I argc, C **argv) { 1074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar I e(4); 1084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar I g(5); 1094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int i; 1104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int &j = i; 1114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private // expected-error {{expected '(' after 'private'}} 1144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private( // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} 1194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private() // expected-error {{expected expression}} 1244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc // expected-error {{expected ')'}} expected-note {{to match this '('}} 1294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc, // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} 1344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc > 0 ? argv[1] : argv[2]) // expected-error {{expected variable name}} 1394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc) 1444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(S1) // expected-error {{'S1' does not refer to a value}} 1494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a, b) // expected-error {{private variable with incomplete type 'S1'}} 1544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argv[1]) // expected-error {{expected variable name}} 1594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(e, g) 1644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(h) // expected-error {{threadprivate or thread local variable cannot be private}} 1694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd nowait // expected-error {{unexpected OpenMP clause 'nowait' in directive '#pragma omp distribute parallel for simd'}} 1744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel 1774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar { 1784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int v = 0; 1794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int i; 1804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(i) 1834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) { 1844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar i = k; 1854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar v += i; 1864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 1874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 1884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel shared(i) 1894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel private(i) 1904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(j) 1934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 1954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 1964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 1974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(i) 1984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 1994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return 0; 2014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 2024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 2034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarnamespace A { 2044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainardouble x; 2054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp threadprivate(x) // expected-note {{defined as threadprivate or thread local}} 2064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 2074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarnamespace B { 2084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarusing A::x; 2094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 2104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 2114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarint main(int argc, char **argv) { 2124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S4 e(4); 2134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S5 g(5); 2144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S6<float> s6(0.0) , s6_0(1.0); 2154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar S7<S6<float> > s7(0.0) , s7_0(1.0); 2164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int i; 2174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int &j = i; 2184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private // expected-error {{expected '(' after 'private'}} 2214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private( // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} 2264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private() // expected-error {{expected expression}} 2314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc // expected-error {{expected ')'}} expected-note {{to match this '('}} 2364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc, // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} 2414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc > 0 ? argv[1] : argv[2]) // expected-error {{expected variable name}} 2464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argc) 2514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(S1) // expected-error {{'S1' does not refer to a value}} 2564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(a, b) // expected-error {{private variable with incomplete type 'S1'}} 2614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(argv[1]) // expected-error {{expected variable name}} 2664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(e, g) // expected-error {{calling a private constructor of class 'S4'}} expected-error {{calling a private constructor of class 'S5'}} 2714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(h, B::x) // expected-error 2 {{threadprivate or thread local variable cannot be private}} 2764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd nowait // expected-error {{unexpected OpenMP clause 'nowait' in directive '#pragma omp distribute parallel for simd'}} 2814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel 2844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar { 2854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar int i; 2864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(i) 2894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar } 2924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel shared(i) 2934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp parallel private(i) 2944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 2954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 2964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(j) 2974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 2984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 2994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 3004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 3014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(i) 3024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 3034967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ++k; 3044967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar static int m; 3054967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp target 3064967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp teams 3074967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#pragma omp distribute parallel for simd private(m) 3084967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar for (int k = 0; k < argc; ++k) 3094967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar m = k + 2; 3104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 3114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar s6 = s6_0; // expected-note {{in instantiation of member function 'S6<float>::operator=' requested here}} 3124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar s7 = s7_0; // expected-note {{in instantiation of member function 'S7<S6<float> >::operator=' requested here}} 3134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return foomain(argc, argv); // expected-note {{in instantiation of function template specialization 'foomain<int, char>' requested here}} 3144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 3154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 316