================ @@ -2126,14 +2219,16 @@ static ExprResult PointerAuthSignGenericData(Sema &S, CallExpr *Call) { } static ExprResult PointerAuthSignOrAuth(Sema &S, CallExpr *Call, - PointerAuthOpKind OpKind) { + PointerAuthOpKind OpKind, + bool RequireConstant) { if (S.checkArgCount(Call, 3)) return ExprError(); if (checkPointerAuthEnabled(S, Call)) return ExprError(); - if (checkPointerAuthValue(S, Call->getArgs()[0], OpKind) || + if (checkPointerAuthValue(S, Call->getArgs()[0], OpKind, RequireConstant) || ---------------- ahmedbougacha wrote:
This one is actually interesting: we can't do that as-is, because the helper functions take an `Expr *&`, to do type conversion and placeholder expansion in-place; see e.g., `convertArgumentToType`. Another existing user makes the modification explicit using a local and `setArg`, but we have a lot of these calls in the checking code here. We can rename the helper to something explicit though, perhaps `checkAndConvertPointerAuthValue`, and pass the call expr and arg index separately (same for key etc.) https://github.com/llvm/llvm-project/pull/93904 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits