diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
commit | 461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch) | |
tree | 6942083d7d56bba40ec790a453ca58ad3baf6832 /test/OpenMP/declare_reduction_messages.cpp | |
parent | 75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff) |
Diffstat (limited to 'test/OpenMP/declare_reduction_messages.cpp')
-rw-r--r-- | test/OpenMP/declare_reduction_messages.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/OpenMP/declare_reduction_messages.cpp b/test/OpenMP/declare_reduction_messages.cpp index 198d7756d0351..3e5a15ee3dd91 100644 --- a/test/OpenMP/declare_reduction_messages.cpp +++ b/test/OpenMP/declare_reduction_messages.cpp @@ -134,3 +134,21 @@ int main() { } return fun(15) + foo(15); // expected-note {{in instantiation of function template specialization 'foo<int>' requested here}} } + +#if __cplusplus == 201103L +struct A { + A() {} + // expected-note@+1 {{copy constructor is implicitly deleted because 'A' has a user-declared move assignment operator}} + A& operator=(A&&) = default; +}; + +int A_TEST() { + A test; +// expected-error@+1 {{call to implicitly-deleted copy constructor of 'A'}} +#pragma omp declare reduction(+ : A : omp_out) initializer(omp_priv = A()) +// expected-error@+1 {{invalid operands to binary expression ('A' and 'A')}} +#pragma omp parallel reduction(+ : test) + {} + return 0; +} +#endif |