Lines Matching defs:St
28 static Attr *handleFallThroughAttr(Sema &S, Stmt *St, const ParsedAttr &A,
31 if (isa<SwitchCase>(St)) {
33 << A << St->getBeginLoc();
55 static Attr *handleSuppressAttr(Sema &S, Stmt *St, const ParsedAttr &A,
78 static Attr *handleLoopHintAttr(Sema &S, Stmt *St, const ParsedAttr &A,
94 if (!isa<DoStmt, ForStmt, CXXForRangeStmt, WhileStmt>(St)) {
96 S.Diag(St->getBeginLoc(), diag::err_pragma_loop_precedes_nonloop) << Pragma;
153 if (ValueExpr && S.CheckLoopHintExpr(ValueExpr, St->getBeginLoc(),
164 if (S.CheckLoopHintExpr(ValueExpr, St->getBeginLoc(),
200 CallExprFinder(Sema &S, const Stmt *St) : Inherited(S.Context) { Visit(St); }
211 void Visit(const Stmt *St) {
212 if (!St)
214 ConstEvaluatedExprVisitor<CallExprFinder>::Visit(St);
219 static Attr *handleNoMergeAttr(Sema &S, Stmt *St, const ParsedAttr &A,
222 CallExprFinder CEF(S, St);
225 S.Diag(St->getBeginLoc(), diag::warn_attribute_ignored_no_calls_in_stmt)
286 static Attr *handleNoInlineAttr(Sema &S, Stmt *St, const ParsedAttr &A,
290 S.Diag(St->getBeginLoc(), diag::warn_function_attribute_ignored_in_stmt)
295 if (S.CheckNoInlineAttr(/*OrigSt=*/nullptr, St, A))
301 static Attr *handleAlwaysInlineAttr(Sema &S, Stmt *St, const ParsedAttr &A,
305 S.Diag(St->getBeginLoc(), diag::warn_function_attribute_ignored_in_stmt)
310 if (S.CheckAlwaysInlineAttr(/*OrigSt=*/nullptr, St, A))
316 static Attr *handleCXXAssumeAttr(Sema &S, Stmt *St, const ParsedAttr &A,
318 ExprResult Res = S.ActOnCXXAssumeAttr(St, A, Range);
325 static Attr *handleMustTailAttr(Sema &S, Stmt *St, const ParsedAttr &A,
331 static Attr *handleLikely(Sema &S, Stmt *St, const ParsedAttr &A,
340 static Attr *handleUnlikely(Sema &S, Stmt *St, const ParsedAttr &A,
376 static Attr *handleCodeAlignAttr(Sema &S, Stmt *St, const ParsedAttr &A) {
423 static Attr *handleMSConstexprAttr(Sema &S, Stmt *St, const ParsedAttr &A,
557 static Attr *handleOpenCLUnrollHint(Sema &S, Stmt *St, const ParsedAttr &A,
588 static Attr *handleHLSLLoopHintAttr(Sema &S, Stmt *St, const ParsedAttr &A,
606 if (S.CheckLoopHintExpr(E, St->getBeginLoc(),
621 static Attr *ProcessStmtAttribute(Sema &S, Stmt *St, const ParsedAttr &A,
643 if (S.checkCommonAttributeFeatures(St, A))
648 return handleAlwaysInlineAttr(S, St, A, Range);
650 return handleCXXAssumeAttr(S, St, A, Range);
652 return handleFallThroughAttr(S, St, A, Range);
654 return handleLoopHintAttr(S, St, A, Range);
656 return handleHLSLLoopHintAttr(S, St, A, Range);
658 return handleOpenCLUnrollHint(S, St, A, Range);
660 return handleSuppressAttr(S, St, A, Range);
662 return handleNoMergeAttr(S, St, A, Range);
664 return handleNoInlineAttr(S, St, A, Range);
666 return handleMustTailAttr(S, St, A, Range);
668 return handleLikely(S, St, A, Range);
670 return handleUnlikely(S, St, A, Range);
672 return handleCodeAlignAttr(S, St, A);
674 return handleMSConstexprAttr(S, St, A, Range);
680 << A << A.isRegularKeywordAttribute() << St->getBeginLoc();
701 ExprResult Sema::ActOnCXXAssumeAttr(Stmt *St, const ParsedAttr &A,