brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 4064b02 Raw
78 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -o - %s -Wuninitialized2 3// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -o - %s -Wuninitialized4 5void foo() {6}7 8bool foobool(int argc) {9  return argc;10}11 12struct S1; // expected-note {{declared here}}13class S2 {14  mutable int a;15public:16  S2():a(0) { }17  S2 & operator =(S2 &s2) { return *this; }18};19class S3 {20  int a;21public:22  S3():a(0) { }23  S3 &operator =(S3 &s3) { return *this; }24};25class S4 {26  int a;27  S4();28  S4 &operator =(const S4 &s4); // expected-note {{implicitly declared private here}}29public:30  S4(int v):a(v) { }31};32class S5 {33  int a;34  S5():a(0) {}35  S5 &operator =(const S5 &s5) { return *this; } // expected-note {{implicitly declared private here}}36public:37  S5(int v):a(v) { }38};39template <class T>40class ST {41public:42  static T s;43};44 45namespace A {46double x;47#pragma omp threadprivate(x)48}49namespace B {50using A::x;51}52 53S2 k;54S3 h;55S4 l(3);56S5 m(4);57#pragma omp threadprivate(h, k, l, m)58 59int main(int argc, char **argv) {60  int i;61  #pragma omp parallel copyin // expected-error {{expected '(' after 'copyin'}}62  #pragma omp parallel copyin ( // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}63  #pragma omp parallel copyin () // expected-error {{expected expression}}64  #pragma omp parallel copyin (k // expected-error {{expected ')'}} expected-note {{to match this '('}}65  #pragma omp parallel copyin (h, // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}66  #pragma omp parallel copyin (argc > 0 ? argv[1] : argv[2]) // expected-error {{expected variable name}}67  #pragma omp parallel copyin (l) // expected-error {{'operator=' is a private member of 'S4'}}68  #pragma omp parallel copyin (S1) // expected-error {{'S1' does not refer to a value}}69  #pragma omp parallel copyin (argv[1]) // expected-error {{expected variable name}}70  #pragma omp parallel copyin(i) // expected-error {{copyin variable must be threadprivate}}71  #pragma omp parallel copyin(m) // expected-error {{'operator=' is a private member of 'S5'}}72  #pragma omp parallel copyin(ST<int>::s) // expected-error {{copyin variable must be threadprivate}}73  #pragma omp parallel copyin(B::x)74  foo();75 76  return 0;77}78