Home | History | Annotate | Download | only in Sema

Lines Matching refs:FDecl

151 static void SemaBuiltinMemChkCall(Sema &S, FunctionDecl *FDecl,
172 IdentifierInfo *FnName = FDecl->getIdentifier();
718 Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID,
980 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 2, 3);
983 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 3, 4);
987 SemaBuiltinMemChkCall(*this, FDecl, TheCall, 1, 3);
1011 Context.getExceptionObjectType(FDecl->getParamDecl(0)->getType()),
1943 const NamedDecl *FDecl,
1948 ObjCStringFormatFamily SFFamily = FDecl->getObjCFStringFormattingFamily();
1954 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
1976 S.Diag(FDecl->getLocation(), diag::note_entity_declared_at)
1977 << FDecl->getDeclName();
1990 const NamedDecl *FDecl,
1994 assert((FDecl || Proto) && "Need a function declaration or prototype");
1998 if (FDecl) {
2000 for (const auto *NonNull : FDecl->specific_attrs<NonNullAttr>()) {
2019 if (FDecl && (isa<FunctionDecl>(FDecl) || isa<ObjCMethodDecl>(FDecl))) {
2023 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FDecl))
2026 parms = cast<ObjCMethodDecl>(FDecl)->parameters();
2044 if (const ValueDecl *VD = dyn_cast<ValueDecl>(FDecl)) {
2084 void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
2094 if (FDecl) {
2095 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
2108 : FDecl && isa<FunctionDecl>(FDecl)
2109 ? cast<FunctionDecl>(FDecl)->getNumParams()
2110 : FDecl && isa<ObjCMethodDecl>(FDecl)
2111 ? cast<ObjCMethodDecl>(FDecl)->param_size()
2123 if (FDecl || Proto) {
2124 CheckNonNullArguments(*this, FDecl, Proto, Args, Loc);
2127 if (FDecl) {
2128 for (const auto *I : FDecl->specific_attrs<ArgumentWithTypeTagAttr>())
2136 void Sema::CheckConstructorCall(FunctionDecl *FDecl,
2142 checkCall(FDecl, Proto, Args, /*IsMemberFunction=*/true, Loc, SourceRange(),
2148 bool Sema::CheckFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall,
2151 isa<CXXMethodDecl>(FDecl);
2154 VariadicCallType CallType = getVariadicCallType(FDecl, Proto,
2165 checkCall(FDecl, Proto, llvm::makeArrayRef(Args, NumArgs),
2169 IdentifierInfo *FnInfo = FDecl->getIdentifier();
2175 CheckAbsoluteValueFunction(TheCall, FDecl, FnInfo);
2177 DiagnoseCStringFormatDirectiveInCFAPI(*this, FDecl, Args, NumArgs);
2179 unsigned CMId = FDecl->getMemoryFunctionKind();
2240 VariadicCallType CallType = getVariadicCallType(/*FDecl=*/nullptr, Proto,
2242 checkCall(/*FDecl=*/nullptr, Proto,
2653 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
2759 unsigned BuiltinID = FDecl->getBuiltinID();
2945 NewBuiltinDecl = FDecl;
3019 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
3020 unsigned BuiltinID = FDecl->getBuiltinID();
3571 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
3577 << FDecl->getDeclName() << Arg->getSourceRange();
5812 static unsigned getAbsoluteValueFunctionKind(const FunctionDecl *FDecl) {
5813 const IdentifierInfo *FnInfo = FDecl->getIdentifier();
5817 switch (FDecl->getBuiltinID()) {
5838 return FDecl->getBuiltinID();
5867 const FunctionDecl *FDecl = nullptr;
5869 FDecl = dyn_cast<FunctionDecl>(UsingD->getTargetDecl());
5871 FDecl = dyn_cast<FunctionDecl>(I);
5873 if (!FDecl)
5877 if (FDecl->getNumParams() != 1)
5881 QualType ParamType = FDecl->getParamDecl(0)->getType();
5927 static bool IsFunctionStdAbs(const FunctionDecl *FDecl) {
5928 if (!FDecl)
5931 if (!FDecl->getIdentifier() || !FDecl->getIdentifier()->isStr("abs"))
5934 const NamespaceDecl *ND = dyn_cast<NamespaceDecl>(FDecl->getDeclContext());
5951 const FunctionDecl *FDecl,
5956 unsigned AbsKind = getAbsoluteValueFunctionKind(FDecl);
5957 bool IsStdAbs = IsFunctionStdAbs(FDecl);
6005 << FDecl << ArgType << ParamType;
6024 << FDecl << ParamValueKind << ArgValueKind;