diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/OpenMP/for_firstprivate_messages.cpp | 4 | ||||
-rw-r--r-- | clang/test/OpenMP/for_lastprivate_messages.cpp | 4 | ||||
-rw-r--r-- | clang/test/OpenMP/for_private_messages.cpp | 4 | ||||
-rw-r--r-- | clang/test/OpenMP/parallel_firstprivate_codegen.cpp | 14 | ||||
-rw-r--r-- | clang/test/OpenMP/single_codegen.cpp | 6 | ||||
-rw-r--r-- | clang/test/OpenMP/single_copyprivate_messages.cpp | 6 | ||||
-rw-r--r-- | clang/test/OpenMP/task_firstprivate_codegen.cpp | 10 | ||||
-rw-r--r-- | clang/test/OpenMP/task_firstprivate_messages.cpp | 4 | ||||
-rw-r--r-- | clang/test/OpenMP/task_private_codegen.cpp | 10 | ||||
-rw-r--r-- | clang/test/OpenMP/task_private_messages.cpp | 4 |
10 files changed, 29 insertions, 37 deletions
diff --git a/clang/test/OpenMP/for_firstprivate_messages.cpp b/clang/test/OpenMP/for_firstprivate_messages.cpp index f22a33eee9b..2ec81104e77 100644 --- a/clang/test/OpenMP/for_firstprivate_messages.cpp +++ b/clang/test/OpenMP/for_firstprivate_messages.cpp @@ -35,7 +35,7 @@ extern const int f; class S4 { int a; S4(); - S4(const S4 &s4); // expected-note 3 {{implicitly declared private here}} + S4(const S4 &s4); // expected-note 2 {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -154,7 +154,7 @@ int foomain(int argc, char **argv) { void bar(S4 a[2]) { #pragma omp parallel -#pragma omp for firstprivate(a) // expected-error {{calling a private constructor of class 'S4'}} +#pragma omp for firstprivate(a) for (int i = 0; i < 2; ++i) foo(); } diff --git a/clang/test/OpenMP/for_lastprivate_messages.cpp b/clang/test/OpenMP/for_lastprivate_messages.cpp index c3551e2fbab..2fa14b63bd1 100644 --- a/clang/test/OpenMP/for_lastprivate_messages.cpp +++ b/clang/test/OpenMP/for_lastprivate_messages.cpp @@ -36,7 +36,7 @@ const S3 ca[5]; // expected-note {{global variable is predetermined as share extern const int f; // expected-note {{global variable is predetermined as shared}} class S4 { int a; - S4(); // expected-note 4 {{implicitly declared private here}} + S4(); // expected-note 3 {{implicitly declared private here}} S4(const S4 &s4); public: @@ -144,7 +144,7 @@ int foomain(int argc, char **argv) { void bar(S4 a[2]) { #pragma omp parallel -#pragma omp for lastprivate(a) // expected-error {{calling a private constructor of class 'S4'}} +#pragma omp for lastprivate(a) for (int i = 0; i < 2; ++i) foo(); } diff --git a/clang/test/OpenMP/for_private_messages.cpp b/clang/test/OpenMP/for_private_messages.cpp index 3ea0e5460f2..225a1beb99e 100644 --- a/clang/test/OpenMP/for_private_messages.cpp +++ b/clang/test/OpenMP/for_private_messages.cpp @@ -26,7 +26,7 @@ public: const S3 ca[5]; class S4 { int a; - S4(); // expected-note 2 {{implicitly declared private here}} + S4(); // expected-note {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -110,7 +110,7 @@ int foomain(I argc, C **argv) { void bar(S4 a[2]) { #pragma omp parallel -#pragma omp for private(a) // expected-error {{calling a private constructor of class 'S4'}} +#pragma omp for private(a) for (int i = 0; i < 2; ++i) foo(); } diff --git a/clang/test/OpenMP/parallel_firstprivate_codegen.cpp b/clang/test/OpenMP/parallel_firstprivate_codegen.cpp index 00918f67ef6..3f61362a3d9 100644 --- a/clang/test/OpenMP/parallel_firstprivate_codegen.cpp +++ b/clang/test/OpenMP/parallel_firstprivate_codegen.cpp @@ -250,19 +250,19 @@ struct St { ~St() {} }; -void array_func(int a[3], St s[2], int n, long double vla1[n]) { +void array_func(float a[3], St s[2], int n, long double vla1[n]) { double vla2[n]; // ARRAY: @__kmpc_fork_call( -// ARRAY: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 12, i32 4, i1 false) -// ARRAY: call void @_ZN2StC1ERKS_(%struct.St* %{{.+}}, %struct.St* dereferenceable(8) %{{.+}} +// ARRAY: [[PRIV_A:%.+]] = alloca float* +// ARRAY: [[PRIV_S:%.+]] = alloca %struct.St* +// ARRAY: [[PRIV_VLA1:%.+]] = alloca x86_fp80* +// ARRAY: store float* %{{.+}}, float** [[PRIV_A]], +// ARRAY: store %struct.St* %{{.+}}, %struct.St** [[PRIV_S]], +// ARRAY: store x86_fp80* %{{.+}}, x86_fp80** [[PRIV_VLA1]], // ARRAY: call i8* @llvm.stacksave() -// ARRAY: [[SIZE:%.+]] = mul nuw i64 %{{.+}}, 16 -// ARRAY: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 [[SIZE]], i32 16, i1 false) // ARRAY: [[SIZE:%.+]] = mul nuw i64 %{{.+}}, 8 // ARRAY: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 [[SIZE]], i32 8, i1 false) // ARRAY: call void @llvm.stackrestore(i8* -// ARRAY: call void @_ZN2StD1Ev(%struct.St* %{{.+}}) -// ARRAY: br i1 #pragma omp parallel firstprivate(a, s, vla1, vla2) ; } diff --git a/clang/test/OpenMP/single_codegen.cpp b/clang/test/OpenMP/single_codegen.cpp index d3ad969b37f..0593b2aa751 100644 --- a/clang/test/OpenMP/single_codegen.cpp +++ b/clang/test/OpenMP/single_codegen.cpp @@ -178,12 +178,12 @@ struct St { ~St() {} }; -void array_func(int a[3], St s[2]) { +void array_func(int n, int a[n], St s[2]) { // ARRAY: call void @__kmpc_copyprivate(%ident_t* @{{.+}}, i32 %{{.+}}, i64 16, i8* %{{.+}}, void (i8*, i8*)* [[CPY:@.+]], i32 %{{.+}}) #pragma omp single copyprivate(a, s) ; } // ARRAY: define internal void [[CPY]] -// ARRAY: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 12, i32 4, i1 false) -// ARRAY: call dereferenceable(8) %struct.St* @_ZN2StaSERKS_(%struct.St* %{{.+}}, %struct.St* dereferenceable(8) %{{.+}}) +// ARRAY: store i32* %{{.+}}, i32** %{{.+}}, +// ARRAY: store %struct.St* %{{.+}}, %struct.St** %{{.+}}, #endif diff --git a/clang/test/OpenMP/single_copyprivate_messages.cpp b/clang/test/OpenMP/single_copyprivate_messages.cpp index 0995eb07b99..4714753f494 100644 --- a/clang/test/OpenMP/single_copyprivate_messages.cpp +++ b/clang/test/OpenMP/single_copyprivate_messages.cpp @@ -21,7 +21,7 @@ public: class S4 { int a; S4(); - S4 &operator=(const S4 &s4); // expected-note 4 {{implicitly declared private here}} + S4 &operator=(const S4 &s4); // expected-note 3 {{implicitly declared private here}} public: S4(int v) : a(v) {} @@ -105,8 +105,8 @@ T tmain(T argc, C **argv) { return T(); } -void bar(S4 a[2], int n, int b[n]) { // expected-note {{'b' defined here}} -#pragma omp single copyprivate(a, b) // expected-error {{'operator=' is a private member of 'S4'}} expected-error {{arguments of OpenMP clause 'copyprivate' in '#pragma omp single' directive cannot be of variably-modified type 'int [n]'}} +void bar(S4 a[2], int n, int b[n]) { +#pragma omp single copyprivate(a, b) foo(); } diff --git a/clang/test/OpenMP/task_firstprivate_codegen.cpp b/clang/test/OpenMP/task_firstprivate_codegen.cpp index a5eb20cf460..449be6815af 100644 --- a/clang/test/OpenMP/task_firstprivate_codegen.cpp +++ b/clang/test/OpenMP/task_firstprivate_codegen.cpp @@ -408,15 +408,11 @@ struct St { ~St() {} }; -void array_func(int a[3], St s[2]) { +void array_func(int n, float a[n], St s[2]) { // ARRAY: call i8* @__kmpc_omp_task_alloc( -// ARRAY: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 12, i32 4, i1 false) -// ARRAY: call void @_ZN2StC1ERKS_(%struct.St* %{{.+}}, %struct.St* dereferenceable(8) %{{.+}}) -// ARRAY: store i32 (i32, i8*)* bitcast (i32 (i32, %{{[^*]+}}*)* [[DESTRUCTORS:@.+]] to i32 (i32, i8*)*), i32 (i32, i8*)** %{{.+}}, +// ARRAY: store float** %{{.+}}, float*** %{{.+}}, +// ARRAY: store %struct.St** %{{.+}}, %struct.St*** %{{.+}}, // ARRAY: call i32 @__kmpc_omp_task( -// ARRAY: define internal i32 [[DESTRUCTORS]](i32, -// ARRAY: call void @_ZN2StD1Ev(%struct.St* %{{.+}}) -// ARRAY: br i1 #pragma omp task firstprivate(a, s) ; } diff --git a/clang/test/OpenMP/task_firstprivate_messages.cpp b/clang/test/OpenMP/task_firstprivate_messages.cpp index 6052ac588b9..0126d47c50f 100644 --- a/clang/test/OpenMP/task_firstprivate_messages.cpp +++ b/clang/test/OpenMP/task_firstprivate_messages.cpp @@ -51,8 +51,8 @@ public: S3 h; #pragma omp threadprivate(h) // expected-note {{defined as threadprivate or thread local}} -void bar(int n, int b[n]) { // expected-note {{'b' defined here}} -#pragma omp task firstprivate(b) // expected-error {{arguments of OpenMP clause 'firstprivate' in '#pragma omp task' directive cannot be of variably-modified type 'int [n]'}} +void bar(int n, int b[n]) { +#pragma omp task firstprivate(b) foo(); } diff --git a/clang/test/OpenMP/task_private_codegen.cpp b/clang/test/OpenMP/task_private_codegen.cpp index b97b2f7d906..e6f11d3e85a 100644 --- a/clang/test/OpenMP/task_private_codegen.cpp +++ b/clang/test/OpenMP/task_private_codegen.cpp @@ -371,15 +371,11 @@ struct St { ~St() {} }; -void array_func(int a[2], St s[2]) { +void array_func(int n, float a[n], St s[2]) { // ARRAY: call i8* @__kmpc_omp_task_alloc( -// ARRAY-NOT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.+}}, i8* %{{.+}}, i64 12, i32 4, i1 false) -// ARRAY: call void @_ZN2StC1Ev(%struct.St* %{{.+}}) -// ARRAY: store i32 (i32, i8*)* bitcast (i32 (i32, %{{[^*]+}}*)* [[DESTRUCTORS:@.+]] to i32 (i32, i8*)*), i32 (i32, i8*)** %{{.+}}, +// ARRAY: store float** %{{.+}}, float*** %{{.+}}, +// ARRAY: store %struct.St** %{{.+}}, %struct.St*** %{{.+}}, // ARRAY: call i32 @__kmpc_omp_task( -// ARRAY: define internal i32 [[DESTRUCTORS]](i32, -// ARRAY: call void @_ZN2StD1Ev(%struct.St* %{{.+}}) -// ARRAY: br i1 #pragma omp task private(a, s) ; } diff --git a/clang/test/OpenMP/task_private_messages.cpp b/clang/test/OpenMP/task_private_messages.cpp index 34f647b0c53..c2c1f519d0c 100644 --- a/clang/test/OpenMP/task_private_messages.cpp +++ b/clang/test/OpenMP/task_private_messages.cpp @@ -45,8 +45,8 @@ public: int threadvar; #pragma omp threadprivate(threadvar) // expected-note {{defined as threadprivate or thread local}} -void bar(int n, int b[n]) { // expected-note {{'b' defined here}} -#pragma omp task private(b) // expected-error {{arguments of OpenMP clause 'private' in '#pragma omp task' directive cannot be of variably-modified type 'int [n]'}} +void bar(int n, int b[n]) { +#pragma omp task private(b) foo(); } |