[clang] [clang][SME] Emit error for OpemMP captured regions in SME functions (PR #124590)

Benjamin Maxwell via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 27 09:38:31 PST 2025


================
@@ -4568,9 +4568,23 @@ buildCapturedStmtCaptureList(Sema &S, CapturedRegionScopeInfo *RSI,
   return false;
 }
 
+static bool
+isOpenMPCapturedRegionInArmStreamingFunction(Sema const &S,
+                                             CapturedRegionKind Kind) {
+  if (!S.getLangOpts().OpenMP || Kind != CR_OpenMP)
+    return false;
+  FunctionDecl *FD = S.getCurFunctionDecl(/*AllowLambda=*/true);
+  if (!FD)
+    return false;
+  return IsArmStreamingFunction(FD, /*IncludeLocallyStreaming=*/true);
----------------
MacDue wrote:

Yes :+1:  (I had wrongly assumed that using ZA/ZT0 implied the function was streaming) 

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


More information about the cfe-commits mailing list