diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-01-04 22:12:13 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2019-01-04 22:12:13 +0000 |
commit | bae586fb0a3d78104b589ad8977e6f29295aa930 (patch) | |
tree | f0d7f9adc7dcf00e301fb434cb99db21ce401a7c /clang/test/OpenMP/simd_linear_messages.cpp | |
parent | d2649292ef268cbc4b80854659a716791ad2c0b9 (diff) | |
download | bcm5719-llvm-bae586fb0a3d78104b589ad8977e6f29295aa930.tar.gz bcm5719-llvm-bae586fb0a3d78104b589ad8977e6f29295aa930.zip |
[OpenMP] Refactor const restriction for linear
As discussed in D56113, this patch refactors the implementation of the
const restriction for linear to reuse a function introduced by D56113.
A side effect is that, if a variable has mutable members, this
diagnostic is now skipped, and the diagnostic for the variable not
being an integer or pointer is reported instead.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D56299
llvm-svn: 350441
Diffstat (limited to 'clang/test/OpenMP/simd_linear_messages.cpp')
-rw-r--r-- | clang/test/OpenMP/simd_linear_messages.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/OpenMP/simd_linear_messages.cpp b/clang/test/OpenMP/simd_linear_messages.cpp index aad0d18d428..3a72ed26fc5 100644 --- a/clang/test/OpenMP/simd_linear_messages.cpp +++ b/clang/test/OpenMP/simd_linear_messages.cpp @@ -132,7 +132,7 @@ template<class I, class C> int foomain(I argc, C **argv) { #pragma omp simd linear (S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; // expected-error@+2 {{linear variable with incomplete type 'S1'}} - // expected-error@+1 {{const-qualified variable cannot be linear}} + // expected-error@+1 {{argument of a linear clause should be of integral or pointer type, not 'S2'}} #pragma omp simd linear (val(a, b):B::ib) for (int k = 0; k < argc; ++k) ++k; #pragma omp simd linear (argv[1]) // expected-error {{expected variable name}} @@ -221,7 +221,7 @@ int main(int argc, char **argv) { #pragma omp simd linear (S1) // expected-error {{'S1' does not refer to a value}} for (int k = 0; k < argc; ++k) ++k; // expected-error@+2 {{linear variable with incomplete type 'S1'}} - // expected-error@+1 {{const-qualified variable cannot be linear}} + // expected-error@+1 {{argument of a linear clause should be of integral or pointer type, not 'S2'}} #pragma omp simd linear(a, b) for (int k = 0; k < argc; ++k) ++k; #pragma omp simd linear (argv[1]) // expected-error {{expected variable name}} |