reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1034 S.ActOnDeclStmt(S.ConvertDeclToDeclGroup(Fn.CoroutinePromise), Loc, Loc); 1034 S.ActOnDeclStmt(S.ConvertDeclToDeclGroup(Fn.CoroutinePromise), Loc, Loc); 1084 S.PP.getIdentifierInfo("get_return_object_on_allocation_failure"); 1085 LookupResult Found(S, DN, Loc, Sema::LookupMemberName); 1086 if (!S.LookupQualifiedName(Found, PromiseRecordDecl)) 1091 S.BuildDeclarationNameExpr(SS, Found, /*NeedsADL=*/false); 1095 if (!diagReturnOnAllocFailure(S, DeclNameExpr.get(), PromiseRecordDecl, Fn)) 1099 S.BuildCallExpr(nullptr, DeclNameExpr.get(), Loc, {}, Loc); 1104 S.BuildReturnStmt(Loc, ReturnObjectOnAllocationFailure.get()); 1106 S.Diag(Found.getFoundDecl()->getLocation(), diag::note_member_declared_here) 1108 S.Diag(Fn.FirstCoroutineStmtLoc, diag::note_declared_coroutine_here) 1123 if (S.RequireCompleteType(Loc, PromiseType, diag::err_incomplete_type)) 1158 ExprResult ThisExpr = S.ActOnCXXThis(Loc); 1161 ThisExpr = S.CreateBuiltinUnaryOp(Loc, UO_Deref, ThisExpr.get()); 1174 S.BuildDeclRefExpr(PD, PD->getOriginalType().getNonReferenceType(), 1181 S.FindAllocationFunctions(Loc, SourceRange(), /*NewScope*/ Sema::AFS_Class, 1192 S.FindAllocationFunctions(Loc, SourceRange(), /*NewScope*/ Sema::AFS_Class, 1203 S.FindAllocationFunctions(Loc, SourceRange(), /*NewScope*/ Sema::AFS_Global, 1215 auto *StdNoThrow = buildStdNoThrowDeclRef(S, Loc); 1220 S.FindAllocationFunctions(Loc, SourceRange(), /*NewScope*/ Sema::AFS_Both, 1232 S.Diag(OperatorNew->getLocation(), 1235 S.Diag(Loc, diag::note_coroutine_promise_call_implicitly_required) 1241 if ((OperatorDelete = findDeleteForPromise(S, Loc, PromiseType)) == nullptr) 1245 buildBuiltinCall(S, Loc, Builtin::BI__builtin_coro_frame, {}); 1248 buildBuiltinCall(S, Loc, Builtin::BI__builtin_coro_size, {}); 1253 S.BuildDeclRefExpr(OperatorNew, OperatorNew->getType(), VK_LValue, Loc); 1262 S.BuildCallExpr(S.getCurScope(), NewRef.get(), Loc, NewArgs, Loc); 1262 S.BuildCallExpr(S.getCurScope(), NewRef.get(), Loc, NewArgs, Loc); 1263 NewExpr = S.ActOnFinishFullExpr(NewExpr.get(), /*DiscardedValue*/ false); 1272 S.BuildDeclRefExpr(OperatorDelete, OpDeleteQualType, VK_LValue, Loc); 1277 buildBuiltinCall(S, Loc, Builtin::BI__builtin_coro_free, {FramePtr}); 1288 S.BuildCallExpr(S.getCurScope(), DeleteRef.get(), Loc, DeleteArgs, Loc); 1288 S.BuildCallExpr(S.getCurScope(), DeleteRef.get(), Loc, DeleteArgs, Loc); 1290 S.ActOnFinishFullExpr(DeleteExpr.get(), /*DiscardedValue*/ false); 1309 lookupMember(S, "return_void", PromiseRecordDecl, Loc, HasRVoid); 1311 lookupMember(S, "return_value", PromiseRecordDecl, Loc, HasRValue); 1316 S.Diag(FD.getLocation(), 1319 S.Diag(LRVoid.getRepresentativeDecl()->getLocation(), 1322 S.Diag(LRValue.getRepresentativeDecl()->getLocation(), 1329 S.Diag(FD.getLocation(), 1332 S.Diag(PromiseRecordDecl->getLocation(), diag::note_defined_here) 1339 Fallthrough = S.BuildCoreturnStmt(FD.getLocation(), nullptr, 1341 Fallthrough = S.ActOnFinishFullStmt(Fallthrough.get()); 1355 const bool RequireUnhandledException = S.getLangOpts().CXXExceptions; 1357 if (!lookupMember(S, "unhandled_exception", PromiseRecordDecl, Loc)) { 1363 S.Diag(Loc, DiagID) << PromiseRecordDecl; 1364 S.Diag(PromiseRecordDecl->getLocation(), diag::note_defined_here) 1370 if (!S.getLangOpts().CXXExceptions) 1373 ExprResult UnhandledException = buildPromiseCall(S, Fn.CoroutinePromise, Loc, 1375 UnhandledException = S.ActOnFinishFullExpr(UnhandledException.get(), Loc, 1382 if (!S.getLangOpts().Borland && Fn.FirstSEHTryLoc.isValid()) { 1383 S.Diag(Fn.FirstSEHTryLoc, diag::err_seh_in_a_coroutine_with_cxx_exceptions); 1384 S.Diag(Fn.FirstCoroutineStmtLoc, diag::note_declared_coroutine_here) 1397 buildPromiseCall(S, Fn.CoroutinePromise, Loc, "get_return_object", None); 1430 S.ActOnFinishFullExpr(this->ReturnValue, Loc, /*DiscardedValue*/ false); 1442 S.PerformMoveOrCopyInitialization(Entity, nullptr, FnRetType, ReturnValue); 1443 noteMemberDeclaredHere(S, ReturnValue, Fn); 1448 S.Context, &FD, FD.getLocation(), FD.getLocation(), 1449 &S.PP.getIdentifierTable().get("__coro_gro"), GroType, 1450 S.Context.getTrivialTypeSourceInfo(GroType, Loc), SC_None); 1452 S.CheckVariableDeclarationType(GroDecl); 1457 ExprResult Res = S.PerformMoveOrCopyInitialization(Entity, nullptr, GroType, 1462 Res = S.ActOnFinishFullExpr(Res.get(), /*DiscardedValue*/ false); 1466 S.AddInitializerToDecl(GroDecl, Res.get(), 1469 S.FinalizeDeclaration(GroDecl); 1474 S.ActOnDeclStmt(S.ConvertDeclToDeclGroup(GroDecl), Loc, Loc); 1474 S.ActOnDeclStmt(S.ConvertDeclToDeclGroup(GroDecl), Loc, Loc); 1480 ExprResult declRef = S.BuildDeclRefExpr(GroDecl, GroType, VK_LValue, Loc); 1484 StmtResult ReturnStmt = S.BuildReturnStmt(Loc, declRef.get()); 1486 noteMemberDeclaredHere(S, ReturnValue, Fn);