================ @@ -7513,6 +7516,30 @@ void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto, } } + auto *CallerFD = dyn_cast<FunctionDecl>(CurContext); + bool IsCalleeStreaming = + (ExtInfo.AArch64SMEAttributes & FunctionType::SME_PStateSMEnabledMask); + bool IsCalleeStreamingCompatible = + (ExtInfo.AArch64SMEAttributes & + FunctionType::SME_PStateSMCompatibleMask); + bool IsBuiltin = (FD && FD->getBuiltinID()); + AnyScalableArgsOrRet |= Proto->getReturnType()->isSizelessVectorType(); + + // If the caller is a function and the callee has a different + // non-compitable streaming attribute. If it passed any VL-based arguments + // or return VL-based value, then warn that the streaming and non-streaming + // vector lengths may be different. ---------------- sdesmalen-arm wrote:
This comment reads a bit strange. What about: ``` // If the call requires a streaming-mode change and has scalable vector // arguments or return values, then warn the user that the streaming and // non-streaming vector lengths may be different. ``` https://github.com/llvm/llvm-project/pull/79842 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits