================
@@ -11899,6 +11899,9 @@ def err_omp_clause_requires_dispatch_construct : Error<
   "'%0' clause requires 'dispatch' context selector">;
 def err_omp_append_args_with_varargs : Error<
   "'append_args' is not allowed with varargs functions">;
+def warn_omp_dispatch_clause_novariants_nocontext : Warning<
----------------
SunilKuravinakop wrote:

In case of :
```
#pragma omp declare variant(foo_variant2) match(user={condition(1)})
#pragma omp declare variant(foo_variant) match(construct={dispatch})
void foo(int x) {
}

#pragma omp dispatch nocontext(c1)
```
the code generated in the if-else is:
```
if(c1) {
   foo_variant2(x)
} else {
  foo_variant(x)
}
```
whereas for `#pragma omp dispatch novariantc2)` it is 
```
if(c2) {
   foo(x)
} else {
  foo_variant(x)
}
```
There is a difference in the code generate at `if` . Hence I cannot use `c1 || 
c2`.

https://github.com/llvm/llvm-project/pull/131838
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to