[clang] [Sema][AArch64] Emit error for mismatched VLs on streaming mode transitions (PR #159131)

Mariya Podchishchaeva via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 17 01:16:57 PDT 2025


================
@@ -3768,12 +3770,26 @@ void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
       if (!IsCalleeStreamingCompatible &&
           (CallerFnType == SemaARM::ArmStreamingCompatible ||
            ((CallerFnType == SemaARM::ArmStreaming) ^ IsCalleeStreaming))) {
-        if (IsScalableArg)
-          Diag(Loc, diag::warn_sme_streaming_pass_return_vl_to_non_streaming)
-              << /*IsArg=*/true;
-        if (IsScalableRet)
-          Diag(Loc, diag::warn_sme_streaming_pass_return_vl_to_non_streaming)
-              << /*IsArg=*/false;
+        const LangOptions &LO = getLangOpts();
+        auto VL = LO.VScaleMin * 128;
+        auto SVL = LO.VScaleStreamingMin * 128;
----------------
Fznamznon wrote:

The type is not obvious, could you please not use `auto` here?

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


More information about the cfe-commits mailing list