Lines Matching defs:OpKind
1565 static bool checkPointerAuthValue(Sema &S, Expr *&Arg, PointerAuthOpKind OpKind,
1574 auto AllowsPointer = [](PointerAuthOpKind OpKind) {
1575 return OpKind != PAO_BlendInteger;
1577 auto AllowsInteger = [](PointerAuthOpKind OpKind) {
1578 return OpKind == PAO_Discriminator || OpKind == PAO_BlendInteger ||
1579 OpKind == PAO_SignGeneric;
1584 if (AllowsPointer(OpKind) && Arg->getType()->isPointerType()) {
1586 } else if (AllowsPointer(OpKind) && Arg->getType()->isNullPtrType()) {
1588 } else if (AllowsInteger(OpKind) &&
1595 << unsigned(OpKind == PAO_Discriminator ? 1
1596 : OpKind == PAO_BlendPointer ? 2
1597 : OpKind == PAO_BlendInteger ? 3
1599 << unsigned(AllowsInteger(OpKind) ? (AllowsPointer(OpKind) ? 2 : 1) : 0)
1611 if ((OpKind == PAO_Sign || OpKind == PAO_Auth) &&
1613 S.Diag(Arg->getExprLoc(), OpKind == PAO_Sign
1625 if (OpKind == PAO_Sign) {
1648 assert(OpKind == PAO_Discriminator);
1732 PointerAuthOpKind OpKind,
1738 if (checkPointerAuthValue(S, Call->getArgs()[0], OpKind, RequireConstant) ||