You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[OpenMP 5.2] Deprecate old syntax of linear clause (llvm#70152)
The syntax of the linear clause that specifies its argument and
linear-modifier as linear-modifier(list) was deprecated since OpenMP 5.2
and the step modifier was added for specifying the linear step.
Reference: OpenMP 5.2 Spec, Page 627, Line 15
Copy file name to clipboardExpand all lines: clang/test/OpenMP/for_linear_messages.cpp
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -215,6 +215,8 @@ int main(int argc, char **argv) {
215
215
int i;
216
216
#pragma omp for linear(i)
217
217
for (int k = 0; k < argc; ++k) ++k;
218
+
#pragma omp for linear(val(i)) // omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
Copy file name to clipboardExpand all lines: clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
+17-16Lines changed: 17 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -131,19 +131,19 @@ template<class I, class C> int foomain(I argc, C **argv) {
131
131
for (int k = 0; k < argc; ++k) ++k;
132
132
#pragma omp masked taskloop simd linear (val // expected-error {{use of undeclared identifier 'val'}} expected-error {{expected ')'}} expected-note {{to match this '('}}
133
133
for (int k = 0; k < argc; ++k) ++k;
134
-
#pragma omp masked taskloop simd linear (uval( // expected-error {{expected expression}} expected-error 2 {{expected ')'}} expected-note 2 {{to match this '('}}
134
+
#pragma omp masked taskloop simd linear (uval( // expected-error {{expected expression}} expected-error 2 {{expected ')'}} expected-note 2 {{to match this '('}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
135
135
for (int k = 0; k < argc; ++k) ++k;
136
-
#pragma omp masked taskloop simd linear (ref() // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
136
+
#pragma omp masked taskloop simd linear (ref() // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
137
137
for (int k = 0; k < argc; ++k) ++k;
138
-
#pragma omp masked taskloop simd linear (foo() // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}}
138
+
#pragma omp masked taskloop simd linear (foo() // expected-error {{expected expression}} expected-error {{expected ')'}} expected-note {{to match this '('}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
#pragma omp masked taskloop simd linear(ref(e, g)) // expected-error 2 {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'ref'}}
167
+
#pragma omp masked taskloop simd linear(ref(e, g)) // expected-error 2 {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'ref'}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
168
168
for (int k = 0; k < argc; ++k) ++k;
169
169
#pragma omp masked taskloop simd linear(h, z) // expected-error {{threadprivate or thread local variable cannot be linear}}
170
170
for (int k = 0; k < argc; ++k) ++k;
171
-
#pragma omp masked taskloop simd linear(uval(i)) // expected-error {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'uval'}}
171
+
#pragma omp masked taskloop simd linear(uval(i)) // expected-error {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'uval'}} omp52 {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
172
172
for (int k = 0; k < argc; ++k) ++k;
173
173
#pragma omp parallel
174
174
{
@@ -177,9 +177,9 @@ template<class I, class C> int foomain(I argc, C **argv) {
177
177
#pragma omp masked taskloop simd allocate(omp_thread_mem_alloc: v) linear(v:i) // expected-warning {{allocator with the 'thread' trait access has unspecified behavior on 'masked taskloop simd' directive}}
178
178
for (int k = 0; k < argc; ++k) { i = k; v += i; }
179
179
}
180
-
#pragma omp masked taskloop simd linear(ref(j))
180
+
#pragma omp masked taskloop simd linear(ref(j))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
181
181
for (int k = 0; k < argc; ++k) ++k;
182
-
#pragma omp masked taskloop simd linear(uval(j))
182
+
#pragma omp masked taskloop simd linear(uval(j))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
#pragma omp masked taskloop simd linear(val(f))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
205
205
for (int k = 0; k < argc; ++k) ++k;
206
-
#pragma omp masked taskloop simd linear(uval(f))
206
+
#pragma omp masked taskloop simd linear(uval(f))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
207
207
for (int k = 0; k < argc; ++k) ++k;
208
-
#pragma omp masked taskloop simd linear(ref(f))
208
+
#pragma omp masked taskloop simd linear(ref(f))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
209
209
for (int k = 0; k < argc; ++k) ++k;
210
-
#pragma omp masked taskloop simd linear(foo(f)) // expected-error {{expected one of 'ref', val' or 'uval' modifiers}}
210
+
#pragma omp masked taskloop simd linear(foo(f)) // expected-error {{expected one of 'ref', val' or 'uval' modifiers}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
211
211
for (int k = 0; k < argc; ++k) ++k;
212
212
}
213
213
@@ -233,9 +233,9 @@ int main(int argc, char **argv) {
233
233
for (int k = 0; k < argc; ++k) ++k;
234
234
#pragma omp masked taskloop simd linear (val // expected-error {{use of undeclared identifier 'val'}} expected-error {{expected ')'}} expected-note {{to match this '('}}
// omp52-error@+3 {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
256
257
// expected-error@+2 {{argument of a linear clause should be of integral or pointer type, not 'S4'}}
257
258
// expected-error@+1 {{argument of a linear clause should be of integral or pointer type, not 'S5'}}
@@ -262,12 +263,12 @@ int main(int argc, char **argv) {
262
263
#pragma omp parallel
263
264
{
264
265
int i;
265
-
#pragma omp masked taskloop simd linear(val(i))
266
+
#pragma omp masked taskloop simd linear(val(i))// omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
266
267
for (int k = 0; k < argc; ++k) ++k;
267
268
#ifdef OMP52
268
269
#pragma omp masked taskloop simd linear(i : uval, step(4)) // expected-error {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'uval'}}
269
270
#else
270
-
#pragma omp masked taskloop simd linear(uval(i) : 4) // expected-error {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'uval'}}
271
+
#pragma omp masked taskloop simd linear(uval(i) : 4) // expected-error {{variable of non-reference type 'int' can be used only with 'val' modifier, but used with 'uval'}} omp52-error {{old syntax 'linear-modifier(list)' on 'linear' clause was deprecated, use new syntax 'linear(list: [linear-modifier,] step(step-size))'}}
0 commit comments