[clang] [OpenMP][Clang] Handle unsupported inscan modifier for generic types (PR #79431)

Alexey Bataev via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 25 03:28:42 PST 2024


================
@@ -19520,6 +19520,13 @@ static bool actOnOMPReductionKindClause(
   bool FirstIter = true;
   for (Expr *RefExpr : VarList) {
     assert(RefExpr && "nullptr expr in OpenMP reduction clause.");
+    if (ClauseKind == OMPC_reduction &&
+        RD.RedModifier == OMPC_REDUCTION_inscan && RefExpr->isTypeDependent()) {
+      S.Diag(RefExpr->getExprLoc(),
+             diag::err_omp_inscan_reduction_on_template_type);
+      continue;
+    }
+
----------------
alexey-bataev wrote:

This is definetely wrong, templates should be supported

https://github.com/llvm/llvm-project/pull/79431


More information about the cfe-commits mailing list