================ @@ -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; + + if (IsScalableArg) { + if (VL && SVL && VL != SVL) ---------------- sdesmalen-arm wrote:
nit: Can you move `VL && SVL && VL != SVL` to a `bool`? https://github.com/llvm/llvm-project/pull/159131 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits