reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3250 if (RetValExp) { 3252 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false); 3255 RetValExp = ER.get(); 3257 return ReturnStmt::Create(Context, ReturnLoc, RetValExp, 3270 if (DeduceFunctionTypeFromReturnExpr(FD, ReturnLoc, RetValExp, AT)) { 3280 if (RetValExp && !isa<InitListExpr>(RetValExp)) { 3280 if (RetValExp && !isa<InitListExpr>(RetValExp)) { 3281 ExprResult Result = DefaultFunctionArrayLvalueConversion(RetValExp); 3284 RetValExp = Result.get(); 3291 FnRetType = RetValExp->getType().getUnqualifiedType(); 3295 if (RetValExp) { 3300 << RetValExp->getSourceRange(); 3339 if (RetValExp && !isa<InitListExpr>(RetValExp) && 3339 if (RetValExp && !isa<InitListExpr>(RetValExp) && 3341 (RetValExp->isTypeDependent() || 3342 RetValExp->getType()->isVoidType()))) { 3344 RetValExp->getType()->isVoidType()) 3348 RetValExp = nullptr; 3351 } else if (!RetValExp) { 3353 } else if (!RetValExp->isTypeDependent()) { 3362 NRVOCandidate = getCopyElisionCandidate(FnRetType, RetValExp, CES_Strict); 3367 FnRetType, RetValExp); 3372 RetValExp = Res.get(); 3373 CheckReturnValExpr(RetValExp, FnRetType, ReturnLoc); 3375 NRVOCandidate = getCopyElisionCandidate(FnRetType, RetValExp, CES_Strict); 3378 if (RetValExp) { 3380 ActOnFinishFullExpr(RetValExp, ReturnLoc, /*DiscardedValue*/ false); 3383 RetValExp = ER.get(); 3386 ReturnStmt::Create(Context, ReturnLoc, RetValExp, NRVOCandidate);