Lines Matching refs:St
26 static Attr *handleFallThroughAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleFallThroughAttr() argument
29 if (isa<SwitchCase>(St)) { in handleFallThroughAttr()
31 << A << St->getBeginLoc(); in handleFallThroughAttr()
53 static Attr *handleSuppressAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleSuppressAttr() argument
71 static Attr *handleLoopHintAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleLoopHintAttr() argument
87 if (!isa<DoStmt, ForStmt, CXXForRangeStmt, WhileStmt>(St)) { in handleLoopHintAttr()
89 S.Diag(St->getBeginLoc(), diag::err_pragma_loop_precedes_nonloop) << Pragma; in handleLoopHintAttr()
139 if (ValueExpr && S.CheckLoopHintExpr(ValueExpr, St->getBeginLoc())) in handleLoopHintAttr()
149 if (S.CheckLoopHintExpr(ValueExpr, St->getBeginLoc())) in handleLoopHintAttr()
184 CallExprFinder(Sema &S, const Stmt *St) : Inherited(S.Context) { Visit(St); } in CallExprFinder() argument
195 void Visit(const Stmt *St) { in Visit() argument
196 if (!St) in Visit()
198 ConstEvaluatedExprVisitor<CallExprFinder>::Visit(St); in Visit()
203 static Attr *handleNoMergeAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleNoMergeAttr() argument
206 CallExprFinder CEF(S, St); in handleNoMergeAttr()
209 S.Diag(St->getBeginLoc(), diag::warn_attribute_ignored_no_calls_in_stmt) in handleNoMergeAttr()
217 static Attr *handleNoInlineAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleNoInlineAttr() argument
221 S.Diag(St->getBeginLoc(), diag::warn_function_attribute_ignored_in_stmt) in handleNoInlineAttr()
226 CallExprFinder CEF(S, St); in handleNoInlineAttr()
228 S.Diag(St->getBeginLoc(), diag::warn_attribute_ignored_no_calls_in_stmt) in handleNoInlineAttr()
236 S.Diag(St->getBeginLoc(), diag::warn_function_stmt_attribute_precedence) in handleNoInlineAttr()
243 static Attr *handleAlwaysInlineAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleAlwaysInlineAttr() argument
247 S.Diag(St->getBeginLoc(), diag::warn_function_attribute_ignored_in_stmt) in handleAlwaysInlineAttr()
252 CallExprFinder CEF(S, St); in handleAlwaysInlineAttr()
254 S.Diag(St->getBeginLoc(), diag::warn_attribute_ignored_no_calls_in_stmt) in handleAlwaysInlineAttr()
262 S.Diag(St->getBeginLoc(), diag::warn_function_stmt_attribute_precedence) in handleAlwaysInlineAttr()
269 static Attr *handleMustTailAttr(Sema &S, Stmt *St, const ParsedAttr &A, in handleMustTailAttr() argument
275 static Attr *handleLikely(Sema &S, Stmt *St, const ParsedAttr &A, in handleLikely() argument
284 static Attr *handleUnlikely(Sema &S, Stmt *St, const ParsedAttr &A, in handleUnlikely() argument
413 static Attr *handleOpenCLUnrollHint(Sema &S, Stmt *St, const ParsedAttr &A, in handleOpenCLUnrollHint() argument
444 static Attr *ProcessStmtAttribute(Sema &S, Stmt *St, const ParsedAttr &A, in ProcessStmtAttribute() argument
464 if (S.checkCommonAttributeFeatures(St, A)) in ProcessStmtAttribute()
469 return handleAlwaysInlineAttr(S, St, A, Range); in ProcessStmtAttribute()
471 return handleFallThroughAttr(S, St, A, Range); in ProcessStmtAttribute()
473 return handleLoopHintAttr(S, St, A, Range); in ProcessStmtAttribute()
475 return handleOpenCLUnrollHint(S, St, A, Range); in ProcessStmtAttribute()
477 return handleSuppressAttr(S, St, A, Range); in ProcessStmtAttribute()
479 return handleNoMergeAttr(S, St, A, Range); in ProcessStmtAttribute()
481 return handleNoInlineAttr(S, St, A, Range); in ProcessStmtAttribute()
483 return handleMustTailAttr(S, St, A, Range); in ProcessStmtAttribute()
485 return handleLikely(S, St, A, Range); in ProcessStmtAttribute()
487 return handleUnlikely(S, St, A, Range); in ProcessStmtAttribute()
493 << A << St->getBeginLoc(); in ProcessStmtAttribute()