Lines Matching refs:FDecl

239 static void SemaBuiltinMemChkCall(Sema &S, FunctionDecl *FDecl,  in SemaBuiltinMemChkCall()  argument
264 StringRef FunctionName = FDecl->getName(); in SemaBuiltinMemChkCall()
958 Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID, in CheckBuiltinFunctionCall() argument
1309 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "memcpy"); in CheckBuiltinFunctionCall()
1312 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "memmove"); in CheckBuiltinFunctionCall()
1315 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "memset"); in CheckBuiltinFunctionCall()
1318 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "strlcat"); in CheckBuiltinFunctionCall()
1321 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "strlcpy"); in CheckBuiltinFunctionCall()
1324 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "strncat"); in CheckBuiltinFunctionCall()
1327 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "strncpy"); in CheckBuiltinFunctionCall()
1330 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3, "stpncpy"); in CheckBuiltinFunctionCall()
1333 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 3, 4, "memccpy"); in CheckBuiltinFunctionCall()
1336 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 1, 3, "snprintf"); in CheckBuiltinFunctionCall()
1339 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 1, 3, "vsnprintf"); in CheckBuiltinFunctionCall()
1363 Context.getExceptionObjectType(FDecl->getParamDecl(0)->getType()), in CheckBuiltinFunctionCall()
3995 const NamedDecl *FDecl, in DiagnoseCStringFormatDirectiveInCFAPI() argument
4000 ObjCStringFormatFamily SFFamily = FDecl->getObjCFStringFormattingFamily(); in DiagnoseCStringFormatDirectiveInCFAPI()
4006 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) { in DiagnoseCStringFormatDirectiveInCFAPI()
4028 S.Diag(FDecl->getLocation(), diag::note_entity_declared_at) in DiagnoseCStringFormatDirectiveInCFAPI()
4029 << FDecl->getDeclName(); in DiagnoseCStringFormatDirectiveInCFAPI()
4042 const NamedDecl *FDecl, in CheckNonNullArguments() argument
4046 assert((FDecl || Proto) && "Need a function declaration or prototype"); in CheckNonNullArguments()
4050 if (FDecl) { in CheckNonNullArguments()
4052 for (const auto *NonNull : FDecl->specific_attrs<NonNullAttr>()) { in CheckNonNullArguments()
4072 if (FDecl && (isa<FunctionDecl>(FDecl) || isa<ObjCMethodDecl>(FDecl))) { in CheckNonNullArguments()
4076 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FDecl)) in CheckNonNullArguments()
4079 parms = cast<ObjCMethodDecl>(FDecl)->parameters(); in CheckNonNullArguments()
4097 if (const ValueDecl *VD = dyn_cast<ValueDecl>(FDecl)) { in CheckNonNullArguments()
4138 void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto, in checkCall() argument
4148 if (FDecl) { in checkCall()
4149 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) { in checkCall()
4160 auto *FD = dyn_cast_or_null<FunctionDecl>(FDecl); in checkCall()
4164 : FDecl && isa<FunctionDecl>(FDecl) in checkCall()
4165 ? cast<FunctionDecl>(FDecl)->getNumParams() in checkCall()
4166 : FDecl && isa<ObjCMethodDecl>(FDecl) in checkCall()
4167 ? cast<ObjCMethodDecl>(FDecl)->param_size() in checkCall()
4179 if (FDecl || Proto) { in checkCall()
4180 CheckNonNullArguments(*this, FDecl, Proto, Args, Loc); in checkCall()
4183 if (FDecl) { in checkCall()
4184 for (const auto *I : FDecl->specific_attrs<ArgumentWithTypeTagAttr>()) in checkCall()
4195 void Sema::CheckConstructorCall(FunctionDecl *FDecl, in CheckConstructorCall() argument
4201 checkCall(FDecl, Proto, /*ThisArg=*/nullptr, Args, /*IsMemberFunction=*/true, in CheckConstructorCall()
4207 bool Sema::CheckFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall, in CheckFunctionCall() argument
4210 isa<CXXMethodDecl>(FDecl); in CheckFunctionCall()
4213 VariadicCallType CallType = getVariadicCallType(FDecl, Proto, in CheckFunctionCall()
4230 checkCall(FDecl, Proto, ImplicitThis, llvm::makeArrayRef(Args, NumArgs), in CheckFunctionCall()
4234 IdentifierInfo *FnInfo = FDecl->getIdentifier(); in CheckFunctionCall()
4240 CheckAbsoluteValueFunction(TheCall, FDecl); in CheckFunctionCall()
4241 CheckMaxUnsignedZero(TheCall, FDecl); in CheckFunctionCall()
4244 DiagnoseCStringFormatDirectiveInCFAPI(*this, FDecl, Args, NumArgs); in CheckFunctionCall()
4246 unsigned CMId = FDecl->getMemoryFunctionKind(); in CheckFunctionCall()
4815 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl()); in SemaBuiltinAtomicOverloaded() local
4926 unsigned BuiltinID = FDecl->getBuiltinID(); in SemaBuiltinAtomicOverloaded()
5115 NewBuiltinDecl = FDecl; in SemaBuiltinAtomicOverloaded()
5187 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl()); in SemaBuiltinNontemporalOverloaded() local
5188 unsigned BuiltinID = FDecl->getBuiltinID(); in SemaBuiltinNontemporalOverloaded()
5968 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl()); in SemaBuiltinConstantArg() local
5974 << FDecl->getDeclName() << Arg->getSourceRange(); in SemaBuiltinConstantArg()
8497 static unsigned getAbsoluteValueFunctionKind(const FunctionDecl *FDecl) { in getAbsoluteValueFunctionKind() argument
8498 const IdentifierInfo *FnInfo = FDecl->getIdentifier(); in getAbsoluteValueFunctionKind()
8502 switch (FDecl->getBuiltinID()) { in getAbsoluteValueFunctionKind()
8523 return FDecl->getBuiltinID(); in getAbsoluteValueFunctionKind()
8552 const FunctionDecl *FDecl = nullptr; in emitReplacement() local
8554 FDecl = dyn_cast<FunctionDecl>(UsingD->getTargetDecl()); in emitReplacement()
8556 FDecl = dyn_cast<FunctionDecl>(I); in emitReplacement()
8558 if (!FDecl) in emitReplacement()
8562 if (FDecl->getNumParams() != 1) in emitReplacement()
8566 QualType ParamType = FDecl->getParamDecl(0)->getType(); in emitReplacement()
8613 static bool IsStdFunction(const FunctionDecl *FDecl, in IsStdFunction() argument
8615 if (!FDecl) in IsStdFunction()
8617 if (!FDecl->getIdentifier() || !FDecl->getIdentifier()->isStr(Str)) in IsStdFunction()
8619 if (!FDecl->isInStdNamespace()) in IsStdFunction()
8627 const FunctionDecl *FDecl) { in CheckAbsoluteValueFunction() argument
8631 unsigned AbsKind = getAbsoluteValueFunctionKind(FDecl); in CheckAbsoluteValueFunction()
8632 bool IsStdAbs = IsStdFunction(FDecl, "abs"); in CheckAbsoluteValueFunction()
8680 << FDecl << ArgType << ParamType; in CheckAbsoluteValueFunction()
8699 << FDecl << ParamValueKind << ArgValueKind; in CheckAbsoluteValueFunction()
8707 const FunctionDecl *FDecl) { in CheckMaxUnsignedZero() argument
8708 if (!Call || !FDecl) return; in CheckMaxUnsignedZero()
8716 if (!IsStdFunction(FDecl, "max")) return; in CheckMaxUnsignedZero()
8717 const auto * ArgList = FDecl->getTemplateSpecializationArgs(); in CheckMaxUnsignedZero()