Lines Matching refs:Stmt
72 llvm::DenseMap<Stmt*, unsigned> LabelAndGotoScopes;
73 SmallVector<Stmt*, 16> Jumps;
75 SmallVector<Stmt*, 4> IndirectJumps;
80 JumpScopeChecker(Stmt *Body, Sema &S);
86 void BuildScopeInformation(Stmt *S, unsigned &origParentScope);
92 void DiagnoseIndirectOrAsmJump(Stmt *IG, unsigned IGScope, LabelDecl *Target,
94 void CheckJump(Stmt *From, Stmt *To, SourceLocation DiagLoc,
106 JumpScopeChecker::JumpScopeChecker(Stmt *Body, Sema &s) in JumpScopeChecker()
304 void JumpScopeChecker::BuildScopeInformation(Stmt *S, in BuildScopeInformation()
317 case Stmt::AddrLabelExprClass: in BuildScopeInformation()
321 case Stmt::ObjCForCollectionStmtClass: { in BuildScopeInformation()
330 case Stmt::IndirectGotoStmtClass: in BuildScopeInformation()
343 case Stmt::SwitchStmtClass: in BuildScopeInformation()
346 if (Stmt *Init = cast<SwitchStmt>(S)->getInit()) { in BuildScopeInformation()
356 case Stmt::GCCAsmStmtClass: in BuildScopeInformation()
361 case Stmt::GotoStmtClass: in BuildScopeInformation()
369 case Stmt::IfStmtClass: { in BuildScopeInformation()
395 if (Stmt *Else = IS->getElse()) { in BuildScopeInformation()
403 case Stmt::CXXTryStmtClass: { in BuildScopeInformation()
411 if (Stmt *TryBlock = TS->getTryBlock()) in BuildScopeInformation()
428 case Stmt::SEHTryStmtClass: { in BuildScopeInformation()
436 if (Stmt *TryBlock = TS->getTryBlock()) in BuildScopeInformation()
460 case Stmt::DeclStmtClass: { in BuildScopeInformation()
471 case Stmt::StmtExprClass: { in BuildScopeInformation()
486 case Stmt::ObjCAtTryStmtClass: { in BuildScopeInformation()
497 if (Stmt *TryPart = AT->getTryBody()) in BuildScopeInformation()
525 case Stmt::ObjCAtSynchronizedStmtClass: { in BuildScopeInformation()
544 case Stmt::ObjCAutoreleasePoolStmtClass: { in BuildScopeInformation()
558 case Stmt::ExprWithCleanupsClass: { in BuildScopeInformation()
577 case Stmt::MaterializeTemporaryExprClass: { in BuildScopeInformation()
594 case Stmt::CaseStmtClass: in BuildScopeInformation()
595 case Stmt::DefaultStmtClass: in BuildScopeInformation()
596 case Stmt::LabelStmtClass: in BuildScopeInformation()
600 case Stmt::AttributedStmtClass: { in BuildScopeInformation()
609 case Stmt::OpenACCComputeConstructClass: { in BuildScopeInformation()
634 for (Stmt *SubStmt : S->children()) { in BuildScopeInformation()
646 Stmt *Next; in BuildScopeInformation()
667 Stmt *Jump = Jumps.pop_back_val(); in VerifyJumps()
756 using JumpScope = std::pair<unsigned, Stmt *>; in VerifyIndirectJumps()
759 llvm::DenseMap<unsigned, Stmt*> JumpScopesMap; in VerifyIndirectJumps()
760 for (Stmt *IG : IndirectJumps) { in VerifyIndirectJumps()
866 static void DiagnoseIndirectOrAsmJumpStmt(Sema &S, Stmt *Jump, in DiagnoseIndirectOrAsmJumpStmt()
888 void JumpScopeChecker::DiagnoseIndirectOrAsmJump(Stmt *Jump, unsigned JumpScope, in DiagnoseIndirectOrAsmJump()
929 void JumpScopeChecker::CheckJump(Stmt *From, Stmt *To, SourceLocation DiagLoc, in CheckJump()
1033 void Sema::DiagnoseInvalidJumps(Stmt *Body) { in DiagnoseInvalidJumps()