Lines Matching full:jump
1 //===--- JumpDiagnostics.cpp - Protected scope jump analysis ------*- C++ -*-=//
49 /// InDiag - The note to emit if there is a jump into this scope.
52 /// OutDiag - The note to emit if there is an indirect jump out
328 // Jump from the catch into the try is not allowed either.
351 // Jump from __except or __finally into the __try are not allowed either.
423 // Jump from the catch to the finally or try is not valid.
435 // Jump from the finally to the try or catch is not valid.
522 Stmt *Jump = Jumps.pop_back_val();
525 if (GotoStmt *GS = dyn_cast<GotoStmt>(Jump)) {
538 if (IndirectGotoStmt *IGS = dyn_cast<IndirectGotoStmt>(Jump)) {
547 SwitchStmt *SS = cast<SwitchStmt>(Jump);
565 /// VerifyIndirectJumps - Verify whether any possible indirect jump
568 /// way to know where the jump is going, we can't implicitly run the
571 /// Thus, an indirect jump is "trivial" if it bypasses no
572 /// initializations and no teardowns. More formally, an indirect jump
576 /// Jump-triviality is transitive but asymmetric.
582 /// jump between A and B is trivial for every indirect goto statement A
597 // down on the number of jump sites we'll have to consider later.
633 // every scope containing a jump site.
638 // entered, then verify that every jump scope can be trivially
648 // Mark all the enclosing scopes from which you can safely jump
664 // Walk through all the jump sites, checking that they can trivially
719 /// Produce primary diagnostic for an indirect jump statement.
720 static void DiagnoseIndirectJumpStmt(Sema &S, IndirectGotoStmt *Jump,
724 S.Diag(Jump->getGotoLoc(), diag::err_indirect_goto_in_protected_scope);
729 /// Produce note diagnostics for a jump into a protected scope.
738 /// Diagnose an indirect jump which is known to cross scopes.
739 void JumpScopeChecker::DiagnoseIndirectJump(IndirectGotoStmt *Jump,
752 DiagnoseIndirectJumpStmt(S, Jump, Target, Diagnosed);
763 DiagnoseIndirectJumpStmt(S, Jump, Target, Diagnosed);
767 // Diagnose this jump if it would be ill-formed in C++98.
769 S.Diag(Jump->getGotoLoc(),
776 /// CheckJump - Validate that the specified jump statement is valid: that it is
794 // If FromScope > ToScope, FromScope is more nested and the jump goes to a
806 // It's okay to jump out from a nested scope.
835 // Handle -Wc++98-compat warnings if the jump is well-formed.