Home | History | Annotate | Download | only in Sema

Lines Matching refs:FDecl

148 static void SemaBuiltinMemChkCall(Sema &S, FunctionDecl *FDecl,
169 IdentifierInfo *FnName = FDecl->getIdentifier();
262 Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID,
524 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3);
527 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 3, 4);
531 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 1, 3);
560 Context.getExceptionObjectType(FDecl->getParamDecl(0)->getType()),
1229 const NamedDecl *FDecl,
1234 ObjCStringFormatFamily SFFamily = FDecl->getObjCFStringFormattingFamily();
1240 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
1262 S.Diag(FDecl->getLocation(), diag::note_entity_declared_at)
1263 << FDecl->getDeclName();
1276 const NamedDecl *FDecl,
1280 assert((FDecl || Proto) && "Need a function declaration or prototype");
1284 if (FDecl) {
1286 for (const auto *NonNull : FDecl->specific_attrs<NonNullAttr>()) {
1305 if (FDecl && (isa<FunctionDecl>(FDecl) || isa<ObjCMethodDecl>(FDecl))) {
1309 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FDecl))
1312 parms = cast<ObjCMethodDecl>(FDecl)->parameters();
1330 if (const ValueDecl *VD = dyn_cast<ValueDecl>(FDecl)) {
1370 void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
1380 if (FDecl) {
1381 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
1394 : FDecl && isa<FunctionDecl>(FDecl)
1395 ? cast<FunctionDecl>(FDecl)->getNumParams()
1396 : FDecl && isa<ObjCMethodDecl>(FDecl)
1397 ? cast<ObjCMethodDecl>(FDecl)->param_size()
1409 if (FDecl || Proto) {
1410 CheckNonNullArguments(*this, FDecl, Proto, Args, Loc);
1413 if (FDecl) {
1414 for (const auto *I : FDecl->specific_attrs<ArgumentWithTypeTagAttr>())
1422 void Sema::CheckConstructorCall(FunctionDecl *FDecl,
1428 checkCall(FDecl, Proto, Args, /*IsMemberFunction=*/true, Loc, SourceRange(),
1434 bool Sema::CheckFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall,
1437 isa<CXXMethodDecl>(FDecl);
1440 VariadicCallType CallType = getVariadicCallType(FDecl, Proto,
1451 checkCall(FDecl, Proto, llvm::makeArrayRef(Args, NumArgs),
1455 IdentifierInfo *FnInfo = FDecl->getIdentifier();
1461 CheckAbsoluteValueFunction(TheCall, FDecl, FnInfo);
1463 DiagnoseCStringFormatDirectiveInCFAPI(*this, FDecl, Args, NumArgs);
1465 unsigned CMId = FDecl->getMemoryFunctionKind();
1526 VariadicCallType CallType = getVariadicCallType(/*FDecl=*/nullptr, Proto,
1528 checkCall(/*FDecl=*/nullptr, Proto,
1928 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
2034 unsigned BuiltinID = FDecl->getBuiltinID();
2220 NewBuiltinDecl = FDecl;
2294 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
2295 unsigned BuiltinID = FDecl->getBuiltinID();
2840 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
2846 << FDecl->getDeclName() << Arg->getSourceRange();
4923 static unsigned getAbsoluteValueFunctionKind(const FunctionDecl *FDecl) {
4924 const IdentifierInfo *FnInfo = FDecl->getIdentifier();
4928 switch (FDecl->getBuiltinID()) {
4949 return FDecl->getBuiltinID();
4978 const FunctionDecl *FDecl = nullptr;
4980 FDecl = dyn_cast<FunctionDecl>(UsingD->getTargetDecl());
4982 FDecl = dyn_cast<FunctionDecl>(I);
4984 if (!FDecl)
4988 if (FDecl->getNumParams() != 1)
4992 QualType ParamType = FDecl->getParamDecl(0)->getType();
5038 static bool IsFunctionStdAbs(const FunctionDecl *FDecl) {
5039 if (!FDecl)
5042 if (!FDecl->getIdentifier() || !FDecl->getIdentifier()->isStr("abs"))
5045 const NamespaceDecl *ND = dyn_cast<NamespaceDecl>(FDecl->getDeclContext());
5062 const FunctionDecl *FDecl,
5067 unsigned AbsKind = getAbsoluteValueFunctionKind(FDecl);
5068 bool IsStdAbs = IsFunctionStdAbs(FDecl);
5116 << FDecl << ArgType << ParamType;
5135 << FDecl << ParamValueKind << ArgValueKind;