Lines Matching defs:RetValExp
3507 Expr *RetValExp,
3522 if (RetValExp) {
3524 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false);
3527 RetValExp = ER.get();
3529 return ReturnStmt::Create(Context, ReturnLoc, RetValExp,
3547 if (DeduceFunctionTypeFromReturnExpr(FD, ReturnLoc, RetValExp, AT)) {
3558 if (RetValExp && !isa<InitListExpr>(RetValExp)) {
3559 ExprResult Result = DefaultFunctionArrayLvalueConversion(RetValExp);
3562 RetValExp = Result.get();
3569 FnRetType = RetValExp->getType().getUnqualifiedType();
3573 if (RetValExp) {
3578 << RetValExp->getSourceRange();
3616 if (RetValExp && !isa<InitListExpr>(RetValExp) &&
3618 (RetValExp->isTypeDependent() ||
3619 RetValExp->getType()->isVoidType()))) {
3621 RetValExp->getType()->isVoidType())
3625 RetValExp = nullptr;
3628 } else if (!RetValExp) {
3630 } else if (!RetValExp->isTypeDependent()) {
3642 Entity, NRInfo, RetValExp, SupressSimplerImplicitMoves);
3647 RetValExp = Res.get();
3648 CheckReturnValExpr(RetValExp, FnRetType, ReturnLoc);
3651 if (RetValExp) {
3653 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false);
3656 RetValExp = ER.get();
3659 ReturnStmt::Create(Context, ReturnLoc, RetValExp, NRVOCandidate);
3671 CurBlock && CurCap->HasImplicitReturnType && RetValExp &&
3672 RetValExp->containsErrors())
3830 Sema::ActOnReturnStmt(SourceLocation ReturnLoc, Expr *RetValExp,
3833 // RetValExp should determine the deduced type.
3835 RetValExp, nullptr, /*RecoverUncorrectedTypos=*/true);
3885 StmtResult Sema::BuildReturnStmt(SourceLocation ReturnLoc, Expr *RetValExp,
3888 if (RetValExp && DiagnoseUnexpandedParameterPack(RetValExp))
3895 CheckSimplerImplicitMovesMSVCWorkaround(*this, RetValExp);
3897 RetValExp, SupressSimplerImplicitMoves ? SimplerImplicitMoveMode::ForceOff
3901 return ActOnCapScopeReturnStmt(ReturnLoc, RetValExp, NRInfo,
3915 if (FD->isMain() && RetValExp)
3916 if (isa<CXXBoolLiteralExpr>(RetValExp))
3918 << RetValExp->getSourceRange();
3919 if (FD->hasAttr<CmseNSEntryAttr>() && RetValExp) {
3922 Diag(RetValExp->getBeginLoc(), diag::warn_cmse_nonsecure_union) << 1;
3940 if (RetValExp) {
3941 const auto *ATy = dyn_cast<ArrayType>(RetValExp->getType());
3952 if (RetValExp) {
3954 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false);
3957 RetValExp = ER.get();
3959 return ReturnStmt::Create(Context, ReturnLoc, RetValExp,
3973 DeduceFunctionTypeFromReturnExpr(FD, ReturnLoc, RetValExp, AT)) {
3978 if (RetValExp) {
3982 RetValExp->getBeginLoc(), RetValExp->getEndLoc(), RetValExp,
3986 RetValExp = Recovery.get();
4001 if (RetValExp) {
4002 if (auto *ILE = dyn_cast<InitListExpr>(RetValExp)) {
4016 << CurDecl << FunctionKind << RetValExp->getSourceRange();
4019 RetValExp = AllowRecovery
4024 } else if (!RetValExp->isTypeDependent()) {
4027 if (RetValExp->getType()->isVoidType()) {
4036 ExprResult Result = RetValExp;
4040 RetValExp = Result.get();
4041 RetValExp = ImpCastExprToType(RetValExp,
4048 << RetValExp->getSourceRange();
4064 << CurDecl << FunctionKind << RetValExp->getSourceRange();
4068 if (RetValExp) {
4070 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false);
4073 RetValExp = ER.get();
4077 Result = ReturnStmt::Create(Context, ReturnLoc, RetValExp,
4079 } else if (!RetValExp && !HasDependentReturnType) {
4107 assert(RetValExp || HasDependentReturnType);
4116 if (!HasDependentReturnType && !RetValExp->isTypeDependent()) {
4121 Entity, NRInfo, RetValExp, SupressSimplerImplicitMoves);
4123 Res = CreateRecoveryExpr(RetValExp->getBeginLoc(),
4124 RetValExp->getEndLoc(), RetValExp, RetType);
4129 RetValExp = Res.getAs<Expr>();
4138 Res = PerformCopyInitialization(Entity, ReturnLoc, RetValExp);
4143 RetValExp = Res.getAs<Expr>();
4146 CheckReturnValExpr(RetValExp, FnRetType, ReturnLoc, isObjCMethod, Attrs,
4150 if (RetValExp) {
4152 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false);
4155 RetValExp = ER.get();
4157 Result = ReturnStmt::Create(Context, ReturnLoc, RetValExp, NRVOCandidate);