Lines Matching refs:clang

26 void RSCheckAST::VisitStmt(clang::Stmt *S) {
30 for (clang::Stmt::child_iterator I = S->child_begin(), E = S->child_end();
33 if (clang::Stmt *Child = *I) {
39 void RSCheckAST::WarnOnSetElementAt(clang::CallExpr *E) {
40 clang::FunctionDecl *Decl;
41 Decl = clang::dyn_cast_or_null<clang::FunctionDecl>(E->getCalleeDecl());
47 clang::Expr *Expr;
48 clang::ImplicitCastExpr *ImplCast;
50 ImplCast = clang::dyn_cast_or_null<clang::ImplicitCastExpr>(Expr);
56 const clang::Type *Ty;
57 const clang::VectorType *VectorTy;
58 const clang::BuiltinType *ElementTy;
61 VectorTy = clang::dyn_cast_or_null<clang::VectorType>(Ty);
64 ElementTy = clang::dyn_cast_or_null<clang::BuiltinType>(
67 ElementTy = clang::dyn_cast_or_null<clang::BuiltinType>(
90 case clang::BuiltinType::Float:
93 case clang::BuiltinType::Double:
96 case clang::BuiltinType::Char_S:
99 case clang::BuiltinType::Short:
102 case clang::BuiltinType::Int:
105 case clang::BuiltinType::Long:
108 case clang::BuiltinType::UChar:
111 case clang::BuiltinType::UShort:
114 case clang::BuiltinType::UInt:
117 case clang::BuiltinType::ULong:
124 clang::DiagnosticBuilder DiagBuilder =
137 void RSCheckAST::VisitCallExpr(clang::CallExpr *E) {
140 for (clang::CallExpr::arg_iterator AI = E->arg_begin(), AE = E->arg_end();
146 void RSCheckAST::ValidateFunctionDecl(clang::FunctionDecl *FD) {
155 clang::QualType resultType = FD->getReturnType().getCanonicalType();
165 clang::ParmVarDecl *PVD = FD->getParamDecl(i);
166 clang::QualType QT = PVD->getType().getCanonicalType();
177 if (clang::Stmt *Body = FD->getBody()) {
185 void RSCheckAST::ValidateVarDecl(clang::VarDecl *VD) {
190 clang::QualType QT = VD->getType();
192 if (VD->getFormalLinkage() == clang::ExternalLinkage) {
194 const clang::Type *T = QT.getTypePtr();
213 } else if (clang::Expr *Init = VD->getInit()) {
220 void RSCheckAST::VisitDeclStmt(clang::DeclStmt *DS) {
222 for (clang::DeclStmt::decl_iterator I = DS->decl_begin(),
226 if (clang::VarDecl *VD = llvm::dyn_cast<clang::VarDecl>(*I)) {
228 } else if (clang::FunctionDecl *FD =
229 llvm::dyn_cast<clang::FunctionDecl>(*I)) {
237 void RSCheckAST::VisitCastExpr(clang::CastExpr *CE) {
238 if (CE->getCastKind() == clang::CK_BitCast) {
239 clang::QualType QT = CE->getType();
240 const clang::Type *T = QT.getTypePtr();
242 if (llvm::isa<clang::ImplicitCastExpr>(CE)) {
254 void RSCheckAST::VisitExpr(clang::Expr *E) {
274 clang::TranslationUnitDecl *TUDecl = C.getTranslationUnitDecl();
275 for (clang::DeclContext::decl_iterator DI = TUDecl->decls_begin(),
280 if (clang::VarDecl *VD = llvm::dyn_cast<clang::VarDecl>(*DI)) {
282 } else if (clang::FunctionDecl *FD =
283 llvm::dyn_cast<clang::FunctionDecl>(*DI)) {
285 } else if (clang::Stmt *Body = (*DI)->getBody()) {