|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/AST/DeclCXX.h 1847 class CXXDeductionGuideDecl : public FunctionDecl {
1905 class CXXMethodDecl : public FunctionDecl {
Declarations
gen/tools/clang/include/clang/AST/DeclNodes.inc 395 FUNCTION(Function, DeclaratorDecl)
tools/clang/include/clang/AST/ASTConsumer.h 27 class FunctionDecl;
tools/clang/include/clang/AST/ASTMutationListener.h 26 class FunctionDecl;
tools/clang/include/clang/AST/Attr.h 41 class FunctionDecl;
tools/clang/include/clang/AST/DeclBase.h 48 class FunctionDecl;
tools/clang/include/clang/AST/Mangle.h 32 class FunctionDecl;
tools/clang/include/clang/AST/Type.h 108 class FunctionDecl;
tools/clang/include/clang/Analysis/Analyses/Consumed.h 34 class FunctionDecl;
tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h 27 class FunctionDecl;
tools/clang/include/clang/Analysis/BodyFarm.h 25 class FunctionDecl;
tools/clang/include/clang/Analysis/CodeInjector.h 22 class FunctionDecl;
tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h 20 class FunctionDecl;
tools/clang/include/clang/Analysis/ProgramPoint.h 33 class FunctionDecl;
tools/clang/include/clang/CrossTU/CrossTranslationUnit.h 31 class FunctionDecl;
tools/clang/include/clang/Sema/AnalysisBasedWarnings.h 22 class FunctionDecl;
tools/clang/include/clang/Sema/CodeCompleteConsumer.h 41 class FunctionDecl;
tools/clang/include/clang/Sema/Sema.h 122 class FunctionDecl;
tools/clang/include/clang/Sema/Template.h 37 class FunctionDecl;
tools/clang/include/clang/Serialization/ASTReader.h 93 class FunctionDecl;
tools/clang/include/clang/Serialization/ASTWriter.h 70 class FunctionDecl;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 41 class FunctionDecl;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 39 class FunctionDecl;
tools/clang/lib/ARCMigrate/Transforms.h 22 class FunctionDecl;
tools/clang/lib/AST/Interp/Context.h 28 class FunctionDecl;
tools/clang/lib/AST/Interp/EvalEmitter.h 26 class FunctionDecl;
tools/clang/lib/AST/Interp/Frame.h 20 class FunctionDecl;
tools/clang/lib/AST/Interp/Program.h 31 class FunctionDecl;
tools/clang/lib/CodeGen/CGCall.h 37 class FunctionDecl;
tools/clang/lib/CodeGen/CGCleanup.h 30 class FunctionDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h 62 class FunctionDecl;
tools/clang/lib/CodeGen/CodeGenModule.h 54 class FunctionDecl;
tools/lldb/include/lldb/Core/ClangForward.h 63 class FunctionDecl;
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h 25 class FunctionDecl;
References
gen/tools/clang/include/clang/AST/Attrs.inc 3409 FunctionDecl * functionDecl;
3412 static CleanupAttr *CreateImplicit(ASTContext &Ctx, FunctionDecl * FunctionDecl, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
3420 static CleanupAttr *Create(ASTContext &Ctx, FunctionDecl * FunctionDecl, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
3427 static CleanupAttr *CreateImplicit(ASTContext &Ctx, FunctionDecl * FunctionDecl, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
3431 static CleanupAttr *Create(ASTContext &Ctx, FunctionDecl * FunctionDecl, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
3436 , FunctionDecl * FunctionDecl
3447 FunctionDecl * getFunctionDecl() const {
gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc 26 if (!D || (!isa<FunctionDecl>(D))) {
39 if (!D || (!isa<FunctionDecl>(D))) {
52 if (!D || (!isa<FunctionDecl>(D))) {
65 if (!D || (!isa<FunctionDecl>(D))) {
83 if (!D || (!isa<FunctionDecl>(D))) {
107 if (!D || (!isStruct(D) && !isa<VarDecl>(D) && !isa<FunctionDecl>(D) && !isa<NamespaceDecl>(D))) {
123 if (!D || (!isa<FunctionDecl>(D))) {
186 if (!D || (!isa<FunctionDecl>(D) && !isGlobalVar(D))) {
254 if (!D || (!isa<FunctionDecl>(D))) {
280 if (!D || (!isa<FunctionDecl>(D))) {
384 if (!D || (!isa<FunctionDecl>(D))) {
402 if (const auto *S = dyn_cast<FunctionDecl>(D))
402 if (const auto *S = dyn_cast<FunctionDecl>(D))
417 if (!D || (!isa<FunctionDecl>(D))) {
446 if (!D || (!isa<FunctionDecl>(D))) {
455 if (!D || (!isa<FunctionDecl>(D))) {
464 if (!D || (!isa<ObjCMethodDecl>(D) && !isa<FunctionDecl>(D))) {
505 if (!D || (!isa<FunctionDecl>(D))) {
531 if (!D || (!isa<FunctionDecl>(D))) {
544 if (!D || (!isa<FunctionDecl>(D))) {
557 if (!D || (!isa<FunctionDecl>(D))) {
570 if (!D || (!isa<FunctionDecl>(D))) {
605 if (!D || (!isa<FunctionDecl>(D) && !isa<VarDecl>(D))) {
619 if (!D || (!isa<FunctionDecl>(D))) {
632 if (!D || (!isa<FunctionDecl>(D))) {
645 if (!D || (!isa<FunctionDecl>(D))) {
681 if (!D || (!isa<FunctionDecl>(D))) {
707 if (!D || (!isa<FunctionDecl>(D))) {
754 if (!D || (!isa<ParmVarDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<FunctionDecl>(D))) {
784 if (!D || (!isa<FunctionDecl>(D) && !isa<CXXRecordDecl>(D))) {
793 if (!D || (!isa<FunctionDecl>(D))) {
859 if (!D || (!isa<FunctionDecl>(D))) {
911 if (!D || (!isa<FunctionDecl>(D))) {
924 if (!D || (!isa<FunctionDecl>(D) && !isa<VarDecl>(D) && !isa<CXXRecordDecl>(D) && !isa<ObjCInterfaceDecl>(D))) {
945 if (!D || (!isa<FunctionDecl>(D))) {
954 if (!D || (!isa<FunctionDecl>(D) && !isa<VarDecl>(D) && !isa<CXXRecordDecl>(D) && !isa<ObjCInterfaceDecl>(D))) {
970 if (!D || (!isa<FunctionDecl>(D))) {
979 if (!D || (!isa<FunctionDecl>(D))) {
992 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D))) {
1001 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
1029 if (!D || (!isa<FunctionDecl>(D))) {
1055 if (!D || (!isa<VarDecl>(D) && !isa<FunctionDecl>(D) && !isa<CXXRecordDecl>(D))) {
1070 if (!D || (!isa<FunctionDecl>(D))) {
1128 if (!D || (!isa<FunctionDecl>(D))) {
1159 if (!D || (!isa<FunctionDecl>(D))) {
1212 if (!D || (!isa<FunctionDecl>(D))) {
1244 if (!D || (!isa<FunctionDecl>(D))) {
1275 if (!D || (!isa<VarDecl>(D) && !isa<FunctionDecl>(D) && !isa<CXXRecordDecl>(D))) {
1312 if (const auto *S = dyn_cast<FunctionDecl>(D))
1312 if (const auto *S = dyn_cast<FunctionDecl>(D))
1327 if (!D || (!isa<FunctionDecl>(D))) {
1349 if (!D || (!isa<FunctionDecl>(D))) {
1380 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<BlockDecl>(D))) {
1395 if (!D || (!isa<FunctionDecl>(D))) {
1455 if (!D || (!isa<FunctionDecl>(D))) {
1473 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
1487 if (!D || (!isa<FunctionDecl>(D))) {
1500 if (!D || (!isa<FunctionDecl>(D))) {
1513 if (!D || (!isa<FunctionDecl>(D))) {
1551 if (!D || (!isa<FunctionDecl>(D))) {
1619 if (!D || (!isa<FunctionDecl>(D))) {
1632 if (!D || (!isa<FunctionDecl>(D))) {
1689 if (!D || (!isa<FunctionDecl>(D))) {
1715 if (!D || (!isa<FunctionDecl>(D))) {
1728 if (!D || (!isa<FunctionDecl>(D))) {
1741 if (!D || (!isa<FunctionDecl>(D))) {
1754 if (!D || (!isa<FunctionDecl>(D))) {
1767 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isGlobalVar(D))) {
1782 if (!D || (!isa<FunctionDecl>(D) && !isGlobalVar(D))) {
1796 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
1810 if (!D || (!isa<FunctionDecl>(D))) {
1823 if (!D || (!isa<FunctionDecl>(D))) {
1836 if (!D || (!isa<FunctionDecl>(D))) {
1891 if (!D || (!isa<FunctionDecl>(D))) {
1932 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
1948 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D) && !isa<ParmVarDecl>(D))) {
2104 if (!D || (!isNonParmVar(D) && !isa<FunctionDecl>(D) && !isa<BlockDecl>(D) && !isa<ObjCMethodDecl>(D))) {
2301 if (!D || (!isa<FunctionDecl>(D))) {
2314 if (!D || (!isa<FunctionDecl>(D))) {
2345 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
2359 if (!D || (!isa<FunctionDecl>(D))) {
2523 if (!D || (!isa<FunctionDecl>(D))) {
2565 if (!D || (!isa<FunctionDecl>(D))) {
2602 if (!D || (!isa<FunctionDecl>(D))) {
2624 if (!D || (!isa<FunctionDecl>(D))) {
2637 if (!D || (!isa<FunctionDecl>(D))) {
2674 if (!D || (!isa<FunctionDecl>(D))) {
2705 if (!D || (!isa<FunctionDecl>(D) && !isa<ParmVarDecl>(D))) {
2719 if (!D || (!isa<ObjCMethodDecl>(D) && !isa<FunctionDecl>(D))) {
2733 if (!D || (!isa<FunctionDecl>(D))) {
2759 if (!D || (!isa<FunctionDecl>(D) && !isGlobalVar(D) && !isa<ObjCMethodDecl>(D) && !isa<ObjCPropertyDecl>(D))) {
2806 if (!D || (!isa<FunctionDecl>(D))) {
2815 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
2887 if (!D || (!isa<FunctionDecl>(D))) {
2944 if (!D || (!isa<FunctionDecl>(D))) {
3017 if (!D || (!isNonLocalVar(D) && !isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
3057 if (!D || (!isa<FunctionDecl>(D))) {
3121 if (!D || (!isa<VarDecl>(D) && !isa<FunctionDecl>(D) && !isa<CXXRecordDecl>(D))) {
3136 if (!D || (!isa<VarDecl>(D) && !isa<FunctionDecl>(D))) {
3150 if (!D || (!isa<FunctionDecl>(D))) {
3168 if (!D || (!isa<FunctionDecl>(D))) {
3181 if (!D || (!isa<FunctionDecl>(D))) {
3194 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
3232 if (!D || (!isa<FunctionDecl>(D) && !isa<ObjCMethodDecl>(D))) {
3532 return isa<FunctionDecl>(D);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc 586 FunctionDecl * functionDecl = Record.GetLocalDeclAs<FunctionDecl >(Record.readInt());
586 FunctionDecl * functionDecl = Record.GetLocalDeclAs<FunctionDecl >(Record.readInt());
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMap.h 516 ValueArgs &&... Values) {
include/llvm/ADT/DenseMapInfo.h 39 static inline T* getEmptyKey() {
41 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
45 static inline T* getTombstoneKey() {
47 Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
51 static unsigned getHashValue(const T *PtrVal) {
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
56 static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h 34 using SimpleType = From; // The real type this represents...
37 static SimpleType &getSimplifiedValue(From &Val) { return Val; }
41 using NonConstSimpleType = typename simplify_type<From>::SimpleType;
47 static RetType getSimplifiedValue(const From& Val) {
57 static inline bool doit(const From &Val) {
58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
76 static inline bool doit(const From &Val) {
77 return isa_impl<To, From>::doit(Val);
77 return isa_impl<To, From>::doit(Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
142 return isa_impl_wrap<X, const Y,
142 return isa_impl_wrap<X, const Y,
143 typename simplify_type<const Y>::SimpleType>::doit(Val);
168 using ret_type = const To &; // Normal case, return Ty&
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
306 cast_or_null(Y *Val) {
309 return cast<X>(Val);
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
360 typename cast_retty<X, Y>::ret_type>::type
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h 55 struct add_const_past_pointer { using type = const T; };
tools/clang/examples/AnnotateFunctions/AnnotateFunctions.cpp 33 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
33 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp 59 bool VisitFunctionDecl(FunctionDecl *FD) {
66 std::set<FunctionDecl*> LateParsedDecls;
70 for (const FunctionDecl *FD : v.LateParsedDecls) {
tools/clang/include/clang/AST/ASTConsumer.h 57 virtual void HandleInlineFunctionDefinition(FunctionDecl *D) {}
82 virtual void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) {}
tools/clang/include/clang/AST/ASTContext.h 397 FunctionDecl *cudaConfigureCallDecl = nullptr;
1200 void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType);
1215 void adjustExceptionSpec(FunctionDecl *FD,
1277 void setcudaConfigureCallDecl(FunctionDecl *FD) {
1281 FunctionDecl *getcudaConfigureCallDecl() {
1822 std::string getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const;
1933 bool canBuiltinBeRedeclared(const FunctionDecl *) const;
2776 GVALinkage GetGVALinkageForFunction(const FunctionDecl *FD) const;
2790 const FunctionDecl *FD,
2791 llvm::function_ref<void(FunctionDecl *)> Pred) const;
tools/clang/include/clang/AST/ASTMutationListener.h 73 const FunctionDecl *D) {}
77 virtual void ResolvedExceptionSpec(const FunctionDecl *FD) {}
80 virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType);
84 const FunctionDecl *Delete,
88 virtual void CompletedImplicitDefinition(const FunctionDecl *D) {}
99 virtual void FunctionDefinitionInstantiated(const FunctionDecl *D) {}
tools/clang/include/clang/AST/ASTNodeTraverser.h 93 if (!isa<FunctionDecl>(*D) && !isa<ObjCMethodDecl>(*D)) {
356 void VisitFunctionDecl(const FunctionDecl *D) {
429 void dumpTemplateDeclSpecialization(const SpecializationDecl *D) {
430 for (const auto *RedeclWithBadType : D->redecls()) {
434 auto *Redecl = dyn_cast<SpecializationDecl>(RedeclWithBadType);
453 for (const auto *Child : D->specializations())
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
65 return ASTNodeKind(KindToKindId<T>::Id);
65 return ASTNodeKind(KindToKindId<T>::Id);
174 struct KindToKindId<const T> : KindToKindId<T> {};
174 struct KindToKindId<const T> : KindToKindId<T> {};
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
251 const T *get() const {
252 return BaseConverter<T>::get(NodeKind, Storage.buffer);
259 const T &getUnchecked() const {
260 return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
394 static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
395 if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
399 static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
401 return *cast<T>(static_cast<const BaseT *>(
469 : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Attr.h 243 if (const auto *FD = dyn_cast<FunctionDecl>(D))
243 if (const auto *FD = dyn_cast<FunctionDecl>(D))
tools/clang/include/clang/AST/Decl.h 1787 public Redeclarable<FunctionDecl> {
1881 void setInstantiationOfMemberFunction(ASTContext &C, FunctionDecl *FD,
1903 using redeclarable_base = Redeclarable<FunctionDecl>;
1905 FunctionDecl *getNextRedeclarationImpl() override {
1909 FunctionDecl *getPreviousDeclImpl() override {
1913 FunctionDecl *getMostRecentDeclImpl() override {
1931 static FunctionDecl *
1938 return FunctionDecl::Create(C, DC, StartLoc, NameInfo, T, TInfo, SC,
1943 static FunctionDecl *Create(ASTContext &C, DeclContext *DC,
1950 static FunctionDecl *CreateDeserialized(ASTContext &C, unsigned ID);
1982 bool hasBody(const FunctionDecl *&Definition) const;
1985 const FunctionDecl* Definition;
1998 bool isDefined(const FunctionDecl *&Definition) const;
2001 const FunctionDecl* Definition;
2006 FunctionDecl *getDefinition() {
2007 const FunctionDecl *Definition;
2012 const FunctionDecl *getDefinition() const {
2022 Stmt *getBody(const FunctionDecl *&Definition) const;
2025 const FunctionDecl* Definition;
2316 void setPreviousDeclaration(FunctionDecl * PrevDecl);
2318 FunctionDecl *getCanonicalDecl() override;
2319 const FunctionDecl *getCanonicalDecl() const {
2475 FunctionDecl *getInstantiatedFromMemberFunction() const;
2487 void setInstantiationOfMemberFunction(FunctionDecl *FD,
2531 FunctionDecl *getTemplateInstantiationPattern() const;
2641 static DeclContext *castToDeclContext(const FunctionDecl *D) {
2644 static FunctionDecl *castFromDeclContext(const DeclContext *DC) {
4406 decl_type *MostRecent = First->getNextRedeclaration();
4407 RedeclLink = PreviousDeclLink(cast<decl_type>(MostRecent));
tools/clang/include/clang/AST/DeclBase.h 1030 FunctionDecl *getAsFunction() LLVM_READONLY;
1032 const FunctionDecl *getAsFunction() const {
2474 static const ToTy *doit(const DeclContext *Val) {
2478 static ToTy *doit(DeclContext *Val) {
2491 return To::classofKind(Val.getDeclKind());
2514 static const ToTy *doit(const ::clang::DeclContext *Val) {
2515 return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
2521 static ToTy *doit(::clang::DeclContext *Val) {
2522 return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
2536 static ::clang::DeclContext *doit(const FromTy *Val) {
2537 return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h 1441 const FunctionDecl *isLocalClass() const {
1445 return dyn_cast<FunctionDecl>(getDeclContext());
1448 FunctionDecl *isLocalClass() {
1828 static ExplicitSpecifier getFromDecl(FunctionDecl *Function);
1829 static const ExplicitSpecifier getFromDecl(const FunctionDecl *Function) {
1847 class CXXDeductionGuideDecl : public FunctionDecl {
1905 class CXXMethodDecl : public FunctionDecl {
1980 SmallVectorImpl<const FunctionDecl *> &PreventedBy) const;
2008 if (auto *Pattern = getTemplateInstantiationPattern())
2635 FunctionDecl *OperatorDelete = nullptr;
2658 void setOperatorDelete(FunctionDecl *OD, Expr *ThisArg);
2660 const FunctionDecl *getOperatorDelete() const {
tools/clang/include/clang/AST/DeclFriend.h 150 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
150 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
tools/clang/include/clang/AST/DeclTemplate.h 461 llvm::PointerIntPair<FunctionDecl *, 1, bool> Function;
484 FunctionDecl *FD, FunctionTemplateDecl *Template,
504 Create(ASTContext &C, FunctionDecl *FD, FunctionTemplateDecl *Template,
511 FunctionDecl *getFunction() const { return Function.getPointer(); }
771 SpecIterator<EntryType, SETraits, DeclType>,
775 DeclType *, ptrdiff_t, DeclType *, DeclType *> {
775 DeclType *, ptrdiff_t, DeclType *, DeclType *> {
775 DeclType *, ptrdiff_t, DeclType *, DeclType *> {
781 DeclType *operator*() const {
785 DeclType *operator->() const { return **this; }
948 using DeclType = FunctionDecl;
1016 FunctionDecl *getTemplatedDecl() const {
1028 FunctionDecl *findSpecialization(ArrayRef<TemplateArgument> Args,
tools/clang/include/clang/AST/Expr.h 528 static bool isPotentialConstantExpr(const FunctionDecl *FD,
538 const FunctionDecl *FD,
681 const FunctionDecl *Callee,
2656 FunctionDecl *getDirectCallee() {
2657 return dyn_cast_or_null<FunctionDecl>(getCalleeDecl());
2659 const FunctionDecl *getDirectCallee() const {
2660 return dyn_cast_or_null<FunctionDecl>(getCalleeDecl());
2775 const FunctionDecl *FD = getDirectCallee();
tools/clang/include/clang/AST/ExprCXX.h 2108 FunctionDecl *OperatorNew;
2111 FunctionDecl *OperatorDelete;
2165 CXXNewExpr(bool IsGlobalNew, FunctionDecl *OperatorNew,
2166 FunctionDecl *OperatorDelete, bool ShouldPassAlignment,
2180 Create(const ASTContext &Ctx, bool IsGlobalNew, FunctionDecl *OperatorNew,
2181 FunctionDecl *OperatorDelete, bool ShouldPassAlignment,
2218 FunctionDecl *getOperatorNew() const { return OperatorNew; }
2219 void setOperatorNew(FunctionDecl *D) { OperatorNew = D; }
2220 FunctionDecl *getOperatorDelete() const { return OperatorDelete; }
2221 void setOperatorDelete(FunctionDecl *D) { OperatorDelete = D; }
2363 FunctionDecl *OperatorDelete = nullptr;
2371 FunctionDecl *OperatorDelete, Expr *Arg, SourceLocation Loc)
2399 FunctionDecl *getOperatorDelete() const { return OperatorDelete; }
tools/clang/include/clang/AST/GlobalDecl.h 54 GlobalDecl(const FunctionDecl *D, unsigned MVIndex = 0)
tools/clang/include/clang/AST/JSONNodeDumper.h 172 template <typename T> void writePreviousDeclImpl(const Redeclarable<T> *D) {
173 const T *Prev = D->getPreviousDecl();
233 void VisitFunctionDecl(const FunctionDecl *FD);
347 void writeTemplateDeclSpecialization(const SpecializationDecl *SD,
351 for (const auto *RedeclWithBadType : SD->redecls()) {
355 const auto *Redecl = dyn_cast<SpecializationDecl>(RedeclWithBadType);
355 const auto *Redecl = dyn_cast<SpecializationDecl>(RedeclWithBadType);
401 for (const auto *Child : TD->specializations())
tools/clang/include/clang/AST/ODRHash.h 61 void AddFunctionDecl(const FunctionDecl *Function, bool SkipBody = false);
tools/clang/include/clang/AST/RecursiveASTVisitor.h 511 bool TraverseDeclTemplateParameterLists(T *D);
526 bool TraverseFunctionHelper(FunctionDecl *D);
1715 for (auto *FD : D->specializations()) {
1716 for (auto *RD : FD->redecls()) {
1987 bool RecursiveASTVisitor<Derived>::TraverseFunctionHelper(FunctionDecl *D) {
2051 ReturnValue = TraverseFunctionHelper(D);
tools/clang/include/clang/AST/Redeclarable.h 113 DeclLink(PreviousTag, decl_type *D) : Link(NotKnownLatest(Previous(D))) {}
122 decl_type *getPrevious(const decl_type *D) const {
122 decl_type *getPrevious(const decl_type *D) const {
137 void setPrevious(decl_type *D) {
142 void setLatest(decl_type *D) {
166 static DeclLink PreviousDeclLink(decl_type *D) {
187 decl_type *First;
189 decl_type *getNextRedeclaration() const {
203 decl_type *getPreviousDecl() {
208 const decl_type *getPreviousDecl() const {
215 decl_type *getFirstDecl() { return First; }
219 const decl_type *getFirstDecl() const { return First; }
225 decl_type *getMostRecentDecl() {
230 const decl_type *getMostRecentDecl() const {
236 void setPreviousDecl(decl_type *PrevDecl);
241 decl_type *Current = nullptr;
242 decl_type *Starter;
246 using value_type = decl_type *;
247 using reference = decl_type *;
248 using pointer = decl_type *;
253 explicit redecl_iterator(decl_type *C) : Current(C), Starter(C) {}
271 decl_type *Next = Current->getNextRedeclaration();
350 CanonicalDeclPtr(decl_type *Ptr)
355 operator decl_type *() { return Ptr; }
356 operator const decl_type *() const { return Ptr; }
358 decl_type *operator->() { return Ptr; }
359 const decl_type *operator->() const { return Ptr; }
361 decl_type &operator*() { return *Ptr; }
362 const decl_type &operator*() const { return *Ptr; }
374 decl_type *Ptr = nullptr;
383 using CanonicalDeclPtr = clang::CanonicalDeclPtr<decl_type>;
384 using BaseInfo = DenseMapInfo<decl_type *>;
tools/clang/include/clang/AST/TextNodeDumper.h 303 void VisitFunctionDecl(const FunctionDecl *D);
tools/clang/include/clang/AST/Type.h 3730 FunctionType::ExceptionType, Expr *, FunctionDecl *,
3791 FunctionDecl *SourceDecl = nullptr;
3795 FunctionDecl *SourceTemplate = nullptr;
3843 unsigned numTrailingObjects(OverloadToken<FunctionDecl *>) const {
4012 FunctionDecl *getExceptionSpecDecl() const {
4016 return getTrailingObjects<FunctionDecl *>()[0];
4023 FunctionDecl *getExceptionSpecTemplate() const {
4026 return getTrailingObjects<FunctionDecl *>()[1];
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
1181 extern const internal::VariadicDynCastAllOfMatcher<Decl, FunctionDecl>
4419 const Stmt *const Statement = internal::GetBodyMatcher<NodeType>::get(Node);
6330 if (const auto *FD = dyn_cast<FunctionDecl>(&Node))
6330 if (const auto *FD = dyn_cast<FunctionDecl>(&Node))
6474 if(const auto *FuncDeclNode = CurNode.get<FunctionDecl>()) {
6474 if(const auto *FuncDeclNode = CurNode.get<FunctionDecl>()) {
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 141 inline const FunctionProtoType *getFunctionProtoType(const FunctionDecl &Node) {
160 const T *getNodeAs(StringRef ID) const {
165 return It->second.get<T>();
302 virtual bool matches(const T &Node,
309 return matches(DynNode.getUnchecked<T>(), Finder, Builder);
316 class SingleNodeMatcherInterface : public MatcherInterface<T> {
321 virtual bool matchesNode(const T &Node) const = 0;
325 bool matches(const T &Node,
345 DynTypedMatcher(MatcherInterface<T> *Implementation)
346 : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<T>();
479 class WrapperMatcherInterface : public MatcherInterface<T> {
499 explicit Matcher(MatcherInterface<T> *Implementation)
506 Matcher(const Matcher<From> &Other,
507 typename std::enable_if<std::is_base_of<From, T>::value &&
507 typename std::enable_if<std::is_base_of<From, T>::value &&
508 !std::is_same<From, T>::value>::type * = nullptr)
508 !std::is_same<From, T>::value>::type * = nullptr)
520 std::is_same<T, QualType>::value &&
529 static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
534 bool matches(const T &Node,
581 return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
668 class HasOverloadedOperatorNameMatcher : public SingleNodeMatcherInterface<T> {
669 static_assert(std::is_same<T, CXXOperatorCallExpr>::value ||
670 std::is_base_of<FunctionDecl, T>::value,
670 std::is_base_of<FunctionDecl, T>::value,
679 bool matchesNode(const T &Node) const override {
694 bool matchesSpecialized(const FunctionDecl &Node) const {
994 bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
997 static_assert(std::is_base_of<Decl, T>::value ||
998 std::is_base_of<Stmt, T>::value ||
999 std::is_base_of<NestedNameSpecifier, T>::value ||
1000 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1001 std::is_base_of<TypeLoc, T>::value ||
1002 std::is_base_of<QualType, T>::value,
1009 bool matchesDescendantOf(const T &Node,
1013 static_assert(std::is_base_of<Decl, T>::value ||
1014 std::is_base_of<Stmt, T>::value ||
1015 std::is_base_of<NestedNameSpecifier, T>::value ||
1016 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1017 std::is_base_of<TypeLoc, T>::value ||
1018 std::is_base_of<QualType, T>::value,
1026 bool matchesAncestorOf(const T &Node,
1030 static_assert(std::is_base_of<Decl, T>::value ||
1031 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1032 std::is_base_of<Stmt, T>::value ||
1033 std::is_base_of<TypeLoc, T>::value,
1067 using head = T1;
1073 using tail = TypeList<Ts...>;
1084 std::is_base_of<typename AnyTypeList::head, T>::value ||
1085 TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
1146 template <typename To> operator Matcher<To>() const {
1184 operator Matcher<T>() const {
1185 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1202 operator Matcher<T>() const {
1203 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1223 operator Matcher<T>() const {
1224 static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
1243 operator Matcher<T>() const {
1245 ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
1246 .template unconditionalConvertTo<T>();
1255 class BindableMatcher : public Matcher<T> {
1257 explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
1258 explicit BindableMatcher(MatcherInterface<T> *Implementation)
1265 Matcher<T> bind(StringRef ID) const {
1285 class HasMatcher : public WrapperMatcherInterface<T> {
1290 bool matches(const T &Node, ASTMatchFinder *Finder,
1335 template <typename T> operator Matcher<T>() const {
1337 Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1338 getMatchers<T>(std::index_sequence_for<Ps...>()))
1339 .template unconditionalConvertTo<T>();
1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
1376 BindableMatcher<T> makeAllOfComposite(
1377 ArrayRef<const Matcher<T> *> InnerMatchers) {
1388 using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
1395 ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1397 .template unconditionalConvertTo<T>());
1408 ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
1426 bool matches(const T &Node, ASTMatchFinder *Finder,
1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
1446 bool matches(const T &Node, ASTMatchFinder *Finder,
1458 class HasAncestorMatcher : public WrapperMatcherInterface<T> {
1466 bool matches(const T &Node, ASTMatchFinder *Finder,
1480 class ForEachDescendantMatcher : public WrapperMatcherInterface<T> {
1489 bool matches(const T &Node, ASTMatchFinder *Finder,
1557 : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
1558 makeDynCastAllOfComposite<SourceT, TargetT>> {
1750 getTemplateSpecializationArgs(const FunctionDecl &FD) {
1767 static const Stmt *get(const Ty &Node) {
1773 inline const Stmt *GetBodyMatcher<FunctionDecl>::get(const FunctionDecl &Node) {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h 199 ast_matchers::internal::Matcher<T> getTypedMatcher() const {
202 ->template convertTo<T>();
227 : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
228 typedef ast_matchers::internal::Matcher<T> MatcherT;
232 return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Analysis/Analyses/Consumed.h 247 const FunctionDecl *D);
tools/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h 70 llvm::DenseMap<const FunctionDecl *,
81 FunctionParmMutationAnalyzer(const FunctionDecl &Func, ASTContext &Context);
tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h 222 virtual void enterFunction(const FunctionDecl *FD) {}
225 virtual void leaveFunction(const FunctionDecl *FD) {}
tools/clang/include/clang/Analysis/AnyCall.h 70 if (D && ((K == Function && !isa<FunctionDecl>(D)) ||
93 AnyCall(const FunctionDecl *D) : E(nullptr), D(D) {
126 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
126 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
139 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
139 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
161 return cast<FunctionDecl>(D)->getReturnType();
174 return cast<FunctionDecl>(D)->getReturnType();
tools/clang/include/clang/Analysis/BodyFarm.h 36 Stmt *getBody(const FunctionDecl *D);
tools/clang/include/clang/Analysis/CallGraph.h 106 bool VisitFunctionDecl(FunctionDecl *FD) {
tools/clang/include/clang/Analysis/CodeInjector.h 40 virtual Stmt *getBody(const FunctionDecl *D) = 0;
tools/clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h 36 bool followsCreateRule(const FunctionDecl *FD);
tools/clang/include/clang/Analysis/RetainSummaryManager.h 450 typedef llvm::DenseMap<const FunctionDecl*, const RetainSummary *>
499 const RetainSummary *getOSSummaryCreateRule(const FunctionDecl *FD);
502 const RetainSummary *getOSSummaryGetRule(const FunctionDecl *FD);
505 const RetainSummary *getOSSummaryRetainRule(const FunctionDecl *FD);
508 const RetainSummary *getOSSummaryReleaseRule(const FunctionDecl *FD);
511 const RetainSummary *getOSSummaryFreeRule(const FunctionDecl *FD);
516 const RetainSummary *getCFSummaryCreateRule(const FunctionDecl *FD);
517 const RetainSummary *getCFSummaryGetRule(const FunctionDecl *FD);
518 const RetainSummary *getCFCreateGetRuleSummary(const FunctionDecl *FD);
601 const RetainSummary * generateSummary(const FunctionDecl *FD,
605 const RetainSummary *getSummaryForOSObject(const FunctionDecl *FD,
610 const FunctionDecl *FD,
651 Optional<BehaviorSummary> canEval(const CallExpr *CE, const FunctionDecl *FD,
673 const RetainSummary *getFunctionSummary(const FunctionDecl *FD);
696 const FunctionDecl *FD);
tools/clang/include/clang/CodeGen/CodeGenABITypes.h 76 const FunctionDecl *FD);
tools/clang/include/clang/CrossTU/CrossTranslationUnit.h 127 llvm::Expected<const FunctionDecl *>
128 getCrossTUDefinition(const FunctionDecl *FD, StringRef CrossTUDir,
157 llvm::Expected<const FunctionDecl *> importDefinition(const FunctionDecl *FD,
157 llvm::Expected<const FunctionDecl *> importDefinition(const FunctionDecl *FD,
tools/clang/include/clang/Frontend/MultiplexConsumer.h 59 void HandleInlineFunctionDefinition(FunctionDecl *D) override;
64 void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) override;
tools/clang/include/clang/Sema/AnalysisBasedWarnings.h 51 llvm::DenseMap<const FunctionDecl*, VisitFlag> VisitedFD;
tools/clang/include/clang/Sema/CodeCompleteConsumer.h 1027 FunctionDecl *Function;
1039 OverloadCandidate(FunctionDecl *Function)
1053 FunctionDecl *getFunction() const;
tools/clang/include/clang/Sema/ExternalSemaSource.h 192 llvm::MapVector<const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
tools/clang/include/clang/Sema/Initialization.h 909 FunctionDecl *Function;
1217 void AddAddressOverloadResolutionStep(FunctionDecl *Function,
1256 void AddUserConversionStep(FunctionDecl *Function,
tools/clang/include/clang/Sema/Lookup.h 507 DeclClass *getAsSingle() const {
509 return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h 330 llvm::MapVector<const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
tools/clang/include/clang/Sema/Overload.h 404 FunctionDecl* ConversionFunction;
417 SmallVector<std::pair<NamedDecl *, FunctionDecl *>, 4>;
442 void addConversion(NamedDecl *Found, FunctionDecl *D) {
771 FunctionDecl *Function;
926 bool isRewrittenOperator(const FunctionDecl *FD) {
931 bool isAcceptableCandidate(const FunctionDecl *FD) {
938 getRewriteKind(const FunctionDecl *FD, OverloadCandidateParamOrder PO) {
953 bool shouldAddReversed(ASTContext &Ctx, const FunctionDecl *FD);
tools/clang/include/clang/Sema/Sema.h 693 SmallVector<std::pair<FunctionDecl*, FunctionDecl*>, 2>
693 SmallVector<std::pair<FunctionDecl*, FunctionDecl*>, 2>
696 typedef llvm::MapVector<const FunctionDecl *,
833 if (auto *FD = dyn_cast<FunctionDecl>(DC))
833 if (auto *FD = dyn_cast<FunctionDecl>(DC))
854 if (auto *FD = dyn_cast<FunctionDecl>(S.CurContext))
854 if (auto *FD = dyn_cast<FunctionDecl>(S.CurContext))
1598 void UpdateExceptionSpec(FunctionDecl *FD,
1602 bool CheckEquivalentExceptionSpec(FunctionDecl *Old, FunctionDecl *New);
1602 bool CheckEquivalentExceptionSpec(FunctionDecl *Old, FunctionDecl *New);
2164 void MaybeSuggestAddingStaticToDecl(const FunctionDecl *D);
2181 bool CheckConstexprFunctionDefinition(const FunctionDecl *FD,
2191 FunctionDecl *NewFD, LookupResult &Previous,
2196 void CheckMain(FunctionDecl *FD, const DeclSpec &D);
2197 void CheckMSVCRTEntryPoint(FunctionDecl *FD);
2198 Attr *getImplicitCodeSegOrSectionAttrForFunction(const FunctionDecl *FD,
2287 FunctionDecl *FD, const FunctionDecl *EffectiveDefinition = nullptr,
2287 FunctionDecl *FD, const FunctionDecl *EffectiveDefinition = nullptr,
2322 void ActOnFinishInlineFunctionDef(FunctionDecl *D);
2599 DefaultedFunctionKind getDefaultedFunctionKind(const FunctionDecl *FD);
2604 DefaultedComparisonKind getDefaultedComparisonKind(const FunctionDecl *FD) {
2708 FunctionDecl *getCurFunctionDecl();
2832 bool MergeFunctionDecl(FunctionDecl *New, NamedDecl *&Old, Scope *S,
2834 bool MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
2834 bool MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
2842 bool MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old, Scope *S);
2842 bool MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old, Scope *S);
2872 FunctionDecl *New,
2876 bool IsOverload(FunctionDecl *New, FunctionDecl *Old, bool IsForUsingDecl,
2876 bool IsOverload(FunctionDecl *New, FunctionDecl *Old, bool IsForUsingDecl,
3079 void AddOverloadCandidate(FunctionDecl *Function, DeclAccessPair FoundDecl,
3178 NamedDecl *Found, FunctionDecl *Fn,
3189 EnableIfAttr *CheckEnableIf(FunctionDecl *Function, ArrayRef<Expr *> Args,
3203 bool diagnoseArgDependentDiagnoseIfAttrs(const FunctionDecl *Function,
3222 bool checkAddressOfFunctionIsAvailable(const FunctionDecl *Function,
3234 FunctionDecl *
3241 FunctionDecl *
3248 FunctionDecl *
3264 FunctionDecl *Fn);
3267 FunctionDecl *Fn);
3337 CallExpr *CE, FunctionDecl *FD);
3342 void CheckCXXDefaultArguments(FunctionDecl *FD);
3592 FunctionEmissionStatus getEmissionStatus(FunctionDecl *Decl);
3595 bool shouldIgnoreInHostDeviceCheck(FunctionDecl *Callee);
3705 void AddKnownFunctionAttributes(FunctionDecl *FD);
3730 const FunctionDecl *FD = nullptr);
4363 void NoteDeletedFunction(FunctionDecl *FD);
4405 void MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func,
4766 FunctionDecl *FDecl,
5040 bool isInitListConstructor(const FunctionDecl *Ctor);
5145 bool CheckCXXDefaultArgExpr(SourceLocation CallLoc, FunctionDecl *FD,
5151 FunctionDecl *FD,
5397 void CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD);
5401 bool isImplicitlyDeleted(FunctionDecl *FD);
5634 bool isUnavailableAlignedAllocationFunction(const FunctionDecl &FD) const;
5638 void diagnoseUnavailableAlignedAllocation(const FunctionDecl &FD,
5663 FunctionDecl *&OperatorNew,
5664 FunctionDecl *&OperatorDelete,
5671 DeclarationName Name, FunctionDecl* &Operator,
5673 FunctionDecl *FindUsualDeallocationFunction(SourceLocation StartLoc,
5677 FunctionDecl *FindDeallocationFunctionForDestructor(SourceLocation StartLoc,
6391 void MarkAsLateParsedTemplate(FunctionDecl *FD, Decl *FnD,
6393 void UnmarkAsLateParsedTemplate(FunctionDecl *FD);
6427 void CheckExplicitlyDefaultedFunction(FunctionDecl *MD);
6433 bool CheckExplicitlyDefaultedComparison(FunctionDecl *MD,
6613 bool CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl);
6615 bool CheckLiteralOperatorDeclaration(FunctionDecl *FnDecl);
6873 bool CheckDependentFunctionTemplateSpecialization(FunctionDecl *FD,
6878 FunctionDecl *FD, TemplateArgumentListInfo *ExplicitTemplateArgs,
7549 unsigned NumExplicitlySpecified, FunctionDecl *&Specialization,
7558 FunctionDecl *&Specialization, sema::TemplateDeductionInfo &Info,
7566 FunctionDecl *&Specialization,
7579 FunctionDecl *&Specialization,
7606 bool DeduceReturnType(FunctionDecl *FD, SourceLocation Loc,
7623 TypeLoc getReturnTypeLoc(FunctionDecl *FD) const;
7625 bool DeduceFunctionTypeFromReturnExpr(FunctionDecl *FD,
7684 const FunctionDecl *Pattern = nullptr);
7939 FunctionDecl *Entity, ExceptionSpecification,
8322 void SubstExceptionSpec(FunctionDecl *New, const FunctionProtoType *Proto,
8452 FunctionDecl *Function);
8453 FunctionDecl *InstantiateFunctionDeclaration(FunctionTemplateDecl *FTD,
8457 FunctionDecl *Function,
9096 void AddRangeBasedOptnone(FunctionDecl *FD);
9101 void AddOptnoneAttributeIfNoConflicts(FunctionDecl *FD, SourceLocation Loc);
9170 void CheckCompletedCoroutineBody(FunctionDecl *FD, Stmt *&Body);
9191 std::string getOpenCLExtensionsFromDeclExtMap(FunctionDecl *FD);
9200 std::string getOpenCLExtensionsFromExtMap(T* FT, MapT &Map);
9272 void checkOpenMPDeviceFunction(SourceLocation Loc, FunctionDecl *Callee,
9276 void checkOpenMPHostFunction(SourceLocation Loc, FunctionDecl *Callee,
9305 FunctionDecl *Func,
9328 const FunctionDecl *OldFD, const FunctionDecl *NewFD,
9328 const FunctionDecl *OldFD, const FunctionDecl *NewFD,
9786 Optional<std::pair<FunctionDecl *, Expr *>> checkOpenMPDeclareVariantFunction(
9798 FunctionDecl *FD, Expr *VariantRef, SourceRange SR,
10170 VariadicCallType getVariadicCallType(FunctionDecl *FDecl,
10196 bool GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl,
10207 FunctionDecl *FDecl);
10740 llvm::DenseMap<CanonicalDeclPtr<FunctionDecl>,
10747 CanonicalDeclPtr<FunctionDecl> FD;
10761 llvm::DenseMap</* Callee = */ CanonicalDeclPtr<FunctionDecl>,
10772 llvm::DenseMap</* Caller = */ CanonicalDeclPtr<FunctionDecl>,
10773 /* Callees = */ llvm::MapVector<CanonicalDeclPtr<FunctionDecl>,
10810 FunctionDecl *Fn, Sema &S);
10842 FunctionDecl *Fn;
10855 Sema &S, FunctionDecl *OrigCaller, FunctionDecl *OrigCallee,
10855 Sema &S, FunctionDecl *OrigCaller, FunctionDecl *OrigCallee,
10857 const llvm::function_ref<bool(Sema &, FunctionDecl *)> IsKnownEmitted);
10930 CUDAFunctionTarget IdentifyCUDATarget(const FunctionDecl *D,
10936 return IdentifyCUDATarget(dyn_cast<FunctionDecl>(CurContext));
10959 CUDAFunctionPreference IdentifyCUDAPreference(const FunctionDecl *Caller,
10960 const FunctionDecl *Callee);
10967 bool IsAllowedCUDACall(const FunctionDecl *Caller,
10968 const FunctionDecl *Callee) {
10974 void maybeAddCUDAHostDeviceAttrs(FunctionDecl *FD,
10992 bool CheckCUDACall(SourceLocation Loc, FunctionDecl *Callee);
11006 const FunctionDecl *Caller,
11007 SmallVectorImpl<std::pair<DeclAccessPair, FunctionDecl *>> &Matches);
11043 void checkCUDATargetOverload(FunctionDecl *NewFD,
11046 void inheritCUDATargetAttrs(FunctionDecl *FD, const FunctionTemplateDecl &TD);
11247 bool CheckFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall,
11254 void CheckConstructorCall(FunctionDecl *FDecl,
11267 ExprResult CheckBuiltinFunctionCall(FunctionDecl *FDecl,
11269 void checkFortifiedBuiltinMemoryFunction(FunctionDecl *FD, CallExpr *TheCall);
11363 const FunctionDecl *FDecl);
11365 void CheckMaxUnsignedZero(const CallExpr *Call, const FunctionDecl *FDecl);
11381 const FunctionDecl *FD = nullptr);
11697 using FDBaseInfo = DenseMapInfo<clang::CanonicalDeclPtr<clang::FunctionDecl>>;
tools/clang/include/clang/Sema/Template.h 480 Decl *VisitFunctionDecl(FunctionDecl *D,
532 TypeSourceInfo *SubstFunctionType(FunctionDecl *D,
534 bool InitFunctionInstantiation(FunctionDecl *New, FunctionDecl *Tmpl);
534 bool InitFunctionInstantiation(FunctionDecl *New, FunctionDecl *Tmpl);
tools/clang/include/clang/Sema/TypoCorrection.h 156 DeclClass *getCorrectionDeclAs() const {
157 return dyn_cast_or_null<DeclClass>(getCorrectionDecl());
369 return candidate.getCorrectionDeclAs<C>();
tools/clang/include/clang/Serialization/ASTReader.h 537 llvm::SmallMapVector<Decl *, FunctionDecl *, 4> PendingExceptionSpecUpdates;
542 llvm::SmallMapVector<FunctionDecl *, QualType, 4> PendingDeducedTypeUpdates;
1067 SmallVector<std::pair<FunctionDecl *, serialization::TypeID>, 16>
1110 llvm::SmallDenseMap<FunctionDecl *, llvm::SmallVector<FunctionDecl *, 2>, 2>
1110 llvm::SmallDenseMap<FunctionDecl *, llvm::SmallVector<FunctionDecl *, 2>, 2>
1887 T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
1888 return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
2033 llvm::MapVector<const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
2541 T *readDeclAs() {
2542 return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/include/clang/Serialization/ASTWriter.h 723 const FunctionDecl *D) override;
724 void ResolvedExceptionSpec(const FunctionDecl *FD) override;
725 void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) override;
727 const FunctionDecl *Delete,
729 void CompletedImplicitDefinition(const FunctionDecl *D) override;
732 void FunctionDefinitionInstantiated(const FunctionDecl *D) override;
845 void AddFunctionDefinition(const FunctionDecl *FD);
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h 33 ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR);
37 return isa<DECL>(D);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h 248 if (const auto *FD = dyn_cast<FunctionDecl>(D))
248 if (const auto *FD = dyn_cast<FunctionDecl>(D))
474 const FunctionDecl *getDecl() const override {
475 return cast<FunctionDecl>(CallEvent::getDecl());
514 const FunctionDecl *getDecl() const override;
643 CXXInstanceCall(const FunctionDecl *D, ProgramStateRef St,
658 const FunctionDecl *getDecl() const override;
888 const FunctionDecl *getDecl() const override {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h 279 const FunctionDecl *getCalleeDecl(const CallExpr *CE) const;
282 StringRef getCalleeName(const FunctionDecl *FunDecl) const;
286 const FunctionDecl *FunDecl = getCalleeDecl(CE);
295 const FunctionDecl *FunDecl = getCalleeDecl(CE);
309 static bool isCLibraryFunction(const FunctionDecl *FD,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h 597 if (const auto *D = dyn_cast<FunctionDecl>(FD)) {
597 if (const auto *D = dyn_cast<FunctionDecl>(FD)) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 238 DefinedSVal getFunctionPointer(const FunctionDecl *func);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 164 const FunctionDecl *getAsFunctionDecl() const;
tools/clang/lib/ARCMigrate/ObjCMT.cpp 69 const FunctionDecl *FuncDecl, bool ResultAnnotated);
77 const FunctionDecl *FuncDecl);
1416 if (isa<FunctionDecl>(LastFD)) {
1443 if (const FunctionDecl *FuncDecl = dyn_cast<FunctionDecl>(Decl)) {
1443 if (const FunctionDecl *FuncDecl = dyn_cast<FunctionDecl>(Decl)) {
1468 const FunctionDecl *FuncDecl,
1493 for (FunctionDecl::param_const_iterator pi = FuncDecl->param_begin(),
1516 const FunctionDecl *FuncDecl) {
1545 for (FunctionDecl::param_const_iterator pi = FuncDecl->param_begin(),
1923 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(*D)) {
1923 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(*D)) {
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp 127 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
127 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/ARCMigrate/TransGCCalls.cpp 47 if (FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(DRE->getDecl())) {
47 if (FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(DRE->getDecl())) {
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp 135 if (FunctionDecl *FD = callE->getDirectCallee()) {
417 if (FunctionDecl *
418 FD = dyn_cast_or_null<FunctionDecl>(callE->getCalleeDecl()))
430 if (FunctionDecl *
431 FD = dyn_cast_or_null<FunctionDecl>(callE->getCalleeDecl())) {
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp 142 bool TraverseFunctionDecl(FunctionDecl *D) { return true; }
tools/clang/lib/ARCMigrate/Transforms.cpp 86 if (const FunctionDecl *FD = callE->getDirectCallee()) {
tools/clang/lib/AST/ASTContext.cpp 113 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
113 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
299 if (const auto *FD = dyn_cast<FunctionDecl>(&D)) {
299 if (const auto *FD = dyn_cast<FunctionDecl>(&D)) {
313 if (const FunctionDecl *MemberDecl =
552 if (isa<ObjCMethodDecl>(D) || isa<FunctionDecl>(D)) {
2830 void ASTContext::adjustDeducedFunctionResultType(FunctionDecl *FD,
2837 if (FunctionDecl *Next = FD->getPreviousDecl())
2887 FunctionDecl *FD, const FunctionProtoType::ExceptionSpecInfo &ESI,
3881 FunctionType::ExceptionType, Expr *, FunctionDecl *,
6377 ASTContext::getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const {
7695 bool ASTContext::canBuiltinBeRedeclared(const FunctionDecl *FD) const {
9367 void ASTMutationListener::DeducedReturnType(const FunctionDecl *FD,
9759 const FunctionDecl *FD) {
9865 GVALinkage ASTContext::GetGVALinkageForFunction(const FunctionDecl *FD) const {
9878 while (LexicalContext && !isa<FunctionDecl>(LexicalContext))
9889 Context.GetGVALinkageForFunction(cast<FunctionDecl>(LexicalContext));
9964 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
9964 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
9966 if (FD->getTemplatedKind() == FunctionDecl::TK_FunctionTemplate)
9998 isa<FunctionDecl>(D) &&
9999 cast<FunctionDecl>(D)->getTemplateSpecializationKind() ==
10026 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
10026 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
10100 const FunctionDecl *FD,
10101 llvm::function_ref<void(FunctionDecl *)> Pred) const {
10103 llvm::SmallDenseSet<const FunctionDecl*, 4> SeenDecls;
10107 FunctionDecl *CurFD = CurDecl->getAsFunction()->getMostRecentDecl();
tools/clang/lib/AST/ASTDiagnostic.cpp 449 else if (isa<FunctionDecl>(ND))
tools/clang/lib/AST/ASTDumper.cpp 85 void ASTDumper::dumpTemplateDeclSpecialization(const SpecializationDecl *D,
89 for (const auto *RedeclWithBadType : D->redecls()) {
93 auto *Redecl = dyn_cast<SpecializationDecl>(RedeclWithBadType);
132 for (const auto *Child : D->specializations())
tools/clang/lib/AST/ASTImporter.cpp 113 for (auto *R : D->getFirstDecl()->redecls()) {
123 if (auto *FD = dyn_cast<FunctionDecl>(D))
123 if (auto *FD = dyn_cast<FunctionDecl>(D))
124 return getCanonicalForwardRedeclChain<FunctionDecl>(FD);
152 LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
152 LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
155 To = cast_or_null<ImportT>(*ToOrErr);
162 Expected<T *> import(T *From) {
162 Expected<T *> import(T *From) {
166 return cast_or_null<T>(*ToOrErr);
170 Expected<T *> import(const T *From) {
170 Expected<T *> import(const T *From) {
217 -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
218 return ToDeclT::Create(std::forward<Args>(args)...);
229 LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
229 LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
234 CallOverloadedCreateFun<ToDeclT> OC;
245 LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
245 LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
256 GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
257 FromDeclT *FromD, Args &&... args) {
262 ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
292 Decl *FindAndMapDefinition(FunctionDecl *D, FunctionDecl *FoundFunction) {
292 Decl *FindAndMapDefinition(FunctionDecl *D, FunctionDecl *FoundFunction) {
293 const FunctionDecl *Definition = nullptr;
426 Error ImportTemplateInformation(FunctionDecl *FromFD, FunctionDecl *ToFD);
426 Error ImportTemplateInformation(FunctionDecl *FromFD, FunctionDecl *ToFD);
428 Error ImportFunctionDeclBody(FunctionDecl *FromFD, FunctionDecl *ToFD);
428 Error ImportFunctionDeclBody(FunctionDecl *FromFD, FunctionDecl *ToFD);
445 bool IsStructuralMatch(FunctionDecl *From, FunctionDecl *To);
445 bool IsStructuralMatch(FunctionDecl *From, FunctionDecl *To);
464 ExpectedDecl VisitFunctionDecl(FunctionDecl *D);
645 Expected<FunctionDecl *> FindFunctionTemplateSpecialization(
646 FunctionDecl *FromFD);
936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
1547 FunctionDecl *FunDecl;
1548 if (isa<RecordDecl>(D) && (FunDecl = dyn_cast<FunctionDecl>(OrigDC)) &&
2046 bool ASTNodeImporter::IsStructuralMatch(FunctionDecl *From, FunctionDecl *To) {
2046 bool ASTNodeImporter::IsStructuralMatch(FunctionDecl *From, FunctionDecl *To) {
2884 FunctionDecl *FromFD, FunctionDecl *ToFD) {
2884 FunctionDecl *FromFD, FunctionDecl *ToFD) {
2886 case FunctionDecl::TK_NonTemplate:
2887 case FunctionDecl::TK_FunctionTemplate:
2890 case FunctionDecl::TK_MemberSpecialization: {
2893 if (Expected<FunctionDecl *> InstFDOrErr =
2908 case FunctionDecl::TK_FunctionTemplateSpecialization: {
2939 case FunctionDecl::TK_DependentFunctionTemplateSpecialization: {
2968 Expected<FunctionDecl *>
2969 ASTNodeImporter::FindFunctionTemplateSpecialization(FunctionDecl *FromFD) {
2979 auto *FoundSpec = Template->findSpecialization(ToTemplArgs, InsertPos);
2983 Error ASTNodeImporter::ImportFunctionDeclBody(FunctionDecl *FromFD,
2984 FunctionDecl *ToFD) {
2994 ExpectedDecl ASTNodeImporter::VisitFunctionDecl(FunctionDecl *D) {
3017 FunctionDecl *FoundByLookup = nullptr;
3026 FunctionDecl::TK_FunctionTemplateSpecialization) {
3030 if (FunctionDecl *FoundFunction = *FoundFunctionOrErr) {
3046 if (auto *FoundFunction = dyn_cast<FunctionDecl>(FoundDecl)) {
3046 if (auto *FoundFunction = dyn_cast<FunctionDecl>(FoundDecl)) {
3156 FunctionDecl *ToFunction = nullptr;
3182 FunctionDecl *ToOperatorDelete;
3228 auto *Recent = const_cast<FunctionDecl *>(
5028 auto *ToTemplatedDef = D->getTemplatedDecl()->getDefinition();
5603 FunctionDecl *TemplatedFD;
5624 auto *PrevTemplated =
7065 FunctionDecl *ToOperatorNew, *ToOperatorDelete;
7095 FunctionDecl *ToOperatorDelete;
tools/clang/lib/AST/ASTStructuralEquivalence.cpp 1564 FunctionDecl *D1, FunctionDecl *D2) {
1564 FunctionDecl *D1, FunctionDecl *D2) {
1852 } else if (FunctionDecl *FD1 = dyn_cast<FunctionDecl>(D1)) {
1852 } else if (FunctionDecl *FD1 = dyn_cast<FunctionDecl>(D1)) {
1853 if (FunctionDecl *FD2 = dyn_cast<FunctionDecl>(D2)) {
1853 if (FunctionDecl *FD2 = dyn_cast<FunctionDecl>(D2)) {
tools/clang/lib/AST/Comment.cpp 233 const FunctionDecl *FD = cast<FunctionDecl>(CommentDecl);
233 const FunctionDecl *FD = cast<FunctionDecl>(CommentDecl);
266 const FunctionDecl *FD = FTD->getTemplatedDecl();
tools/clang/lib/AST/CommentSema.cpp 684 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
684 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
812 isa<FunctionDecl>(ThisDeclInfo->CurrentDecl);
818 if (const FunctionDecl *FD =
819 dyn_cast<FunctionDecl>(ThisDeclInfo->CurrentDecl))
tools/clang/lib/AST/Decl.cpp 305 if (isa<FunctionDecl>(DC) || isa<BlockDecl>(DC))
367 static bool shouldConsiderTemplateVisibility(const FunctionDecl *fn,
387 LinkageInfo &LV, const FunctionDecl *fn,
536 const auto *FD = dyn_cast<FunctionDecl>(D);
536 const auto *FD = dyn_cast<FunctionDecl>(D);
549 const FunctionDecl *Def = nullptr;
619 if (auto *FD = dyn_cast<FunctionDecl>(D))
689 const auto *Func = dyn_cast<FunctionDecl>(D);
689 const auto *Func = dyn_cast<FunctionDecl>(D);
806 } else if (const auto *Function = dyn_cast<FunctionDecl>(D)) {
806 } else if (const auto *Function = dyn_cast<FunctionDecl>(D)) {
1152 if (const auto *fn = dyn_cast<FunctionDecl>(ND)) {
1152 if (const auto *fn = dyn_cast<FunctionDecl>(ND)) {
1162 FunctionDecl *InstantiatedFrom = fn->getInstantiatedFromMemberFunction();
1217 if (const auto *Function = dyn_cast<FunctionDecl>(D)) {
1217 if (const auto *Function = dyn_cast<FunctionDecl>(D)) {
1283 const auto *FD = cast<FunctionDecl>(OuterD);
1283 const auto *FD = cast<FunctionDecl>(OuterD);
1627 } else if (const auto *FD = dyn_cast<FunctionDecl>(DC)) {
1627 } else if (const auto *FD = dyn_cast<FunctionDecl>(DC)) {
1676 template<typename T> static bool isRedeclarableImpl(Redeclarable<T> *) {
2017 static LanguageLinkage getDeclLanguageLinkage(const T &D) {
2045 static bool isDeclExternC(const T &D) {
2454 static DeclT *getDefinitionOrSelf(DeclT *D) {
2454 static DeclT *getDefinitionOrSelf(DeclT *D) {
2456 if (auto *Def = D->getDefinition())
2813 bool FunctionDecl::hasBody(const FunctionDecl *&Definition) const {
2838 bool FunctionDecl::isDefined(const FunctionDecl *&Definition) const {
2849 Stmt *FunctionDecl::getBody(const FunctionDecl *&Definition) const {
3088 FunctionDecl::setPreviousDeclaration(FunctionDecl *PrevDecl) {
3102 FunctionDecl *FunctionDecl::getCanonicalDecl() { return getFirstDecl(); }
3231 for (const FunctionDecl *FD = getMostRecentDecl(); FD;
3239 static bool redeclForcesDefMSVC(const FunctionDecl *Redecl) {
3243 for (const FunctionDecl *FD = Redecl->getPreviousDecl(); FD;
3251 static bool RedeclForcesDefC99(const FunctionDecl *Redecl) {
3280 const FunctionDecl *Definition;
3298 const FunctionDecl *Prev = this;
3323 const FunctionDecl *Prev = this;
3445 FunctionDecl::TemplatedKind FunctionDecl::getTemplatedKind() const {
3461 FunctionDecl *FunctionDecl::getInstantiatedFromMemberFunction() const {
3463 return cast<FunctionDecl>(Info->getInstantiatedFrom());
3480 FunctionDecl *FD,
3519 const FunctionDecl *PatternDecl = getTemplateInstantiationPattern();
3540 FunctionDecl *FunctionDecl::getTemplateInstantiationPattern() const {
3559 return getDefinitionOrSelf(cast<FunctionDecl>(Info->getInstantiatedFrom()));
3779 if (FunctionDecl *FD = getInstantiatedFromMemberFunction()) {
3780 const FunctionDecl *Definition;
3788 const FunctionDecl *Definition;
3910 if (auto *FT = getInstantiatedFromMemberFunction()) {
4623 FunctionDecl *FunctionDecl::Create(ASTContext &C, DeclContext *DC,
4630 FunctionDecl *New =
4631 new (C, DC) FunctionDecl(Function, C, DC, StartLoc, NameInfo, T, TInfo,
4637 FunctionDecl *FunctionDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
4638 return new (C, ID) FunctionDecl(Function, C, nullptr, SourceLocation(),
tools/clang/lib/AST/DeclBase.cpp 218 FunctionDecl *Decl::getAsFunction() {
219 if (auto *FD = dyn_cast<FunctionDecl>(this))
219 if (auto *FD = dyn_cast<FunctionDecl>(this))
231 if (auto *FD = dyn_cast<FunctionDecl>(this))
652 } else if (const auto *FD = dyn_cast<FunctionDecl>(this)) {
652 } else if (const auto *FD = dyn_cast<FunctionDecl>(this)) {
899 if (const auto *FD = dyn_cast<FunctionDecl>(this)) {
899 if (const auto *FD = dyn_cast<FunctionDecl>(this)) {
900 const FunctionDecl *Definition;
980 } else if (auto *FD = dyn_cast<FunctionDecl>(D))
980 } else if (auto *FD = dyn_cast<FunctionDecl>(D))
1042 if (isa<FunctionDecl>(this))
1104 if (const auto *Function = dyn_cast<FunctionDecl>(this)) {
1104 if (const auto *Function = dyn_cast<FunctionDecl>(this)) {
1434 if (auto *FD = dyn_cast<FunctionDecl>(D))
1434 if (auto *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/AST/DeclCXX.cpp 1938 ExplicitSpecifier ExplicitSpecifier::getFromDecl(FunctionDecl *Function) {
2142 SmallVectorImpl<const FunctionDecl *> &PreventedBy) const {
2208 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2208 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2333 const FunctionDecl *CheckFn = getTemplateInstantiationPattern();
2337 const FunctionDecl *fn;
2618 void CXXDestructorDecl::setOperatorDelete(FunctionDecl *OD, Expr *ThisArg) {
tools/clang/lib/AST/DeclPrinter.cpp 68 void VisitFunctionDecl(FunctionDecl *D);
389 if (auto FD = dyn_cast<FunctionDecl>(*D))
447 else if (auto FD = dyn_cast<FunctionDecl>(*D)) {
475 ((isa<FunctionDecl>(*D) &&
476 cast<FunctionDecl>(*D)->doesThisDeclarationHaveABody()) ||
584 void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) {
784 else if (FunctionDecl *FD =
785 dyn_cast<FunctionDecl>(D->getFriendDecl())) {
1146 if (const FunctionDecl *FD = D->getTemplatedDecl()) {
1161 FunctionDecl *PrevDecl = D->getTemplatedDecl();
1162 const FunctionDecl *Def;
1165 for (auto *I : D->specializations())
tools/clang/lib/AST/DeclTemplate.cpp 312 FunctionDecl *
722 ASTContext &C, FunctionDecl *FD, FunctionTemplateDecl *Template,
tools/clang/lib/AST/Expr.cpp 713 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurrentDecl)) {
713 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurrentDecl)) {
732 const FunctionDecl *Decl = FD;
733 if (const FunctionDecl* Pattern = FD->getTemplateInstantiationPattern())
1480 const FunctionDecl *FDecl = dyn_cast<FunctionDecl>(DRE->getDecl());
1480 const FunctionDecl *FDecl = dyn_cast<FunctionDecl>(DRE->getDecl());
3310 const FunctionDecl* FD = getDirectCallee();
tools/clang/lib/AST/ExprCXX.cpp 166 CXXNewExpr::CXXNewExpr(bool IsGlobalNew, FunctionDecl *OperatorNew,
167 FunctionDecl *OperatorDelete, bool ShouldPassAlignment,
258 FunctionDecl *OperatorNew, FunctionDecl *OperatorDelete,
258 FunctionDecl *OperatorNew, FunctionDecl *OperatorDelete,
967 cast<FunctionDecl>(getCalleeDecl())->getParamDecl(0)->getType();
989 return cast<FunctionDecl>(getCalleeDecl())->getLiteralIdentifier();
tools/clang/lib/AST/ExprClassification.cpp 226 return isa<FunctionDecl>(cast<DeclRefExpr>(E)->getDecl())
455 (isa<FunctionDecl>(D) || isa<MSPropertyDecl>(D) ||
483 return (isa<FunctionDecl>(E->getMemberDecl())
tools/clang/lib/AST/ExprConstant.cpp 148 const FunctionDecl *Callee = CE->getDirectCallee();
498 const FunctionDecl *Callee;
550 const FunctionDecl *Callee, const LValue *This,
596 const FunctionDecl *getCallee() const override { return Callee; }
1376 const FunctionDecl *Callee, const LValue *This,
1822 for (FunctionDecl::param_const_iterator I = Callee->param_begin(),
1869 return isa<FunctionDecl>(D);
2048 if (const auto *FD = dyn_cast<const FunctionDecl>(VD)) {
2048 if (const auto *FD = dyn_cast<const FunctionDecl>(VD)) {
4885 const FunctionDecl *Declaration,
4886 const FunctionDecl *Definition,
4919 const FunctionDecl *DiagDecl = Definition ? Definition : Declaration;
5433 EvalInfo &Info, const FunctionDecl *Callee) {
5473 const FunctionDecl *Callee, const LValue *This,
5832 const FunctionDecl *Definition = nullptr;
6029 static const FunctionDecl *getVirtualOperatorDelete(QualType T) {
6846 const FunctionDecl *FD = nullptr;
6890 FD = dyn_cast_or_null<FunctionDecl>(
6940 FunctionDecl *CorrespondingCallOpSpecialization =
6988 const FunctionDecl *Definition = nullptr;
7384 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(E->getDecl()))
7384 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(E->getDecl()))
8474 FunctionDecl *OperatorNew = E->getOperatorNew();
9021 const FunctionDecl *Definition = nullptr;
9053 const FunctionDecl *Definition = nullptr;
13196 FunctionDecl *OperatorDelete = E->getOperatorDelete();
13239 const FunctionDecl *VirtualDelete = getVirtualOperatorDelete(AllocType);
14325 const FunctionDecl *Callee,
14367 bool Expr::isPotentialConstantExpr(const FunctionDecl *FD,
14422 const FunctionDecl *FD,
tools/clang/lib/AST/ExternalASTMerger.cpp 248 if (isa<FunctionDecl>(C.first.get()))
456 for (auto *Spec : D->specializations()) {
tools/clang/lib/AST/Interp/ByteCodeEmitter.cpp 21 Expected<Function *> ByteCodeEmitter::compileFunc(const FunctionDecl *F) {
tools/clang/lib/AST/Interp/ByteCodeEmitter.h 40 llvm::Expected<Function *> compileFunc(const FunctionDecl *F);
53 virtual bool visitFunc(const FunctionDecl *E) = 0;
tools/clang/lib/AST/Interp/ByteCodeStmtGen.cpp 95 bool ByteCodeStmtGen<Emitter>::visitFunc(const FunctionDecl *F) {
tools/clang/lib/AST/Interp/ByteCodeStmtGen.h 52 bool visitFunc(const FunctionDecl *F) override;
tools/clang/lib/AST/Interp/Context.cpp 31 const FunctionDecl *FD) {
tools/clang/lib/AST/Interp/Context.h 58 const FunctionDecl *FnDecl);
tools/clang/lib/AST/Interp/EvalEmitter.h 118 bool ExecuteNoCall(const FunctionDecl *F, const SourceInfo &Info);
tools/clang/lib/AST/Interp/Frame.h 39 virtual const FunctionDecl *getCallee() const = 0;
tools/clang/lib/AST/Interp/Function.cpp 18 Function::Function(Program &P, const FunctionDecl *F, unsigned ArgSize,
tools/clang/lib/AST/Interp/Function.h 74 const FunctionDecl *getDecl() const { return F; }
113 Function(Program &P, const FunctionDecl *F, unsigned ArgSize,
136 const FunctionDecl *F;
tools/clang/lib/AST/Interp/Interp.cpp 345 const FunctionDecl *DiagDecl = F->getDecl();
tools/clang/lib/AST/Interp/InterpFrame.cpp 113 const FunctionDecl *F = getCallee();
151 const FunctionDecl *InterpFrame::getCallee() const {
tools/clang/lib/AST/Interp/InterpFrame.h 57 const FunctionDecl *getCallee() const;
tools/clang/lib/AST/Interp/Program.cpp 188 Function *Program::getFunction(const FunctionDecl *F) {
194 llvm::Expected<Function *> Program::getOrCreateFunction(const FunctionDecl *F) {
200 if (const FunctionDecl *FD = F->getDefinition())
tools/clang/lib/AST/Interp/Program.h 76 Function *createFunction(const FunctionDecl *Def, Ts &&... Args) {
90 Function *getFunction(const FunctionDecl *F);
95 llvm::Expected<Function *> getOrCreateFunction(const FunctionDecl *F);
139 llvm::DenseMap<const FunctionDecl *, std::unique_ptr<Function>> Funcs;
144 llvm::DenseMap<const FunctionDecl *, std::vector<unsigned>> Relocs;
tools/clang/lib/AST/ItaniumMangle.cpp 72 if (const auto *FD = dyn_cast<FunctionDecl>(D))
72 if (const auto *FD = dyn_cast<FunctionDecl>(D))
84 return isa<FunctionDecl>(DC) || isa<ObjCMethodDecl>(DC) || isa<BlockDecl>(DC);
98 static const FunctionDecl *getStructor(const FunctionDecl *fn) {
98 static const FunctionDecl *getStructor(const FunctionDecl *fn) {
106 const FunctionDecl *fn = dyn_cast_or_null<FunctionDecl>(decl);
106 const FunctionDecl *fn = dyn_cast_or_null<FunctionDecl>(decl);
293 if (!isa<FunctionDecl>(ND) && !isa<VarDecl>(ND)) {
424 void mangleFunctionEncoding(const FunctionDecl *FD);
461 void mangleFunctionEncodingBareType(const FunctionDecl *FD);
527 const FunctionDecl *FD = nullptr);
572 const FunctionDecl *FD = dyn_cast<FunctionDecl>(D);
572 const FunctionDecl *FD = dyn_cast<FunctionDecl>(D);
647 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
647 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
657 void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD) {
708 void CXXNameMangler::mangleFunctionEncodingBareType(const FunctionDecl *FD) {
792 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
792 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
1301 auto *FD = dyn_cast<FunctionDecl>(ND);
1464 Arity = cast<FunctionDecl>(ND)->getNumParams();
1567 mangleFunctionEncoding(cast<FunctionDecl>(DC));
1589 if (const FunctionDecl *Func
1590 = dyn_cast<FunctionDecl>(Parm->getDeclContext())) {
1618 if (const FunctionDecl *Func
1619 = dyn_cast<FunctionDecl>(Parm->getDeclContext())) {
2863 const FunctionDecl *FD) {
4565 if (isa<VarDecl>(D) || isa<FunctionDecl>(D)) {
tools/clang/lib/AST/JSONNodeDumper.cpp 773 void JSONNodeDumper::VisitFunctionDecl(const FunctionDecl *FD) {
1192 if (const FunctionDecl *FD = NE->getOperatorNew())
1194 if (const FunctionDecl *FD = NE->getOperatorDelete())
1201 if (const FunctionDecl *FD = DE->getOperatorDelete())
tools/clang/lib/AST/Linkage.h 111 void mergeTemplateLV(LinkageInfo &LV, const FunctionDecl *fn,
tools/clang/lib/AST/Mangle.cpp 57 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND))
57 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND))
75 const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND);
75 const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND);
173 const FunctionDecl *FD = cast<FunctionDecl>(D);
173 const FunctionDecl *FD = cast<FunctionDecl>(D);
306 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/AST/MicrosoftMangle.cpp 112 static const FunctionDecl *getStructor(const NamedDecl *ND) {
116 const auto *FD = cast<FunctionDecl>(ND);
116 const auto *FD = cast<FunctionDecl>(ND);
313 void mangleFunctionEncoding(const FunctionDecl *FD, bool ShouldMangle);
328 const FunctionDecl *D = nullptr,
375 void mangleFunctionClass(const FunctionDecl *FD);
424 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
424 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
493 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
493 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
501 void MicrosoftCXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD,
762 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
762 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
918 const FunctionDecl *Func =
919 Parm ? dyn_cast<FunctionDecl>(Parm->getDeclContext()) : nullptr;
1080 if (const auto *F = dyn_cast<FunctionDecl>(P->getDeclContext()))
1080 if (const auto *F = dyn_cast<FunctionDecl>(P->getDeclContext()))
1126 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
1126 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
1463 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
1463 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
2170 const FunctionDecl *D,
2313 void MicrosoftCXXNameMangler::mangleFunctionClass(const FunctionDecl *FD) {
tools/clang/lib/AST/ODRHash.cpp 288 if (!isa<FunctionDecl>(D)) {
336 void VisitFunctionDecl(const FunctionDecl *D) {
340 Inherited::VisitFunctionDecl(D);
487 if (auto *Function = dyn_cast<FunctionDecl>(SubDecl)) {
487 if (auto *Function = dyn_cast<FunctionDecl>(SubDecl)) {
514 void ODRHash::AddFunctionDecl(const FunctionDecl *Function,
522 if (auto *F = dyn_cast<FunctionDecl>(DC)) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp 2122 const FunctionDecl *Def;
tools/clang/lib/AST/StmtPrinter.cpp 1788 cast<FunctionDecl>(DRE->getDecl())->getTemplateSpecializationArgs();
tools/clang/lib/AST/TextNodeDumper.cpp 31 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
32 const T *Prev = D->getPreviousDecl();
258 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
258 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
265 if (!isa<FunctionDecl>(*D)) {
1270 void TextNodeDumper::VisitFunctionDecl(const FunctionDecl *D) {
tools/clang/lib/AST/Type.cpp 3030 auto **slot = getTrailingObjects<FunctionDecl *>();
3030 auto **slot = getTrailingObjects<FunctionDecl *>();
3038 auto **slot = getTrailingObjects<FunctionDecl *>();
3038 auto **slot = getTrailingObjects<FunctionDecl *>();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 610 const internal::VariadicDynCastAllOfMatcher<Decl, FunctionDecl> functionDecl;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h 75 return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
78 static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
79 return Value.getMatcher().getTypedMatcher<T>();
83 return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
361 RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
466 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
469 DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
778 ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/AnalysisDeclContext.cpp 95 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
95 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
296 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
296 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/Analysis/BodyFarm.cpp 247 typedef Stmt *(*FunctionFarmer)(ASTContext &C, const FunctionDecl *D);
281 FunctionDecl *callOperatorDecl = CallbackDecl->getLambdaCallOperator();
317 static Stmt *create_call_once(ASTContext &C, const FunctionDecl *D) {
477 static Stmt *create_dispatch_once(ASTContext &C, const FunctionDecl *D) {
560 static Stmt *create_dispatch_sync(ASTContext &C, const FunctionDecl *D) {
586 static Stmt *create_OSAtomicCompareAndSwap(ASTContext &C, const FunctionDecl *D)
667 Stmt *BodyFarm::getBody(const FunctionDecl *D) {
tools/clang/lib/Analysis/CFG.cpp 2590 if (FunctionDecl *FD = C->getDirectCallee()) {
tools/clang/lib/Analysis/CallGraph.cpp 56 if (FunctionDecl *CalleeDecl = CE->getDirectCallee())
84 for (FunctionDecl *FD : FTD->specializations())
91 if (FunctionDecl *FD = E->getOperatorNew())
98 if (FunctionDecl *Def = Ctor->getDefinition())
160 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
160 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/Analysis/CocoaConventions.cpp 97 bool coreFoundation::followsCreateRule(const FunctionDecl *fn) {
tools/clang/lib/Analysis/Consumed.cpp 185 static bool isTestingFunction(const FunctionDecl *FunDecl) {
265 static ConsumedState testsFor(const FunctionDecl *FunDecl) {
491 void propagateReturnType(const Expr *Call, const FunctionDecl *Fun);
495 const FunctionDecl *FunDecl,
498 const FunctionDecl *FunD);
580 const FunctionDecl *FunDecl,
612 const FunctionDecl *FunD) {
685 const FunctionDecl *Fun) {
741 const FunctionDecl *FunDecl = Call->getDirectCallee();
814 const auto *FunDecl = dyn_cast_or_null<FunctionDecl>(Call->getDirectCallee());
814 const auto *FunDecl = dyn_cast_or_null<FunctionDecl>(Call->getDirectCallee());
1199 const FunctionDecl *D) {
1305 const auto *D = dyn_cast_or_null<FunctionDecl>(AC.getDecl());
1305 const auto *D = dyn_cast_or_null<FunctionDecl>(AC.getDecl());
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp 400 const auto *Func = Nodes.getNodeAs<FunctionDecl>("func");
400 const auto *Func = Nodes.getNodeAs<FunctionDecl>("func");
435 const FunctionDecl &Func, ASTContext &Context)
tools/clang/lib/Analysis/PathDiagnostic.cpp 800 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
800 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
975 if (const auto FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Analysis/ReachableCode.cpp 62 if (const auto *FDecl = dyn_cast<FunctionDecl>(DRE->getDecl()))
62 if (const auto *FDecl = dyn_cast<FunctionDecl>(DRE->getDecl()))
214 const FunctionDecl *Callee =
215 dyn_cast_or_null<FunctionDecl>(cast<CallExpr>(S)->getCalleeDecl());
tools/clang/lib/Analysis/RetainSummaryManager.cpp 184 static bool isRetain(const FunctionDecl *FD, StringRef FName) {
188 static bool isRelease(const FunctionDecl *FD, StringRef FName) {
192 static bool isAutorelease(const FunctionDecl *FD, StringRef FName) {
233 RetainSummaryManager::getSummaryForOSObject(const FunctionDecl *FD,
284 const FunctionDecl *FD,
492 RetainSummaryManager::generateSummary(const FunctionDecl *FD,
531 RetainSummaryManager::getFunctionSummary(const FunctionDecl *FD) {
667 Summ = getFunctionSummary(cast_or_null<FunctionDecl>(C.getDecl()));
700 RetainSummaryManager::getCFCreateGetRuleSummary(const FunctionDecl *FD) {
713 RetainSummaryManager::canEval(const CallExpr *CE, const FunctionDecl *FD,
761 const FunctionDecl* FDD = FD->getDefinition();
800 RetainSummaryManager::getOSSummaryRetainRule(const FunctionDecl *FD) {
809 RetainSummaryManager::getOSSummaryReleaseRule(const FunctionDecl *FD) {
818 RetainSummaryManager::getOSSummaryFreeRule(const FunctionDecl *FD) {
827 RetainSummaryManager::getOSSummaryCreateRule(const FunctionDecl *FD) {
833 RetainSummaryManager::getOSSummaryGetRule(const FunctionDecl *FD) {
839 RetainSummaryManager::getCFSummaryCreateRule(const FunctionDecl *FD) {
845 RetainSummaryManager::getCFSummaryGetRule(const FunctionDecl *FD) {
896 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
896 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
970 const FunctionDecl *FD) {
tools/clang/lib/Analysis/ThreadSafety.cpp 1591 void examineArguments(const FunctionDecl *FD,
2002 void BuildLockset::examineArguments(const FunctionDecl *FD,
2078 const FunctionDecl *FD = OE->getDirectCallee();
2265 const auto *CurrentFunction = dyn_cast<FunctionDecl>(D);
2265 const auto *CurrentFunction = dyn_cast<FunctionDecl>(D);
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 283 if (isa<FunctionDecl>(D)
284 ? (cast<FunctionDecl>(D)->getCanonicalDecl() == Canonical)
293 VD = isa<FunctionDecl>(D)
294 ? cast<FunctionDecl>(D)->getCanonicalDecl()->getParamDecl(I)
379 if (const FunctionDecl *FD = CE->getDirectCallee()) {
828 : cast<FunctionDecl>(D)->parameters();
tools/clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp 21 const FunctionDecl *FD = C.getSVal(Callee).getAsFunctionDecl();
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp 2032 FunctionDecl *FD = FunctionDecl::Create(
2032 FunctionDecl *FD = FunctionDecl::Create(
2224 FunctionDecl *FD = FunctionDecl::Create(
2224 FunctionDecl *FD = FunctionDecl::Create(
2476 FunctionDecl *FD = FunctionDecl::Create(
2476 FunctionDecl *FD = FunctionDecl::Create(
2551 FunctionDecl *FD = FunctionDecl::Create(
2551 FunctionDecl *FD = FunctionDecl::Create(
2961 if ((ND = dyn_cast<FunctionDecl>(Result)) ||
tools/clang/lib/CodeGen/CGBuiltin.cpp 69 llvm::Constant *CodeGenModule::getBuiltinLibFunction(const FunctionDecl *FD,
445 static RValue emitLibraryCall(CodeGenFunction &CGF, const FunctionDecl *FD,
1180 FunctionDecl *FD = FunctionDecl::Create(
1180 FunctionDecl *FD = FunctionDecl::Create(
1534 const FunctionDecl *FD = GD.getDecl()->getAsFunction();
6070 const FunctionDecl *FD = E->getDirectCallee();
7142 const FunctionDecl *FD = E->getDirectCallee();
tools/clang/lib/CodeGen/CGCUDANV.cpp 280 FunctionDecl *cudaLaunchKernelFD = nullptr;
282 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Result))
282 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Result))
tools/clang/lib/CodeGen/CGCall.cpp 265 const FunctionDecl *FD) {
433 CodeGenTypes::arrangeFunctionDeclaration(const FunctionDecl *FD) {
514 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
514 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
1853 if (const FunctionDecl *Fn = dyn_cast<FunctionDecl>(TargetDecl)) {
1853 if (const FunctionDecl *Fn = dyn_cast<FunctionDecl>(TargetDecl)) {
1913 if (auto *Fn = dyn_cast<FunctionDecl>(TargetDecl)) {
2233 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CurCodeDecl)) {
2233 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CurCodeDecl)) {
2899 if (auto *FD = dyn_cast<FunctionDecl>(CurCodeDecl))
3797 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(TargetDecl))
3797 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(TargetDecl))
tools/clang/lib/CodeGen/CGCall.h 77 const FunctionDecl *Decl;
100 CGCallee(const FunctionDecl *builtinDecl, unsigned builtinID)
120 const FunctionDecl *builtinDecl) {
157 const FunctionDecl *getBuiltinDecl() const {
tools/clang/lib/CodeGen/CGClass.cpp 838 const FunctionDecl *Definition = nullptr;
1177 FunctionDecl *FD = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
1177 FunctionDecl *FD = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
2925 FunctionDecl *CorrespondingCallOpSpecialization =
tools/clang/lib/CodeGen/CGCleanup.h 611 static const EHPersonality &get(CodeGenModule &CGM, const FunctionDecl *FD);
tools/clang/lib/CodeGen/CGDebugInfo.cpp 243 StringRef CGDebugInfo::getFunctionName(const FunctionDecl *FD) {
1533 if (isa<FunctionDecl>(RD->getDeclContext()))
1784 else if (const auto *FD = dyn_cast<FunctionDecl>(D))
1784 else if (const auto *FD = dyn_cast<FunctionDecl>(D))
1855 CGDebugInfo::CollectFunctionTemplateParams(const FunctionDecl *FD,
1858 FunctionDecl::TK_FunctionTemplateSpecialization) {
2155 if (FunctionDecl *Tmpl = MD->getInstantiatedFromMemberFunction())
3235 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3235 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3289 if (VD->getDeclContext() && !isa<FunctionDecl>(VD->getDeclContext()) &&
3335 auto *FD = cast<FunctionDecl>(GD.getDecl());
3363 const FunctionDecl *CanonDecl = FD->getCanonicalDecl();
3420 if (const auto *FD = dyn_cast<FunctionDecl>(D))
3420 if (const auto *FD = dyn_cast<FunctionDecl>(D))
3432 const auto *FD = dyn_cast<FunctionDecl>(D);
3432 const auto *FD = dyn_cast<FunctionDecl>(D);
3519 if (const auto *FD = dyn_cast<FunctionDecl>(D))
3519 if (const auto *FD = dyn_cast<FunctionDecl>(D))
3556 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
3556 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
3619 if (HasDecl && isa<FunctionDecl>(D))
3627 if (auto *FD = dyn_cast<FunctionDecl>(D))
3673 if (isa<FunctionDecl>(D)) {
3711 const FunctionDecl *CalleeDecl) {
3732 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3732 const auto *FD = cast<FunctionDecl>(GD.getDecl());
4479 if (isa<FunctionDecl>(VD->getDeclContext()))
4566 if (const auto *FD = dyn_cast<FunctionDecl>(USD.getUnderlyingDecl()))
4566 if (const auto *FD = dyn_cast<FunctionDecl>(USD.getUnderlyingDecl()))
4644 llvm::DenseMap<const FunctionDecl *, llvm::TrackingMDRef> &SPDefCache,
tools/clang/lib/CodeGen/CGDebugInfo.h 136 llvm::DenseMap<const FunctionDecl *, llvm::TrackingMDRef> SPCache;
139 llvm::DenseMap<const FunctionDecl *, llvm::TrackingMDRef> SPDefCache;
255 llvm::DINodeArray CollectFunctionTemplateParams(const FunctionDecl *FD,
420 const FunctionDecl *CalleeDecl);
650 StringRef getFunctionName(const FunctionDecl *FD);
tools/clang/lib/CodeGen/CGDecl.cpp 205 if (const auto *FD = dyn_cast<FunctionDecl>(DC))
205 if (const auto *FD = dyn_cast<FunctionDecl>(DC))
292 else if (const auto *FD = dyn_cast<FunctionDecl>(DC))
292 else if (const auto *FD = dyn_cast<FunctionDecl>(DC))
1081 if (const auto *FD = dyn_cast<FunctionDecl>(DC)) {
1081 if (const auto *FD = dyn_cast<FunctionDecl>(DC)) {
2002 const FunctionDecl *FD = CA->getFunctionDecl();
tools/clang/lib/CodeGen/CGException.cpp 213 const FunctionDecl *FD) {
235 return get(CGF.CGM, dyn_cast_or_null<FunctionDecl>(FD));
448 const FunctionDecl* FD = dyn_cast_or_null<FunctionDecl>(D);
448 const FunctionDecl* FD = dyn_cast_or_null<FunctionDecl>(D);
525 const FunctionDecl* FD = dyn_cast_or_null<FunctionDecl>(D);
525 const FunctionDecl* FD = dyn_cast_or_null<FunctionDecl>(D);
tools/clang/lib/CodeGen/CGExpr.cpp 2397 const FunctionDecl *FD) {
2421 const Expr *E, const FunctionDecl *FD) {
2666 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
2666 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
3890 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
3890 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
4546 static CGCallee EmitDirectCallee(CodeGenFunction &CGF, const FunctionDecl *FD) {
4567 if (auto FD = dyn_cast<FunctionDecl>(DRE->getDecl())) {
4571 if (auto FD = dyn_cast<FunctionDecl>(ME->getMemberDecl())) {
4790 (!TargetDecl || !isa<FunctionDecl>(TargetDecl))) {
4843 (!TargetDecl || !isa<FunctionDecl>(TargetDecl))) {
4949 if (auto *CalleeDecl = dyn_cast_or_null<FunctionDecl>(TargetDecl))
tools/clang/lib/CodeGen/CGExprCXX.cpp 1286 const FunctionDecl *CalleeDecl,
1323 if (auto *FD = dyn_cast<FunctionDecl>(Decl))
1323 if (auto *FD = dyn_cast<FunctionDecl>(Decl))
1338 static UsualDeleteParams getUsualDeleteParams(const FunctionDecl *FD) {
1386 const FunctionDecl *OperatorDelete;
1401 const FunctionDecl *OperatorDelete, ValueTy Ptr,
1539 FunctionDecl *allocator = E->getOperatorNew();
1751 void CodeGenFunction::EmitDeleteCall(const FunctionDecl *DeleteFD,
1819 const FunctionDecl *OperatorDelete;
1823 const FunctionDecl *OperatorDelete,
1834 CodeGenFunction::pushCallObjectDeleteCleanup(const FunctionDecl *OperatorDelete,
1870 const FunctionDecl *OperatorDelete = DE->getOperatorDelete();
1949 const FunctionDecl *OperatorDelete;
1955 const FunctionDecl *OperatorDelete,
1983 const FunctionDecl *operatorDelete = E->getOperatorDelete();
tools/clang/lib/CodeGen/CGExprConstant.cpp 1870 if (auto FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp 462 FunctionDecl *FD = FunctionDecl::Create(
462 FunctionDecl *FD = FunctionDecl::Create(
tools/clang/lib/CodeGen/CGObjC.cpp 1293 if (const FunctionDecl *callee
1294 = dyn_cast_or_null<FunctionDecl>(call->getCalleeDecl()))
3517 FunctionDecl *FD = FunctionDecl::Create(
3517 FunctionDecl *FD = FunctionDecl::Create(
3601 FunctionDecl *FD = FunctionDecl::Create(
3601 FunctionDecl *FD = FunctionDecl::Create(
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 1278 const auto *D = cast<FunctionDecl>(OldGD.getDecl());
1278 const auto *D = cast<FunctionDecl>(OldGD.getDecl());
1672 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(CGF.CurFuncDecl))
1672 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(CGF.CurFuncDecl))
9583 if (const auto *FD = dyn_cast<FunctionDecl>(GD.getDecl())) {
9583 if (const auto *FD = dyn_cast<FunctionDecl>(GD.getDecl())) {
9596 if (const auto *FD = dyn_cast<FunctionDecl>(VD)) {
9596 if (const auto *FD = dyn_cast<FunctionDecl>(VD)) {
9750 if (isa<FunctionDecl>(GD.getDecl()) ||
9839 const auto *D = cast<FunctionDecl>(GD.getDecl());
9839 const auto *D = cast<FunctionDecl>(GD.getDecl());
10242 static unsigned evaluateCDTSize(const FunctionDecl *FD,
10295 emitX86DeclareSimdFunction(const FunctionDecl *FD, llvm::Function *Fn,
10441 getNDSWDS(const FunctionDecl *FD, ArrayRef<ParamAttrTy> ParamAttrs) {
10562 CodeGenModule &CGM, const FunctionDecl *FD, unsigned UserVLEN,
10669 void CGOpenMPRuntime::emitDeclareSimdFunction(const FunctionDecl *FD,
10930 if (const auto *FD = dyn_cast<FunctionDecl>(D))
10930 if (const auto *FD = dyn_cast<FunctionDecl>(D))
11079 static const FunctionDecl *getDeclareVariantFunction(ASTContext &Ctx,
11080 const FunctionDecl *FD) {
11120 return cast<FunctionDecl>(
11126 const auto *D = cast<FunctionDecl>(GD.getDecl());
11126 const auto *D = cast<FunctionDecl>(GD.getDecl());
11132 const FunctionDecl *NewFD = getDeclareVariantFunction(CGM.getContext(), D);
tools/clang/lib/CodeGen/CGOpenMPRuntime.h 660 llvm::MapVector<CanonicalDeclPtr<const FunctionDecl>,
1582 virtual void emitDeclareSimdFunction(const FunctionDecl *FD,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 1912 auto *NewFD = cast<FunctionDecl>(NewGD.getDecl());
4668 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
4668 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/CodeGen/CGStmt.cpp 1711 auto *FD = dyn_cast_or_null<FunctionDecl>(Call->getCalleeDecl());
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 405 FunctionDecl *DebugFunctionDecl = nullptr;
409 DebugFunctionDecl = FunctionDecl::Create(
4170 CGM.getMangledName(GlobalDecl(cast<FunctionDecl>(CGF.CurFuncDecl)));
tools/clang/lib/CodeGen/CGVTables.cpp 836 const FunctionDecl *def = nullptr;
tools/clang/lib/CodeGen/CodeGenABITypes.cpp 67 CodeGen::convertFreeFunctionType(CodeGenModule &CGM, const FunctionDecl *FD) {
tools/clang/lib/CodeGen/CodeGenAction.cpp 184 void HandleInlineFunctionDefinition(FunctionDecl *D) override {
tools/clang/lib/CodeGen/CodeGenFunction.cpp 536 void CodeGenFunction::EmitOpenCLKernelMetadata(const FunctionDecl *FD,
589 if (auto *FD = dyn_cast_or_null<FunctionDecl>(F))
631 const FunctionDecl *FD) {
652 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(D))
652 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(D))
736 if (const auto *FD = dyn_cast<FunctionDecl>(D))
736 if (const auto *FD = dyn_cast<FunctionDecl>(D))
776 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
776 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
783 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
783 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
819 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
819 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
825 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
825 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
855 if (auto *FD = dyn_cast_or_null<FunctionDecl>(D))
1087 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
1087 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
1129 shouldUseUndefinedBehaviorReturnOptimization(const FunctionDecl *FD,
1143 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
1143 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
1171 if (const FunctionDecl *SpecDecl = FD->getTemplateInstantiationPattern())
1539 auto *FD = dyn_cast_or_null<FunctionDecl>(Call->getCalleeDecl());
2147 CodeGenModule &CGM, const FunctionDecl *FD,
2177 const FunctionDecl *TargetDecl) {
2184 const FunctionDecl *TargetDecl) {
2191 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CurCodeDecl);
2191 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CurCodeDecl);
tools/clang/lib/CodeGen/CodeGenFunction.h 434 AbstractCallee(const FunctionDecl *FD) : CalleeDecl(FD) {}
437 return dyn_cast_or_null<FunctionDecl>(CalleeDecl);
441 if (const auto *FD = dyn_cast<FunctionDecl>(CalleeDecl))
441 if (const auto *FD = dyn_cast<FunctionDecl>(CalleeDecl))
446 if (const auto *FD = dyn_cast<FunctionDecl>(CalleeDecl))
446 if (const auto *FD = dyn_cast<FunctionDecl>(CalleeDecl))
1609 void EmitOpenCLKernelMetadata(const FunctionDecl *FD,
1691 void pushCallObjectDeleteCleanup(const FunctionDecl *OperatorDelete,
2575 void EmitDeleteCall(const FunctionDecl *DeleteFD, llvm::Value *Ptr,
3615 void checkTargetFeatures(const CallExpr *E, const FunctionDecl *TargetDecl);
3616 void checkTargetFeatures(SourceLocation Loc, const FunctionDecl *TargetDecl);
4330 FunctionDecl *FD;
tools/clang/lib/CodeGen/CodeGenModule.cpp 1002 const auto *FD = dyn_cast<FunctionDecl>(ND);
1002 const auto *FD = dyn_cast<FunctionDecl>(ND);
1013 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
1013 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
1034 const FunctionDecl *FD) {
1052 const FunctionDecl *OtherFD = OtherGD.getCanonicalDecl()
1097 if (auto *FD = dyn_cast<FunctionDecl>(GD.getDecl()))
1190 const auto *D = cast<FunctionDecl>(GD.getDecl());
1190 const auto *D = cast<FunctionDecl>(GD.getDecl());
1264 const FunctionDecl *FD,
1556 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
1564 const FunctionDecl *Pattern = FD->getTemplateInstantiationPattern();
1616 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
1663 const auto *FD = dyn_cast_or_null<FunctionDecl>(GD.getDecl());
1663 const auto *FD = dyn_cast_or_null<FunctionDecl>(GD.getDecl());
1770 void CodeGenModule::CreateFunctionTypeMetadataForIcall(const FunctionDecl *FD,
1802 const auto *FD = cast<FunctionDecl>(GD.getDecl());
1802 const auto *FD = cast<FunctionDecl>(GD.getDecl());
2325 if (const auto *FD = dyn_cast<FunctionDecl>(Global)) {
2325 if (const auto *FD = dyn_cast<FunctionDecl>(Global)) {
2401 GlobalDecl(cast<FunctionDecl>(VD)),
2451 if (isa<FunctionDecl>(Global) && !Global->hasAttr<CUDAHostAttr>() &&
2476 if (const auto *FD = dyn_cast<FunctionDecl>(Global)) {
2476 if (const auto *FD = dyn_cast<FunctionDecl>(Global)) {
2536 if (LangOpts.OpenMP && isa<FunctionDecl>(Global) && OpenMPRuntime &&
2583 const FunctionDecl *FD = E->getDirectCallee();
2637 if (isa<FunctionDecl>(VD))
2676 CodeGenModule::isTriviallyRecursive(const FunctionDecl *FD) {
2696 const auto *F = cast<FunctionDecl>(GD.getDecl());
2696 const auto *F = cast<FunctionDecl>(GD.getDecl());
2703 Visitor.TraverseFunctionDecl(const_cast<FunctionDecl*>(F));
2734 const auto *FD = cast<FunctionDecl>(GD.getDecl());
2734 const auto *FD = cast<FunctionDecl>(GD.getDecl());
2749 const auto *D = cast<FunctionDecl>(OldGD.getDecl());
2749 const auto *D = cast<FunctionDecl>(OldGD.getDecl());
2796 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2796 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2856 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
2856 const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
2911 const auto *FD = cast<FunctionDecl>(GD.getDecl());
2911 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3026 GlobalDecl GD, llvm::Type *DeclTy, const FunctionDecl *FD) {
3087 if (const FunctionDecl *FD = cast_or_null<FunctionDecl>(D)) {
3087 if (const FunctionDecl *FD = cast_or_null<FunctionDecl>(D)) {
3092 if (const FunctionDecl *FDDef = FD->getDefinition()) {
3121 const FunctionDecl *FD = cast_or_null<FunctionDecl>(D);
3121 const FunctionDecl *FD = cast_or_null<FunctionDecl>(D);
3244 for (const auto *FD = cast<FunctionDecl>(D)->getMostRecentDecl(); FD;
3244 for (const auto *FD = cast<FunctionDecl>(D)->getMostRecentDecl(); FD;
3276 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3276 const auto *FD = cast<FunctionDecl>(GD.getDecl());
3296 static const FunctionDecl *
3303 if (const auto FD = dyn_cast<FunctionDecl>(Result))
3326 if (const auto *FD = dyn_cast<FunctionDecl>(Result))
3326 if (const auto *FD = dyn_cast<FunctionDecl>(Result))
3362 const FunctionDecl *FD = GetRuntimeFunctionDecl(Context, Name);
3604 } else if (isa<FunctionDecl>(D)) {
3803 const SomeDecl *First = D->getFirstDecl();
3835 Linkage = CGM.getContext().GetGVALinkageForFunction(cast<FunctionDecl>(&D));
4187 if (const auto *FD = D->getAsFunction())
4390 const auto *D = cast<FunctionDecl>(GD.getDecl());
4390 const auto *D = cast<FunctionDecl>(GD.getDecl());
5230 EmitGlobal(cast<FunctionDecl>(D));
5482 if (!cast<FunctionDecl>(D)->doesThisDeclarationHaveABody())
5501 if (const auto *Fn = dyn_cast<FunctionDecl>(D)) {
5501 if (const auto *Fn = dyn_cast<FunctionDecl>(D)) {
5527 GlobalDecl GD(cast<FunctionDecl>(D));
5883 const FunctionDecl *FD = GD.getDecl()->getAsFunction();
tools/clang/lib/CodeGen/CodeGenModule.h 499 bool isTriviallyRecursive(const FunctionDecl *F);
988 llvm::Constant *getBuiltinLibFunction(const FunctionDecl *FD,
1015 void MaybeHandleStaticInExternC(const SomeDecl *D, llvm::GlobalValue *GV);
1324 void CreateFunctionTypeMetadataForIcall(const FunctionDecl *FD,
1361 const FunctionDecl *FD = nullptr,
1378 const FunctionDecl *FD);
1379 void UpdateMultiVersionNames(GlobalDecl GD, const FunctionDecl *FD);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 389 void VisitFunctionDecl(const FunctionDecl *D) {
805 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
805 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
872 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
872 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
tools/clang/lib/CodeGen/CodeGenTypes.h 201 const CGFunctionInfo &arrangeFunctionDeclaration(const FunctionDecl *FD);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 2430 FunctionDecl *FD = FunctionDecl::Create(
2430 FunctionDecl *FD = FunctionDecl::Create(
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 366 getContext().GetGVALinkageForFunction(cast<FunctionDecl>(GD.getDecl()));
tools/clang/lib/CodeGen/ModuleBuilder.cpp 66 SmallVector<FunctionDecl *, 8> DeferredInlineMemberFuncDefs;
115 if (auto FD = dyn_cast<FunctionDecl>(D)) {
188 void HandleInlineFunctionDefinition(FunctionDecl *D) override {
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp 98 bool VisitFunctionDecl(FunctionDecl *D) {
tools/clang/lib/CodeGen/TargetInfo.cpp 768 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(D)) {
768 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(D)) {
783 if (auto *FD = dyn_cast_or_null<FunctionDecl>(D)) {
1984 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
1984 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
2356 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
2356 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
2467 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
2467 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
5055 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
5055 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
5711 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
5711 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
6466 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
6466 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
6910 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
6910 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
6967 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
6967 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
7350 const auto *FD = dyn_cast_or_null<FunctionDecl>(D);
7350 const auto *FD = dyn_cast_or_null<FunctionDecl>(D);
7384 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
7384 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
7925 (isa<FunctionDecl>(D) && D->hasAttr<CUDAGlobalAttr>()) ||
7951 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
7951 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
9218 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
9218 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
9672 const auto *FD = dyn_cast_or_null<FunctionDecl>(D);
9672 const auto *FD = dyn_cast_or_null<FunctionDecl>(D);
tools/clang/lib/CrossTU/CrossTranslationUnit.cpp 179 static bool hasBodyOrInit(const FunctionDecl *D, const FunctionDecl *&DefD) {
179 static bool hasBodyOrInit(const FunctionDecl *D, const FunctionDecl *&DefD) {
185 template <typename T> static bool hasBodyOrInit(const T *D) {
186 const T *Unused;
207 const T *
214 if (const auto *ND = findDefInDeclContext<T>(SubDC, LookupName))
214 if (const auto *ND = findDefInDeclContext<T>(SubDC, LookupName))
217 const auto *ND = dyn_cast<T>(D);
217 const auto *ND = dyn_cast<T>(D);
218 const T *ResultDecl;
230 llvm::Expected<const T *> CrossTranslationUnitContext::getCrossTUDefinitionImpl(
231 const T *D, StringRef CrossTUDir, StringRef IndexName,
298 if (const T *ResultDecl = findDefInDeclContext<T>(TU, *LookupName))
298 if (const T *ResultDecl = findDefInDeclContext<T>(TU, *LookupName))
303 llvm::Expected<const FunctionDecl *>
304 CrossTranslationUnitContext::getCrossTUDefinition(const FunctionDecl *FD,
498 llvm::Expected<const T *>
499 CrossTranslationUnitContext::importDefinitionImpl(const T *D, ASTUnit *Unit) {
524 auto *ToDecl = cast<T>(*ToDeclOrError);
531 llvm::Expected<const FunctionDecl *>
532 CrossTranslationUnitContext::importDefinition(const FunctionDecl *FD,
tools/clang/lib/Frontend/ASTConsumers.cpp 184 if (isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D)) {
tools/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp 61 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
61 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
80 if (const auto *FD =
81 dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod()))
117 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
117 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
146 for (const auto *D : FTD.specializations())
212 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
212 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
243 *S.LateParsedTemplateMap.find(cast<FunctionDecl>(FD))->second;
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 97 FunctionDecl *MsgSendFunctionDecl;
98 FunctionDecl *MsgSendSuperFunctionDecl;
99 FunctionDecl *MsgSendStretFunctionDecl;
100 FunctionDecl *MsgSendSuperStretFunctionDecl;
101 FunctionDecl *MsgSendFpretFunctionDecl;
102 FunctionDecl *GetClassFunctionDecl;
103 FunctionDecl *GetMetaClassFunctionDecl;
104 FunctionDecl *GetSuperClassFunctionDecl;
105 FunctionDecl *SelGetUidFunctionDecl;
106 FunctionDecl *CFStringFunctionDecl;
107 FunctionDecl *SuperConstructorFunctionDecl;
108 FunctionDecl *CurFunctionDef;
157 SmallVector<FunctionDecl*, 32> FunctionDefinitionsSeen;
210 if (FunctionDecl *FDecl = dyn_cast<FunctionDecl>(*I)) {
210 if (FunctionDecl *FDecl = dyn_cast<FunctionDecl>(*I)) {
336 void RewriteFunctionDecl(FunctionDecl *FD);
339 void RewriteBlockLiteralFunctionDecl(FunctionDecl *FD);
392 void RewriteBlockPointerFunctionArgs(FunctionDecl *FD);
412 CallExpr *SynthesizeCallToFunctionDecl(FunctionDecl *FD,
417 Expr *SynthMsgSendStretCallExpr(FunctionDecl *MsgSendStretFlavor,
479 FunctionDecl *SynthBlockInitFunctionDecl(StringRef name);
487 void InsertBlockLiteralsWithinFunction(FunctionDecl *FD);
729 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
729 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
2089 RewriteModernObjC::SynthesizeCallToFunctionDecl(FunctionDecl *FD,
2197 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Dcl)) {
2197 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Dcl)) {
2314 SelGetUidFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2321 void RewriteModernObjC::RewriteFunctionDecl(FunctionDecl *FD) {
2374 void RewriteModernObjC::RewriteBlockLiteralFunctionDecl(FunctionDecl *FD) {
2412 SuperConstructorFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2431 MsgSendFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2445 MsgSendSuperFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2464 MsgSendStretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2480 MsgSendSuperStretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2500 MsgSendFpretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2514 GetClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2529 GetSuperClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2544 GetMetaClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2621 FunctionDecl *MsgSendFlavor = MsgSendFunctionDecl;
2704 FunctionDecl *MsgSendFlavor = MsgSendFunctionDecl;
2713 FunctionDecl *NSArrayFD = SynthBlockInitFunctionDecl(NSArrayFName);
2825 FunctionDecl *MsgSendFlavor = MsgSendFunctionDecl;
2834 FunctionDecl *NSDictFD = SynthBlockInitFunctionDecl(NSDictFName);
3034 FunctionDecl *FD) {
3062 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
3062 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
3085 Expr *RewriteModernObjC::SynthMsgSendStretCallExpr(FunctionDecl *MsgSendStretFlavor,
3167 FunctionDecl *FD =
3168 FunctionDecl::Create(*Context, TUDecl, SourceLocation(), SourceLocation(),
3210 FunctionDecl *MsgSendFlavor = MsgSendFunctionDecl;
3212 FunctionDecl *MsgSendStretFlavor = nullptr;
4429 void RewriteModernObjC::InsertBlockLiteralsWithinFunction(FunctionDecl *FD) {
4766 void RewriteModernObjC::RewriteBlockPointerFunctionArgs(FunctionDecl *FD) {
4863 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
4863 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
5187 FunctionDecl *RewriteModernObjC::SynthBlockInitFunctionDecl(StringRef name) {
5190 return FunctionDecl::Create(*Context, TUDecl, SourceLocation(),
5259 FunctionDecl *FD;
5681 FunctionDecl *FD = cast<FunctionDecl>(D);
5681 FunctionDecl *FD = cast<FunctionDecl>(D);
5830 FunctionDecl *FDecl = FunctionDefinitionsSeen[i];
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 94 FunctionDecl *MsgSendFunctionDecl;
95 FunctionDecl *MsgSendSuperFunctionDecl;
96 FunctionDecl *MsgSendStretFunctionDecl;
97 FunctionDecl *MsgSendSuperStretFunctionDecl;
98 FunctionDecl *MsgSendFpretFunctionDecl;
99 FunctionDecl *GetClassFunctionDecl;
100 FunctionDecl *GetMetaClassFunctionDecl;
101 FunctionDecl *GetSuperClassFunctionDecl;
102 FunctionDecl *SelGetUidFunctionDecl;
103 FunctionDecl *CFStringFunctionDecl;
104 FunctionDecl *SuperConstructorFunctionDecl;
105 FunctionDecl *CurFunctionDef;
106 FunctionDecl *CurFunctionDeclToDeclareForBlock;
284 void RewriteFunctionDecl(FunctionDecl *FD);
287 void RewriteBlockLiteralFunctionDecl(FunctionDecl *FD);
320 void RewriteBlockPointerFunctionArgs(FunctionDecl *FD);
349 CallExpr *SynthesizeCallToFunctionDecl(FunctionDecl *FD,
353 CallExpr *SynthMsgSendStretCallExpr(FunctionDecl *MsgSendStretFlavor,
389 FunctionDecl *SynthBlockInitFunctionDecl(StringRef name);
398 void InsertBlockLiteralsWithinFunction(FunctionDecl *FD);
658 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
658 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
2004 RewriteObjC::SynthesizeCallToFunctionDecl(FunctionDecl *FD,
2113 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Dcl)) {
2113 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Dcl)) {
2226 SelGetUidFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2233 void RewriteObjC::RewriteFunctionDecl(FunctionDecl *FD) {
2286 void RewriteObjC::RewriteBlockLiteralFunctionDecl(FunctionDecl *FD) {
2321 SuperConstructorFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2340 MsgSendFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2362 MsgSendSuperFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2381 MsgSendStretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2405 MsgSendSuperStretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2425 MsgSendFpretFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2439 GetClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2454 GetSuperClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2469 GetMetaClassFunctionDecl = FunctionDecl::Create(*Context, TUDecl,
2583 CallExpr *RewriteObjC::SynthMsgSendStretCallExpr(FunctionDecl *MsgSendStretFlavor,
2637 FunctionDecl *MsgSendFlavor = MsgSendFunctionDecl;
2639 FunctionDecl *MsgSendStretFlavor = nullptr;
3618 void RewriteObjC::InsertBlockLiteralsWithinFunction(FunctionDecl *FD) {
3920 void RewriteObjC::RewriteBlockPointerFunctionArgs(FunctionDecl *FD) {
4017 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
4017 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
4341 FunctionDecl *RewriteObjC::SynthBlockInitFunctionDecl(StringRef name) {
4344 return FunctionDecl::Create(*Context, TUDecl, SourceLocation(),
4405 FunctionDecl *FD;
4779 FunctionDecl *FD = cast<FunctionDecl>(D);
4779 FunctionDecl *FD = cast<FunctionDecl>(D);
tools/clang/lib/Index/IndexBody.cpp 130 if (auto *FD = dyn_cast<FunctionDecl>(ParentDC))
tools/clang/lib/Index/IndexDecl.cpp 93 if (auto *FD = dyn_cast<FunctionDecl>(DC)) {
103 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
103 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
113 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
113 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
216 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
216 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
217 const auto *DFD = cast<FunctionDecl>(D);
217 const auto *DFD = cast<FunctionDecl>(D);
229 bool VisitFunctionDecl(const FunctionDecl *D) {
659 if (const auto *FD = dyn_cast<FunctionDecl>(D))
659 if (const auto *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Index/IndexSymbol.cpp 368 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
368 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
370 FunctionDecl::TK_FunctionTemplateSpecialization) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp 93 if (auto FD = dyn_cast<FunctionDecl>(D->getDeclContext())) {
tools/clang/lib/Index/IndexingContext.cpp 155 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
155 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
210 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
210 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
244 if (auto FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Index/USRGeneration.cpp 84 void VisitFunctionDecl(const FunctionDecl *D);
219 void USRGenerator::VisitFunctionDecl(const FunctionDecl *D) {
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp 73 if (auto *DeclAsFunction = dyn_cast<FunctionDecl>(FnD)) {
73 if (auto *DeclAsFunction = dyn_cast<FunctionDecl>(FnD)) {
82 if (auto *DeclAsFunction = dyn_cast<FunctionDecl>(FnD)) {
82 if (auto *DeclAsFunction = dyn_cast<FunctionDecl>(FnD)) {
124 FunctionDecl *FD = FnD->getAsFunction();
166 FunctionDecl *FD = FnD->getAsFunction();
373 FunctionDecl *Old = cast<FunctionDecl>(LM.Method)->getPreviousDecl();
373 FunctionDecl *Old = cast<FunctionDecl>(LM.Method)->getPreviousDecl();
562 if (auto *FD = dyn_cast_or_null<FunctionDecl>(LM.D))
562 if (auto *FD = dyn_cast_or_null<FunctionDecl>(LM.D))
tools/clang/lib/Parse/ParseExpr.cpp 567 if (isa<ValueDecl>(ND) && !isa<FunctionDecl>(ND))
tools/clang/lib/Parse/ParseOpenMP.cpp 1012 Optional<std::pair<FunctionDecl *, Expr *>> DeclVarData =
tools/clang/lib/Parse/ParseTemplate.cpp 1450 FunctionDecl *FunD = LPT.D->getAsFunction();
tools/clang/lib/Parse/Parser.cpp 1207 FunctionDecl *FnD = DP->getAsFunction();
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp 186 static bool hasRecursiveCallInPath(const FunctionDecl *FD, CFGBlock &Block) {
217 static bool checkForRecursiveFunctionCall(const FunctionDecl *FD, CFG *cfg) {
253 static void checkRecursiveFunction(Sema &S, const FunctionDecl *FD,
259 if (FD->getTemplatedKind() != FunctionDecl::TK_NonTemplate &&
260 FD->getTemplatedKind() != FunctionDecl::TK_MemberSpecialization)
337 const FunctionDecl *FD) {
356 static void checkThrowInNonThrowingFunc(Sema &S, const FunctionDecl *FD,
369 static bool isNoexcept(const FunctionDecl *FD) {
550 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(Func))
550 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(Func))
646 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
646 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
703 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
703 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1279 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(AC.getDecl()))
1279 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(AC.getDecl()))
1617 const FunctionDecl *CurrentFunction;
1865 void enterFunction(const FunctionDecl* FD) override {
1869 void leaveFunction(const FunctionDecl* FD) override {
2157 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D))
2157 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D))
2226 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
2226 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
2233 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
2233 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Sema/CodeCompleteConsumer.cpp 486 FunctionDecl *CodeCompleteConsumer::OverloadCandidate::getFunction() const {
696 if (const auto *Function = dyn_cast<FunctionDecl>(Declaration))
696 if (const auto *Function = dyn_cast<FunctionDecl>(Declaration))
tools/clang/lib/Sema/CoroutineStmtBuilder.h 26 FunctionDecl &FD;
37 CoroutineStmtBuilder(Sema &S, FunctionDecl &FD, sema::FunctionScopeInfo &Fn,
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp 308 llvm::MapVector<const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
tools/clang/lib/Sema/Sema.cpp 409 FunctionDecl *fn = dyn_cast<FunctionDecl>(CurContext);
409 FunctionDecl *fn = dyn_cast<FunctionDecl>(CurContext);
584 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
584 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
588 for (const auto *Spec : Template->specializations())
594 const FunctionDecl *DeclToCheck;
639 if (auto *FD = dyn_cast<FunctionDecl>(ND))
639 if (auto *FD = dyn_cast<FunctionDecl>(ND))
678 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
678 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
742 } else if (auto *FD = dyn_cast<FunctionDecl>(VD)) {
742 } else if (auto *FD = dyn_cast<FunctionDecl>(VD)) {
839 if (const FunctionDecl *FD =
840 dyn_cast<FunctionDecl>((*I)->getFriendDecl()))
917 if (auto Func = dyn_cast<FunctionDecl>(PII.first))
1023 !(isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl)))
1149 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) {
1149 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) {
1150 const FunctionDecl *DiagD;
1271 FunctionDecl *Sema::getCurFunctionDecl() {
1273 return dyn_cast<FunctionDecl>(DC);
1285 if (isa<ObjCMethodDecl>(DC) || isa<FunctionDecl>(DC))
1398 static void emitCallStackNotes(Sema &S, FunctionDecl *FD) {
1412 static void emitDeferredDiags(Sema &S, FunctionDecl *FD, bool ShowCallStack) {
1460 unsigned DiagID, FunctionDecl *Fn,
1509 Sema &S, FunctionDecl *OrigCaller, FunctionDecl *OrigCallee,
1509 Sema &S, FunctionDecl *OrigCaller, FunctionDecl *OrigCallee,
1511 const llvm::function_ref<bool(Sema &, FunctionDecl *)> IsKnownEmitted) {
1522 FunctionDecl *Caller;
1523 FunctionDecl *Callee;
1527 llvm::SmallSet<CanonicalDeclPtr<FunctionDecl>, 4> Seen;
1540 FunctionDecl *TemplFD = Templ->getAsFunction();
1553 for (std::pair<CanonicalDeclPtr<FunctionDecl>, SourceLocation> FDLoc :
1555 FunctionDecl *NewCallee = FDLoc.first;
1962 if (const FunctionDecl *OverloadDecl
1963 = dyn_cast<FunctionDecl>((*it)->getUnderlyingDecl())) {
1999 if (const FunctionDecl *Fun = dyn_cast<FunctionDecl>(DeclRef->getDecl())) {
1999 if (const FunctionDecl *Fun = dyn_cast<FunctionDecl>(DeclRef->getDecl())) {
2052 if (const auto *FD = Fn->getAsFunction()) {
2075 const FunctionDecl *OverloadDecl = cast<FunctionDecl>(*It);
2075 const FunctionDecl *OverloadDecl = cast<FunctionDecl>(*It);
2104 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
2104 if (const auto *FD = dyn_cast<FunctionDecl>(ND))
2217 std::string Sema::getOpenCLExtensionsFromDeclExtMap(FunctionDecl *FD) {
tools/clang/lib/Sema/SemaAccess.cpp 110 } else if (isa<FunctionDecl>(DC)) {
111 FunctionDecl *Function = cast<FunctionDecl>(DC);
111 FunctionDecl *Function = cast<FunctionDecl>(DC);
141 SmallVector<FunctionDecl*, 4> Functions;
361 FunctionDecl *Context,
362 FunctionDecl *Friend) {
492 FunctionDecl *Friend) {
495 for (SmallVectorImpl<FunctionDecl*>::const_iterator
516 for (SmallVectorImpl<FunctionDecl*>::const_iterator
565 return MatchesFriend(S, EC, cast<FunctionDecl>(Friend));
1107 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
1107 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
1476 } else if (FunctionDecl *FN = dyn_cast<FunctionDecl>(D)) {
1476 } else if (FunctionDecl *FN = dyn_cast<FunctionDecl>(D)) {
1918 else if (FunctionDecl *FD = getCurFunctionDecl()) {
tools/clang/lib/Sema/SemaAttr.cpp 856 void Sema::AddRangeBasedOptnone(FunctionDecl *FD) {
863 void Sema::AddOptnoneAttributeIfNoConflicts(FunctionDecl *FD,
tools/clang/lib/Sema/SemaCUDA.cpp 43 FunctionDecl *ConfigDecl = Context.getcudaConfigureCallDecl();
98 static bool hasAttr(const FunctionDecl *D, bool IgnoreImplicitAttr) {
106 Sema::CUDAFunctionTarget Sema::IdentifyCUDATarget(const FunctionDecl *D,
162 Sema::IdentifyCUDAPreference(const FunctionDecl *Caller,
163 const FunctionDecl *Callee) {
214 const FunctionDecl *Caller,
215 SmallVectorImpl<std::pair<DeclAccessPair, FunctionDecl *>> &Matches) {
219 using Pair = std::pair<DeclAccessPair, FunctionDecl*>;
526 const FunctionDecl *InitFn = nullptr;
556 void Sema::maybeAddCUDAHostDeviceAttrs(FunctionDecl *NewD,
578 FunctionDecl *OldD = D->getAsFunction();
618 return (getEmissionStatus(cast<FunctionDecl>(CurContext)) ==
630 dyn_cast<FunctionDecl>(CurContext), *this);
647 return (getEmissionStatus(cast<FunctionDecl>(CurContext)) ==
656 dyn_cast<FunctionDecl>(CurContext), *this);
659 bool Sema::CheckCUDACall(SourceLocation Loc, FunctionDecl *Callee) {
669 FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext);
669 FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext);
736 FunctionDecl *CurFn = dyn_cast<FunctionDecl>(CurContext);
736 FunctionDecl *CurFn = dyn_cast<FunctionDecl>(CurContext);
748 void Sema::checkCUDATargetOverload(FunctionDecl *NewFD,
753 FunctionDecl *OldFD = OldND->getAsFunction();
778 static void copyAttrIfPresent(Sema &S, FunctionDecl *FD,
779 const FunctionDecl &TemplateFD) {
787 void Sema::inheritCUDATargetAttrs(FunctionDecl *FD,
789 const FunctionDecl &TemplateFD = *TD.getTemplatedDecl();
tools/clang/lib/Sema/SemaCast.cpp 1542 if (FunctionDecl *Fn
1621 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
1901 auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl());
1901 auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl());
2515 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
2607 if (FunctionDecl *FD = Self.ResolveAddressOfOverloadedFunction(
tools/clang/lib/Sema/SemaChecking.cpp 272 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(TargetDecl))
272 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(TargetDecl))
315 void Sema::checkFortifiedBuiltinMemoryFunction(FunctionDecl *FD,
1072 Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID,
4238 if (FDecl && (isa<FunctionDecl>(FDecl) || isa<ObjCMethodDecl>(FDecl))) {
4242 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FDecl))
4242 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FDecl))
4326 auto *FD = dyn_cast_or_null<FunctionDecl>(FDecl);
4326 auto *FD = dyn_cast_or_null<FunctionDecl>(FDecl);
4330 : FDecl && isa<FunctionDecl>(FDecl)
4331 ? cast<FunctionDecl>(FDecl)->getNumParams()
4361 void Sema::CheckConstructorCall(FunctionDecl *FDecl,
4373 bool Sema::CheckFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall,
5000 FunctionDecl *Fn = E->getDirectCallee();
5028 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
5028 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
5326 FunctionDecl *NewBuiltinDecl;
5335 NewBuiltinDecl = dyn_cast<FunctionDecl>(Res.getFoundDecl());
5395 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
5395 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
5524 if (const FunctionDecl *FD = S.getCurFunctionDecl())
5560 } else if (auto *FD = dyn_cast<FunctionDecl>(Caller)) {
5560 } else if (auto *FD = dyn_cast<FunctionDecl>(Caller)) {
6015 << cast<FunctionDecl>(TheCall->getCalleeDecl())->getIdentifier();
6098 cast<FunctionDecl>(TheCall->getCalleeDecl())->getBuiltinID();
6182 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
6182 FunctionDecl *FDecl = cast<FunctionDecl>(DRE->getDecl());
6976 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
6976 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
9036 static unsigned getAbsoluteValueFunctionKind(const FunctionDecl *FDecl) {
9091 const FunctionDecl *FDecl = nullptr;
9093 FDecl = dyn_cast<FunctionDecl>(UsingD->getTargetDecl());
9095 FDecl = dyn_cast<FunctionDecl>(I);
9126 FunctionDecl *FD = dyn_cast<FunctionDecl>(R.getFoundDecl());
9126 FunctionDecl *FD = dyn_cast<FunctionDecl>(R.getFoundDecl());
9152 static bool IsStdFunction(const FunctionDecl *FDecl,
9166 const FunctionDecl *FDecl) {
9246 const FunctionDecl *FDecl) {
9882 const FunctionDecl *FD = CE->getDirectCallee();
9980 const FunctionDecl *FD) {
12174 const FunctionDecl *FD = nullptr;
12280 if (auto *Callee = Call->getDirectCallee()) {
12309 if (const auto *FD = dyn_cast<FunctionDecl>(PV->getDeclContext())) {
12309 if (const auto *FD = dyn_cast<FunctionDecl>(PV->getDeclContext())) {
12311 if (FD->getTemplatedKind() == FunctionDecl::TK_FunctionTemplate)
13615 FunctionDecl *Fn = dyn_cast_or_null<FunctionDecl>(CE->getCalleeDecl());
13615 FunctionDecl *Fn = dyn_cast_or_null<FunctionDecl>(CE->getCalleeDecl());
tools/clang/lib/Sema/SemaCodeComplete.cpp 377 } else if (const auto *Function = dyn_cast<FunctionDecl>(S.CurContext)) {
377 } else if (const auto *Function = dyn_cast<FunctionDecl>(S.CurContext)) {
889 if (const FunctionDecl *Function = ND->getAsFunction())
1946 llvm::StringMap<std::vector<FunctionDecl *>> Overrides;
1963 for (auto *MD : it->second) {
2298 if (const auto *Function = dyn_cast<FunctionDecl>(SemaRef.CurContext))
2298 if (const auto *Function = dyn_cast<FunctionDecl>(SemaRef.CurContext))
2603 if (const FunctionDecl *Function = ND->getAsFunction())
2921 const FunctionDecl *Function,
3073 const FunctionDecl *Function) {
3356 if (const auto *Function = dyn_cast<FunctionDecl>(ND)) {
3356 if (const auto *Function = dyn_cast<FunctionDecl>(ND)) {
3371 FunctionDecl *Function = FunTmpl->getTemplatedDecl();
3586 const FunctionDecl *Function,
3660 FunctionDecl *FDecl = getFunction();
5145 FunctionDecl *FD = nullptr;
5147 FD = dyn_cast<FunctionDecl>(MCE->getMemberDecl());
5149 FD = dyn_cast<FunctionDecl>(DRE->getDecl());
5219 if (auto *FD = dyn_cast<FunctionDecl>(C)) {
5219 if (auto *FD = dyn_cast<FunctionDecl>(C)) {
5597 if (const auto *Function = dyn_cast<FunctionDecl>(ND))
5597 if (const auto *Function = dyn_cast<FunctionDecl>(ND))
tools/clang/lib/Sema/SemaCoroutine.cpp 50 static QualType lookupPromiseType(Sema &S, const FunctionDecl *FD,
194 auto *FD = dyn_cast<FunctionDecl>(S.CurContext);
194 auto *FD = dyn_cast<FunctionDecl>(S.CurContext);
298 auto *BuiltInDecl = R.getAsSingle<FunctionDecl>();
298 auto *BuiltInDecl = R.getAsSingle<FunctionDecl>();
482 auto *FD = cast<FunctionDecl>(CurContext);
482 auto *FD = cast<FunctionDecl>(CurContext);
613 auto *Fn = cast<FunctionDecl>(CurContext);
613 auto *Fn = cast<FunctionDecl>(CurContext);
932 static FunctionDecl *findDeleteForPromise(Sema &S, SourceLocation Loc,
934 FunctionDecl *OperatorDelete = nullptr;
957 void Sema::CheckCompletedCoroutineBody(FunctionDecl *FD, Stmt *&Body) {
992 CoroutineStmtBuilder::CoroutineStmtBuilder(Sema &S, FunctionDecl &FD,
1135 FunctionDecl *OperatorNew = nullptr;
1136 FunctionDecl *OperatorDelete = nullptr;
1137 FunctionDecl *UnusedResult = nullptr;
1526 auto *FD = cast<FunctionDecl>(CurContext);
1526 auto *FD = cast<FunctionDecl>(CurContext);
tools/clang/lib/Sema/SemaDecl.cpp 1267 if (isa<FunctionDecl>(DC) && !isLambdaCallOperator(DC)) {
1369 FunctionDecl *FD = D->getAsFunction();
1409 const FunctionDecl *New) {
1444 if (isa<FunctionDecl>(D) &&
1445 cast<FunctionDecl>(D)->isFunctionTemplateSpecialization())
1647 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1647 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1702 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1702 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1703 const FunctionDecl *First = FD->getFirstDecl();
2088 FunctionDecl *New = FunctionDecl::Create(Context,
2088 FunctionDecl *New = FunctionDecl::Create(Context,
2556 else if (S.getLangOpts().CUDA && isa<FunctionDecl>(D) &&
2607 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
2607 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
2634 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(New)) {
2634 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(New)) {
2636 S.CheckForFunctionRedefinition(FD, cast<FunctionDecl>(Def), &SkipBody);
2830 << isa<FunctionDecl>(Old) << New->getAttr<AsmLabelAttr>()->getRange();
2927 const FunctionDecl *FirstFD =
2928 cast<FunctionDecl>(oldDecl->getDeclContext())->getFirstDecl();
3000 getNoteDiagForInvalidRedeclaration(const T *Old, const T *New) {
3000 getNoteDiagForInvalidRedeclaration(const T *Old, const T *New) {
3017 static bool canRedefineFunction(const FunctionDecl *FD,
3033 static bool haveIncompatibleLanguageLinkages(const T *Old, const T *New) {
3033 static bool haveIncompatibleLanguageLinkages(const T *Old, const T *New) {
3046 template<typename T> static bool isExternC(T *D) { return D->isExternC(); }
3054 ExpectedDecl *New) {
3072 auto *Old = dyn_cast<ExpectedDecl>(OldS->getTargetDecl());
3072 auto *Old = dyn_cast<ExpectedDecl>(OldS->getTargetDecl());
3088 static bool hasIdenticalPassObjectSizeAttrs(const FunctionDecl *A,
3089 const FunctionDecl *B) {
3140 if (auto *FD = dyn_cast<FunctionDecl>(NewD))
3140 if (auto *FD = dyn_cast<FunctionDecl>(NewD))
3157 bool Sema::MergeFunctionDecl(FunctionDecl *New, NamedDecl *&OldD,
3160 FunctionDecl *Old = OldD->getAsFunction();
3173 if (checkUsingShadowRedecl<FunctionDecl>(*this, Shadow, New))
3175 OldD = Old = cast<FunctionDecl>(Shadow->getTargetDecl());
3288 FunctionDecl *First = Old->getFirstDecl();
3758 bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
3758 bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
4955 else if (isa<FunctionDecl>(Mem))
5276 FunctionDecl *Declaration,
5277 FunctionDecl *Definition,
5469 else if (isa<FunctionDecl>(Cur))
6154 if (isa<FunctionDecl>(ND) || !ND.isExternallyVisible()) {
6197 if (const auto *FD = dyn_cast<FunctionDecl>(&ND)) {
6197 if (const auto *FD = dyn_cast<FunctionDecl>(&ND)) {
6267 auto *FD = dyn_cast<FunctionDecl>(OldDecl);
6267 auto *FD = dyn_cast<FunctionDecl>(OldDecl);
6268 if (FD && FD->getTemplatedKind() == FunctionDecl::TK_NonTemplate)
6276 if (!isa<FunctionDecl>(OldDecl) || !NewImportAttr)
6304 } else if (const auto *FD = dyn_cast<FunctionDecl>(NewDecl)) {
6304 } else if (const auto *FD = dyn_cast<FunctionDecl>(NewDecl)) {
6345 if (MD->getTemplatedKind() == FunctionDecl::TK_MemberSpecialization &&
6360 static bool isFunctionDefinitionDiscarded(Sema &S, FunctionDecl *FD) {
6391 static bool isIncompleteDeclExternC(Sema &S, const T *D) {
6417 static bool shouldConsiderLinkage(const FunctionDecl *FD) {
6470 if (const auto *FD = dyn_cast<FunctionDecl>(D))
6470 if (const auto *FD = dyn_cast<FunctionDecl>(D))
6913 FunctionDecl *CurFD = getCurFunctionDecl();
7421 Sema &S, const T *ND, bool IsGlobal, LookupResult &Previous) {
7482 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Prev))
7482 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Prev))
7503 static bool checkForConflictWithNonVisibleExternC(Sema &S, const T *ND,
7631 FunctionDecl *FD = getCurFunctionDecl();
7909 DifferentNameValidatorCCC(ASTContext &Context, FunctionDecl *TypoFD,
7922 FunctionDecl *FD = dyn_cast<FunctionDecl>(*CDecl);
7922 FunctionDecl *FD = dyn_cast<FunctionDecl>(*CDecl);
7945 FunctionDecl *OriginalFD;
7965 Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD,
7970 SmallVector<std::pair<FunctionDecl *, unsigned>, 1> NearMatches;
7995 FunctionDecl *FD = dyn_cast<FunctionDecl>(*Func);
7995 FunctionDecl *FD = dyn_cast<FunctionDecl>(*Func);
8018 FunctionDecl *FD = dyn_cast<FunctionDecl>(*CDecl);
8018 FunctionDecl *FD = dyn_cast<FunctionDecl>(*CDecl);
8080 for (SmallVectorImpl<std::pair<FunctionDecl *, unsigned> >::iterator
8083 FunctionDecl *FD = NearMatch->first;
8144 static FunctionDecl *CreateNewFunctionDecl(Sema &SemaRef, Declarator &D,
8152 FunctionDecl *NewFD = nullptr;
8166 NewFD = FunctionDecl::Create(SemaRef.Context, DC, D.getBeginLoc(), NameInfo,
8231 return FunctionDecl::Create(SemaRef.Context, DC, D.getBeginLoc(),
8287 return FunctionDecl::Create(SemaRef.Context, DC, D.getBeginLoc(), NameInfo,
8600 FunctionDecl *NewFD = CreateNewFunctionDecl(*this, D, DC, R, TInfo, SC,
9545 static Attr *getImplicitCodeSegAttrFromClass(Sema &S, const FunctionDecl *FD) {
9580 Attr *Sema::getImplicitCodeSegOrSectionAttrForFunction(const FunctionDecl *FD,
9665 static bool CheckMultiVersionValue(Sema &S, const FunctionDecl *FD) {
9697 static bool HasNonMultiVersionAttributes(const FunctionDecl *FD,
9719 const FunctionDecl *OldFD, const FunctionDecl *NewFD,
9719 const FunctionDecl *OldFD, const FunctionDecl *NewFD,
9755 NewFD->getTemplatedKind() == FunctionDecl::TK_FunctionTemplate)
9828 static bool CheckMultiVersionAdditionalRules(Sema &S, const FunctionDecl *OldFD,
9829 const FunctionDecl *NewFD,
9880 static bool CheckMultiVersionFirstFunction(Sema &S, FunctionDecl *FD,
9905 static bool PreviousDeclsHaveMultiVersionAttribute(const FunctionDecl *FD) {
9915 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, const TargetAttr *NewTA,
9915 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, const TargetAttr *NewTA,
9973 for (const auto *FD : OldFD->redecls()) {
9999 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD,
9999 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD,
10029 FunctionDecl *CurFD = ND->getAsFunction();
10151 static bool CheckMultiVersionFunction(Sema &S, FunctionDecl *NewFD,
10192 FunctionDecl *OldFD = OldDecl->getAsFunction();
10235 bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD,
10296 if (IsOverload(NewFD, cast<FunctionDecl>(OldDecl), false)) {
10360 auto *OldFD = OldTemplateDecl->getTemplatedDecl();
10395 auto *OldFD = cast<FunctionDecl>(OldDecl);
10395 auto *OldFD = cast<FunctionDecl>(OldDecl);
10413 const auto *FD = dyn_cast<FunctionDecl>(ND);
10413 const auto *FD = dyn_cast<FunctionDecl>(ND);
10576 void Sema::CheckMain(FunctionDecl* FD, const DeclSpec& DS) {
10731 void Sema::CheckMSVCRTEntryPoint(FunctionDecl *FD) {
12576 auto *FD = dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod());
12576 auto *FD = dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod());
12582 FD = dyn_cast_or_null<FunctionDecl>(FD->getParentFunctionOrMethod());
12673 if (dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod())) {
12732 auto *F = dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod());
12732 auto *F = dyn_cast_or_null<FunctionDecl>(VD->getParentFunctionOrMethod());
13276 void Sema::ActOnFinishInlineFunctionDef(FunctionDecl *D) {
13281 ShouldWarnAboutMissingPrototype(const FunctionDecl *FD,
13282 const FunctionDecl *&PossiblePrototype) {
13319 for (const FunctionDecl *Prev = FD->getPreviousDecl();
13334 Sema::CheckForFunctionRedefinition(FunctionDecl *FD,
13335 const FunctionDecl *EffectiveDefinition,
13337 const FunctionDecl *Definition = EffectiveDefinition;
13357 if (FunctionDecl *Original = I->getInstantiatedFromMemberFunction()) {
13358 if (FunctionDecl *OrigFD = FD->getInstantiatedFromMemberFunction()) {
13493 FunctionDecl *FD = nullptr;
13498 FD = cast<FunctionDecl>(D);
13687 if (const FunctionDecl *FD = D->getAsFunction()) {
13702 if (FunctionDecl *FD = Decl->getAsFunction())
13759 FunctionDecl *FD = dcl ? dcl->getAsFunction() : nullptr;
13850 const FunctionDecl *PossiblePrototype = nullptr;
13913 const FunctionDecl *Definition;
14122 if (!isa<FunctionDecl>(ExternCPrev) ||
14124 cast<FunctionDecl>(ExternCPrev)->getType(),
14156 DeclFilterCCC<FunctionDecl> CCC{};
14197 FunctionDecl *FD = cast<FunctionDecl>(ActOnDeclarator(BlockScope, D));
14197 FunctionDecl *FD = cast<FunctionDecl>(ActOnDeclarator(BlockScope, D));
14214 void Sema::AddKnownFunctionAttributes(FunctionDecl *FD) {
17611 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) {
17616 << /*Variable*/(isa<FunctionDecl>(PrevDecl) ? 0 : 1) << PrevDecl;
17645 if (PrevDecl && (isa<FunctionDecl>(PrevDecl) || isa<VarDecl>(PrevDecl))) {
17659 Sema::FunctionEmissionStatus Sema::getEmissionStatus(FunctionDecl *FD) {
17716 FunctionDecl *Def = FD->getDefinition();
17731 bool Sema::shouldIgnoreInHostDeviceCheck(FunctionDecl *Callee) {
tools/clang/lib/Sema/SemaDeclAttr.cpp 98 if (const auto *FD = dyn_cast<FunctionDecl>(D))
98 if (const auto *FD = dyn_cast<FunctionDecl>(D))
129 if (const auto *FD = dyn_cast<FunctionDecl>(D))
129 if (const auto *FD = dyn_cast<FunctionDecl>(D))
693 const auto *FD = dyn_cast<FunctionDecl>(D);
693 const auto *FD = dyn_cast<FunctionDecl>(D);
844 static bool checkParamIsIntegerType(Sema &S, const FunctionDecl *FD,
868 const auto *FD = cast<FunctionDecl>(D);
868 const auto *FD = cast<FunctionDecl>(D);
980 if (isa<FunctionDecl>(D) && !Cond->isValueDependent() &&
981 !Expr::isPotentialConstantExprUnevaluated(Cond, cast<FunctionDecl>(D),
1012 ArgumentDependenceChecker(const FunctionDecl *FD) {
1066 if (const auto *FD = dyn_cast<FunctionDecl>(D))
1066 if (const auto *FD = dyn_cast<FunctionDecl>(D))
1610 const auto *FuncDecl = cast<FunctionDecl>(D);
1610 const auto *FuncDecl = cast<FunctionDecl>(D);
1803 const auto *FD = cast<FunctionDecl>(D);
1803 const auto *FD = cast<FunctionDecl>(D);
1826 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
1826 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
1882 FunctionDecl *FD = cast<FunctionDecl>(D);
1882 FunctionDecl *FD = cast<FunctionDecl>(D);
2679 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2679 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2861 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2861 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2930 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2930 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
3028 FunctionDecl *FD = nullptr;
3036 FD = dyn_cast<FunctionDecl>(DRE->getDecl());
3356 FunctionDecl *FD = D->getAsFunction();
4226 const auto *FD = cast<FunctionDecl>(D);
4226 const auto *FD = cast<FunctionDecl>(D);
4253 const auto *Fn = cast<FunctionDecl>(D);
4253 const auto *Fn = cast<FunctionDecl>(D);
4427 const FunctionDecl *FD) {
4855 cast<FunctionDecl>(D)->getIdentifier()->getName())) {
4976 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
4976 } else if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
5660 auto *FD = cast<FunctionDecl>(D);
5660 auto *FD = cast<FunctionDecl>(D);
5682 auto *FD = cast<FunctionDecl>(D);
5682 auto *FD = cast<FunctionDecl>(D);
5919 if (!isa<FunctionDecl>(D)) {
5982 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
5982 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
6427 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
6427 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
7336 if (auto *FD = dyn_cast<FunctionDecl>(ND)) {
7336 if (auto *FD = dyn_cast<FunctionDecl>(ND)) {
7337 FunctionDecl *NewFD;
7342 NewFD = FunctionDecl::Create(
7410 if (auto *FD = dyn_cast<FunctionDecl>(D))
7410 if (auto *FD = dyn_cast<FunctionDecl>(D))
7459 !isa<FunctionDecl>(D))
7496 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
7496 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
7692 if (isa<TagDecl>(Ctx) || isa<FunctionDecl>(Ctx) || isa<ObjCMethodDecl>(Ctx))
8221 if (!D || isa<FunctionDecl>(D))
8455 if (auto *FD = D->getAsFunction()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp 421 static bool functionDeclHasDefaultArgument(const FunctionDecl *FD) {
436 bool Sema::MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old,
436 bool Sema::MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old,
448 FunctionDecl *PrevForDefaultArgs = Old;
638 const FunctionDecl *Def;
1529 void Sema::CheckCXXDefaultArguments(FunctionDecl *FD) {
1634 const FunctionDecl *FD,
1666 static bool CheckConstexprFunctionBody(Sema &SemaRef, const FunctionDecl *Dcl,
1676 bool Sema::CheckConstexprFunctionDefinition(const FunctionDecl *NewFD,
1766 static bool CheckConstexprDeclStmt(Sema &SemaRef, const FunctionDecl *Dcl,
1908 const FunctionDecl *Dcl,
1963 CheckConstexprFunctionStmt(Sema &SemaRef, const FunctionDecl *Dcl, Stmt *S,
2108 static bool CheckConstexprFunctionBody(Sema &SemaRef, const FunctionDecl *Dcl,
5727 FunctionDecl *FD = cast<FunctionTemplateDecl>(D)->getTemplatedDecl();
6009 for (FunctionDecl *FD = MD->getMostRecentDecl(); FD;
6095 Sema::getDefaultedFunctionKind(const FunctionDecl *FD) {
6480 auto *FD = dyn_cast_or_null<FunctionDecl>(D->getFriendDecl());
6480 auto *FD = dyn_cast_or_null<FunctionDecl>(D->getFriendDecl());
6839 void Sema::CheckExplicitlyDefaultedFunction(FunctionDecl *FD) {
6989 MD->getTemplatedKind() == FunctionDecl::TK_NonTemplate) {
7049 bool Sema::CheckExplicitlyDefaultedComparison(FunctionDecl *FD,
7721 FunctionDecl *OperatorDelete = nullptr;
8485 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
8485 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
8586 FunctionDecl *Method = cast<FunctionDecl>(MethodD);
8586 FunctionDecl *Method = cast<FunctionDecl>(MethodD);
8739 if (FunctionDecl *OperatorDelete =
9754 bool Sema::isInitListConstructor(const FunctionDecl *Ctor) {
10132 if (FunctionDecl *FD = Target->getAsFunction()) {
11399 void Sema::CheckImplicitSpecialMemberDeclaration(Scope *S, FunctionDecl *FD) {
12061 FunctionDecl *MemCpy = R.getAsSingle<FunctionDecl>();
12061 FunctionDecl *MemCpy = R.getAsSingle<FunctionDecl>();
13282 bool Sema::isImplicitlyDeleted(FunctionDecl *FD) {
13293 FunctionDecl *CallOp = Lambda->getLambdaCallOperator();
13294 FunctionDecl *Invoker = Lambda->getLambdaStaticInvoker();
13678 const FunctionDecl *FnDecl) {
13704 CheckOperatorNewDeleteTypes(Sema &SemaRef, const FunctionDecl *FnDecl,
13766 CheckOperatorNewDeclaration(Sema &SemaRef, const FunctionDecl *FnDecl) {
13797 CheckOperatorDeleteDeclaration(Sema &SemaRef, FunctionDecl *FnDecl) {
13841 bool Sema::CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl) {
14021 bool Sema::CheckLiteralOperatorDeclaration(FunctionDecl *FnDecl) {
14101 FunctionDecl::param_iterator Param = FnDecl->param_begin();
14882 FunctionDecl *FunctionContainingLocalClass = nullptr;
15101 FunctionDecl *FD;
15105 FD = cast<FunctionDecl>(ND);
15138 FunctionDecl *Fn = dyn_cast_or_null<FunctionDecl>(Dcl);
15138 FunctionDecl *Fn = dyn_cast_or_null<FunctionDecl>(Dcl);
15147 if (const FunctionDecl *Prev = Fn->getPreviousDecl()) {
15207 auto *FD = dyn_cast<FunctionDecl>(Dcl);
15207 auto *FD = dyn_cast<FunctionDecl>(Dcl);
15270 const FunctionDecl *Primary = FD;
15271 if (const FunctionDecl *Pattern = FD->getTemplateInstantiationPattern())
15555 if (isa<FunctionDecl>(Dcl)) { // The declarator shall not specify a function.
15728 const FunctionDecl *KeyFunctionDef = nullptr;
15855 const FunctionDecl *FNTarget = nullptr;
15888 const FunctionDecl *FNTarget = nullptr;
tools/clang/lib/Sema/SemaExceptionSpec.cpp 197 FunctionDecl *SourceDecl = FPT->getExceptionSpecDecl();
221 Sema::UpdateExceptionSpec(FunctionDecl *FD,
228 for (FunctionDecl *Redecl : FD->redecls())
232 static bool exceptionSpecNotKnownYet(const FunctionDecl *FD) {
252 static bool hasImplicitExceptionSpec(FunctionDecl *Decl) {
270 bool Sema::CheckEquivalentExceptionSpec(FunctionDecl *Old, FunctionDecl *New) {
270 bool Sema::CheckEquivalentExceptionSpec(FunctionDecl *Old, FunctionDecl *New) {
986 if (D && isa<FunctionDecl>(D) && D->hasAttr<NoThrowAttr>())
tools/clang/lib/Sema/SemaExpr.cpp 59 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
59 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
99 void Sema::NoteDeletedFunction(FunctionDecl *Decl) {
128 static bool hasAnyExplicitStorageClass(const FunctionDecl *D) {
154 FunctionDecl *Current = S.getCurFunctionDecl();
173 const FunctionDecl *UsedFn = dyn_cast<FunctionDecl>(D);
173 const FunctionDecl *UsedFn = dyn_cast<FunctionDecl>(D);
188 void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) {
189 const FunctionDecl *First = Cur->getFirstDecl();
217 if (getLangOpts().CPlusPlus && isa<FunctionDecl>(D)) {
234 if (cast<FunctionDecl>(D)->isMain())
237 diagnoseUnavailableAlignedAllocation(*cast<FunctionDecl>(D), Loc);
253 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
253 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
356 } else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
356 } else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
453 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl()))
453 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl()))
2033 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(CD))
2033 else if (FunctionDecl *FD = dyn_cast<FunctionDecl>(CD))
2857 if (isa<FunctionDecl>(D)) {
2858 FunctionDecl *FDecl = cast<FunctionDecl>(D);
2858 FunctionDecl *FDecl = cast<FunctionDecl>(D);
2901 const auto *FD = dyn_cast<FunctionDecl>(R.getFoundDecl());
2901 const auto *FD = dyn_cast<FunctionDecl>(R.getFoundDecl());
3108 if (unsigned BID = cast<FunctionDecl>(VD)->getBuiltinID()) {
3137 if (!cast<FunctionDecl>(VD)->hasPrototype() &&
4804 bool Sema::CheckCXXDefaultArgExpr(SourceLocation CallLoc, FunctionDecl *FD,
4937 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto,
4982 FunctionDecl *FDecl,
4998 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(CD))
4998 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(CD))
5027 FunctionDecl *FDecl,
5142 bool Sema::GatherArgumentsForCall(SourceLocation CallLoc, FunctionDecl *FDecl,
5402 static FunctionDecl *rewriteBuiltinFunctionDecl(Sema *Sema, ASTContext &Context,
5403 FunctionDecl *FDecl,
5453 FunctionDecl *OverloadDecl = FunctionDecl::Create(Context, Parent,
5453 FunctionDecl *OverloadDecl = FunctionDecl::Create(Context, Parent,
5477 FunctionDecl *Callee,
5715 FunctionDecl *FDecl = dyn_cast<FunctionDecl>(NDecl);
5715 FunctionDecl *FDecl = dyn_cast<FunctionDecl>(NDecl);
5732 if (FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(NDecl)) {
5732 if (FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(NDecl)) {
5791 FunctionDecl *FDecl = dyn_cast_or_null<FunctionDecl>(NDecl);
5791 FunctionDecl *FDecl = dyn_cast_or_null<FunctionDecl>(NDecl);
5804 if (auto *Caller = getCurFunctionDecl())
5959 const FunctionDecl *Def = nullptr;
8606 if (FunctionDecl *FD = ResolveAddressOfOverloadedFunction(
10881 if (isa<FunctionDecl>(DC))
11476 if (auto *FD = dyn_cast<FunctionDecl>(DC))
11476 if (auto *FD = dyn_cast<FunctionDecl>(DC))
11584 const FunctionDecl *FD = CE->getDirectCallee();
12354 if (auto *FD = dyn_cast_or_null<FunctionDecl>(dcl))
12354 if (auto *FD = dyn_cast_or_null<FunctionDecl>(dcl))
12475 } else if (!isa<FunctionDecl>(dcl) && !isa<NonTypeTemplateParmDecl>(dcl) &&
12511 if (const FunctionDecl* FD = dyn_cast<FunctionDecl>(Param->getDeclContext()))
12511 if (const FunctionDecl* FD = dyn_cast<FunctionDecl>(Param->getDeclContext()))
13222 FunctionDecl *FD = OCE->getDirectCallee();
14439 if (const FunctionDecl *F = dyn_cast<FunctionDecl>(CurContext)) {
14439 if (const FunctionDecl *F = dyn_cast<FunctionDecl>(CurContext)) {
14622 auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl());
15267 static bool funcHasParameterSizeMangling(Sema &S, FunctionDecl *FD) {
15302 static void CheckCompleteParameterTypesForMangler(Sema &S, FunctionDecl *FD,
15305 FunctionDecl *FD;
15309 ParamIncompleteTypeDiagnoser(FunctionDecl *FD, ParmVarDecl *Param)
15387 static bool isImplicitlyDefinableConstexprFunction(FunctionDecl *Func) {
15395 void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func,
15682 } else if (isa<FunctionDecl>(VarDC)) {
16948 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
16948 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
17141 CallExpr *CE, FunctionDecl *FD) {
17154 FunctionDecl *FD;
17158 CallReturnIncompleteDiagnoser(FunctionDecl *FD, CallExpr *CE)
17386 if (!isa<FunctionDecl>(VD)) return VisitExpr(E);
17682 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(VD)) {
17682 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(VD)) {
17706 FunctionDecl *NewFD = FunctionDecl::Create(
17706 FunctionDecl *NewFD = FunctionDecl::Create(
17929 auto *FD = cast<FunctionDecl>(DRE->getDecl());
17929 auto *FD = cast<FunctionDecl>(DRE->getDecl());
tools/clang/lib/Sema/SemaExprCXX.cpp 1436 const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext);
1436 const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext);
1441 SmallVector<const FunctionDecl*, 4> PreventedBy;
1458 static bool isNonPlacementDeallocationFunction(Sema &S, FunctionDecl *FD) {
1487 : Found(Found), FD(dyn_cast<FunctionDecl>(Found->getUnderlyingDecl())),
1515 if (auto *Caller = dyn_cast<FunctionDecl>(S.CurContext))
1515 if (auto *Caller = dyn_cast<FunctionDecl>(S.CurContext))
1544 FunctionDecl *FD;
1740 Sema::isUnavailableAlignedAllocationFunction(const FunctionDecl &FD) const {
1753 void Sema::diagnoseUnavailableAlignedAllocation(const FunctionDecl &FD,
2038 FunctionDecl *OperatorNew = nullptr;
2039 FunctionDecl *OperatorDelete = nullptr;
2224 bool &PassAlignment, FunctionDecl *&Operator,
2242 FunctionDecl *Fn = cast<FunctionDecl>(D);
2242 FunctionDecl *Fn = cast<FunctionDecl>(D);
2252 FunctionDecl *FnDecl = Best->Function;
2349 FunctionDecl *&OperatorNew,
2350 FunctionDecl *&OperatorDelete,
2487 SmallVector<std::pair<DeclAccessPair,FunctionDecl*>, 2> Matches;
2537 FunctionDecl *Fn = nullptr;
2547 Fn = cast<FunctionDecl>((*D)->getUnderlyingDecl());
2557 EraseUnwantedCUDAMatches(dyn_cast<FunctionDecl>(CurContext), Matches);
2778 if (FunctionDecl *Func = dyn_cast<FunctionDecl>(*Alloc)) {
2778 if (FunctionDecl *Func = dyn_cast<FunctionDecl>(*Alloc)) {
2816 FunctionDecl *Alloc = FunctionDecl::Create(
2816 FunctionDecl *Alloc = FunctionDecl::Create(
2852 FunctionDecl *Sema::FindUsualDeallocationFunction(SourceLocation StartLoc,
2871 FunctionDecl *Sema::FindDeallocationFunctionForDestructor(SourceLocation Loc,
2875 FunctionDecl *OperatorDelete = nullptr;
2890 FunctionDecl *&Operator, bool Diagnose) {
3092 const FunctionDecl *Definition = CD;
3231 FunctionDecl *OperatorDelete = nullptr;
3445 FunctionDecl *&Operator) {
3475 FunctionDecl *Fn = cast<FunctionDecl>(D);
3475 FunctionDecl *Fn = cast<FunctionDecl>(D);
3487 FunctionDecl *FnDecl = Best->Function;
3544 FunctionDecl *OperatorNewOrDelete = nullptr;
3811 FunctionDecl *FD = ICS.UserDefined.ConversionFunction;
3930 FunctionDecl *Fn = ResolveAddressOfOverloadedFunction(From, ToType,
6679 ArrayRef<FunctionDecl *> OperatorArrows) {
6739 FunctionDecl *CurFD = dyn_cast<FunctionDecl>(CurContext);
6739 FunctionDecl *CurFD = dyn_cast<FunctionDecl>(CurContext);
6742 SmallVector<FunctionDecl*, 8> OperatorArrows;
tools/clang/lib/Sema/SemaExprMember.cpp 997 const auto *FD = getCurFunctionDecl();
tools/clang/lib/Sema/SemaExprObjC.cpp 3448 if (FunctionDecl *fn = e->getDirectCallee())
3455 ACCResult checkCallToFunction(FunctionDecl *fn) {
tools/clang/lib/Sema/SemaInit.cpp 3518 ::AddAddressOverloadResolutionStep(FunctionDecl *Function,
3565 InitializationSequence::AddUserConversionStep(FunctionDecl *Function,
4158 if (FunctionDecl *Fn
4581 FunctionDecl *Function = Best->Function;
5228 FunctionDecl *Function = Best->Function;
5544 if (!DRE || !isa<FunctionDecl>(DRE->getDecl()))
5548 cast<FunctionDecl>(DRE->getDecl()));
6760 static bool shouldTrackFirstArgument(const FunctionDecl *FD) {
6808 FunctionDecl *Callee = OCE->getDirectCallee();
6814 FunctionDecl *Callee = CE->getDirectCallee();
6828 static bool implicitObjectParamIsLifetimeBound(const FunctionDecl *FD) {
6847 const FunctionDecl *Callee;
7990 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl())) {
7990 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl())) {
8046 FunctionDecl *Fn = Step->Function.Function;
8788 auto *FD = cast<FunctionDecl>(cast<DeclRefExpr>(OnlyArg)->getDecl());
8788 auto *FD = cast<FunctionDecl>(cast<DeclRefExpr>(OnlyArg)->getDecl());
9630 const FunctionDecl *Function = LastStep->Function.Function;
9755 TD ? TD->getTemplatedDecl() : dyn_cast<FunctionDecl>(D));
9824 auto *FD = dyn_cast<FunctionDecl>(D->getUnderlyingDecl());
9824 auto *FD = dyn_cast<FunctionDecl>(D->getUnderlyingDecl());
tools/clang/lib/Sema/SemaLambda.cpp 265 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
265 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
tools/clang/lib/Sema/SemaLookup.cpp 393 if (auto *DFD = dyn_cast<FunctionDecl>(DUnderlying)) {
393 if (auto *DFD = dyn_cast<FunctionDecl>(DUnderlying)) {
394 auto *EFD = cast<FunctionDecl>(EUnderlying);
394 auto *EFD = cast<FunctionDecl>(EUnderlying);
440 if (!isa<FunctionDecl>(DUnderlying) && !isa<VarDecl>(DUnderlying)) {
469 return isa<VarDecl>(D) || isa<EnumConstantDecl>(D) || isa<FunctionDecl>(D) ||
570 } else if (isa<FunctionDecl>(D)) {
791 FunctionDecl *NewOpenCLBuiltin;
794 NewOpenCLBuiltin = FunctionDecl::Create(
1070 FunctionDecl *Specialization = nullptr;
1524 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Entity)) {
1524 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Entity)) {
1527 if (FunctionDecl *Pattern = FD->getTemplateInstantiationPattern())
1648 if (auto *FD = dyn_cast<FunctionDecl>(D))
1724 (isa<FunctionDecl>(DC) && !SemaRef.getLangOpts().CPlusPlus))
3012 const FunctionDecl *FDecl = D->getUnderlyingDecl()->getAsFunction();
3410 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
3410 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
3504 FunctionDecl *OldFD = Old->getAsFunction();
3505 FunctionDecl *NewFD = New->getAsFunction();
3507 FunctionDecl *Cursor = NewFD;
3563 if (!isa<FunctionDecl>(Underlying) &&
5214 FunctionDecl *FD = nullptr;
5219 if (!(FD = dyn_cast<FunctionDecl>(ND)) && isa<ValueDecl>(ND)) {
5281 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
5281 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Sema/SemaObjCProperty.cpp 1493 if (const FunctionDecl *FuncDecl = CXXCE->getDirectCallee())
tools/clang/lib/Sema/SemaOpenMP.cpp 1618 void Sema::checkOpenMPDeviceFunction(SourceLocation Loc, FunctionDecl *Callee,
1624 FunctionDecl *Caller = getCurFunctionDecl();
1661 void Sema::checkOpenMPHostFunction(SourceLocation Loc, FunctionDecl *Callee,
1667 FunctionDecl *Caller = getCurFunctionDecl();
2097 for (const std::pair<CanonicalDeclPtr<FunctionDecl>, SourceLocation>
2099 const FunctionDecl *FD = Callee.first->getMostRecentDecl();
2241 isa<FunctionDecl>(ND))) {
4730 auto *FD = dyn_cast<FunctionDecl>(ADecl);
4730 auto *FD = dyn_cast<FunctionDecl>(ADecl);
4957 Optional<std::pair<FunctionDecl *, Expr *>>
4975 auto *FD = dyn_cast<FunctionDecl>(ADecl);
4975 auto *FD = dyn_cast<FunctionDecl>(ADecl);
5000 const FunctionDecl *Definition;
5088 auto *NewFD = dyn_cast_or_null<FunctionDecl>(DRE->getDecl());
5088 auto *NewFD = dyn_cast_or_null<FunctionDecl>(DRE->getDecl());
5172 FunctionDecl *FD, Expr *VariantRef, SourceRange SR,
5198 FunctionDecl *Func,
5208 auto *F = cast<FunctionDecl>(DRE->getDecl());
5208 auto *F = cast<FunctionDecl>(DRE->getDecl());
16201 if (!isa<VarDecl>(ND) && !isa<FunctionDecl>(ND) &&
16307 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
16307 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
16333 if (isa<VarDecl>(D) || isa<FunctionDecl>(D) ||
tools/clang/lib/Sema/SemaOverload.cpp 41 static bool functionHasPassObjectSizeParams(const FunctionDecl *FD) {
49 CreateFunctionRefExpr(Sema &S, FunctionDecl *Fn, NamedDecl *FoundDecl,
859 ASTContext &Ctx, const FunctionDecl *FD) {
994 Sema::CheckOverload(Scope *S, FunctionDecl *New, const LookupResult &Old,
1025 if (FunctionDecl *OldF = OldD->getAsFunction()) {
1099 Match = TemplateSpecResult.getAsSingle<FunctionDecl>();
1106 bool Sema::IsOverload(FunctionDecl *New, FunctionDecl *Old,
1106 bool Sema::IsOverload(FunctionDecl *New, FunctionDecl *Old,
1654 if (FunctionDecl *Fn
1754 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl()))
1754 if (auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl()))
3574 compareConversionFunctions(Sema &S, FunctionDecl *Function1,
3575 FunctionDecl *Function2) {
4612 if (FunctionDecl *Fn = S.ResolveAddressOfOverloadedFunction(Init, DeclType,
5042 if (FunctionDecl *Fn = S.ResolveAddressOfOverloadedFunction(
6041 FunctionDecl *Fn,
6083 FunctionDecl *Function, DeclAccessPair FoundDecl, ArrayRef<Expr *> Args,
6232 if (const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext))
6232 if (const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext))
6391 convertArgsForAvailabilityChecks(Sema &S, FunctionDecl *Function, Expr *ThisArg,
6461 EnableIfAttr *Sema::CheckEnableIf(FunctionDecl *Function, ArrayRef<Expr *> Args,
6531 bool Sema::diagnoseArgDependentDiagnoseIfAttrs(const FunctionDecl *Function,
6543 Result, Context, cast<FunctionDecl>(DIA->getParent()), Args, ThisArg))
6574 FunctionDecl *FD =
6575 FunTmpl ? FunTmpl->getTemplatedDecl() : cast<FunctionDecl>(D);
6752 if (const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext))
6752 if (const FunctionDecl *Caller = dyn_cast<FunctionDecl>(CurContext))
6829 FunctionDecl *Specialization = nullptr;
6894 FunctionDecl *Specialization = nullptr;
6951 auto *FD = FunctionTemplate->getTemplatedDecl();
7389 FunctionDecl *FD =
7390 FunTmpl ? FunTmpl->getTemplatedDecl() : cast<FunctionDecl>(D);
9161 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) {
9161 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) {
9195 static Comparison compareEnableIfAttrs(const Sema &S, const FunctionDecl *Cand1,
9196 const FunctionDecl *Cand2) {
9500 FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext);
9500 FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext);
9607 const FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext);
9607 const FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext);
9702 ClassifyOverloadCandidate(Sema &S, NamedDecl *Found, FunctionDecl *Fn,
9776 const FunctionDecl *FD) {
9795 static bool checkAddressOfFunctionIsAvailable(Sema &S, const FunctionDecl *FD,
9831 const FunctionDecl *FD) {
9837 bool Sema::checkAddressOfFunctionIsAvailable(const FunctionDecl *Function,
9846 void Sema::NoteOverloadCandidate(NamedDecl *Found, FunctionDecl *Fn,
9883 } else if (FunctionDecl *Fun
9884 = dyn_cast<FunctionDecl>((*I)->getUnderlyingDecl()) ) {
9920 FunctionDecl *Fn = Cand->Function;
10150 FunctionDecl *Fn = Cand->Function;
10183 FunctionDecl *Fn = cast<FunctionDecl>(D);
10183 FunctionDecl *Fn = cast<FunctionDecl>(D);
10456 if (TakingCandidateAddress && isa<FunctionDecl>(Templated) &&
10457 !checkAddressOfCandidateIsAvailable(S, cast<FunctionDecl>(Templated)))
10497 FunctionDecl *Caller = cast<FunctionDecl>(S.CurContext);
10497 FunctionDecl *Caller = cast<FunctionDecl>(S.CurContext);
10498 FunctionDecl *Callee = Cand->Function;
10555 FunctionDecl *Callee = Cand->Function;
10591 FunctionDecl *Callee = Cand->Function;
10617 FunctionDecl *Fn = Cand->Function;
11271 static bool completeFunctionType(Sema &S, FunctionDecl *FD, SourceLocation Loc,
11307 SmallVector<std::pair<DeclAccessPair, FunctionDecl*>, 4> Matches;
11332 if (FunctionDecl *Fn = S.ResolveSingleFunctionTemplateSpecialization(
11373 bool candidateHasExactlyCorrectType(const FunctionDecl *FD) {
11381 bool isBetterCandidate(const FunctionDecl *A, const FunctionDecl *B) {
11381 bool isBetterCandidate(const FunctionDecl *A, const FunctionDecl *B) {
11400 const FunctionDecl *BestFn = Best->second;
11447 FunctionDecl *Specialization = nullptr;
11486 if (FunctionDecl *FunDecl = dyn_cast<FunctionDecl>(Fn)) {
11486 if (FunctionDecl *FunDecl = dyn_cast<FunctionDecl>(Fn)) {
11488 if (FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext))
11488 if (FunctionDecl *Caller = dyn_cast<FunctionDecl>(S.CurContext))
11512 CurAccessFunPair, cast<FunctionDecl>(FunDecl->getCanonicalDecl())));
11585 Matches[0].second = cast<FunctionDecl>(*Result);
11605 S.EraseUnwantedCUDAMatches(dyn_cast<FunctionDecl>(S.CurContext), Matches);
11624 if (FunctionDecl *Fun =
11625 dyn_cast<FunctionDecl>((*I)->getUnderlyingDecl()))
11673 FunctionDecl* getMatchingFunctionDecl() const {
11700 FunctionDecl *
11711 FunctionDecl *Fn = nullptr;
11746 FunctionDecl *
11751 FunctionDecl *Result = nullptr;
11757 auto *FD = dyn_cast<FunctionDecl>(I->getUnderlyingDecl());
11757 auto *FD = dyn_cast<FunctionDecl>(I->getUnderlyingDecl());
11789 FunctionDecl *Found = resolveAddressOfOnlyViableOverloadCandidate(E, DAP);
11817 FunctionDecl *
11838 FunctionDecl *Matched = nullptr;
11856 FunctionDecl *Specialization = nullptr;
11912 if (FunctionDecl *fn = ResolveSingleFunctionTemplateSpecialization(
11988 if (FunctionDecl *Func = dyn_cast<FunctionDecl>(Callee)) {
11988 if (FunctionDecl *Func = dyn_cast<FunctionDecl>(Callee)) {
12320 FunctionDecl *F;
12323 (F = dyn_cast<FunctionDecl>(*ULE->decls_begin())) &&
12344 (isa<FunctionDecl>(CurContext) || isa<CXXRecordDecl>(CurContext))) {
12391 FunctionDecl *FDecl = (*Best)->Function;
12418 auto *FD = dyn_cast<FunctionDecl>(DRE->getDecl());
12452 FunctionDecl *FDecl = (*Best)->Function;
12599 FunctionDecl *FnDecl = Best->Function;
12854 FunctionDecl *FnDecl = Best->Function;
13180 FunctionDecl *FnDecl = Best->Function;
14023 FunctionDecl *FD = Best->Function;
14135 FunctionDecl *Fn) {
14309 FunctionDecl *Fn) {
tools/clang/lib/Sema/SemaStmt.cpp 1601 FunctionDecl *FD = Call->getDirectCallee();
2039 FunctionDecl *D = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
2039 FunctionDecl *D = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
2749 const FunctionDecl *FD = Call->getDirectCallee();
3067 FunctionDecl *FD = Step.Function.Function;
3228 static bool hasDeducedReturnType(FunctionDecl *FD) {
3264 FunctionDecl *FD = CurLambda->CallOperator;
3434 TypeLoc Sema::getReturnTypeLoc(FunctionDecl *FD) const {
3443 bool Sema::DeduceFunctionTypeFromReturnExpr(FunctionDecl *FD,
3591 if (const FunctionDecl *FD = getCurFunctionDecl()) {
3637 FunctionDecl *FD = cast<FunctionDecl>(CurContext);
3637 FunctionDecl *FD = cast<FunctionDecl>(CurContext);
3729 FunctionDecl *FD = getCurFunctionDecl();
4174 FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(DC);
4174 FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(DC);
tools/clang/lib/Sema/SemaStmtAsm.cpp 128 FunctionDecl *Func = dyn_cast<FunctionDecl>(S.CurContext);
128 FunctionDecl *Func = dyn_cast<FunctionDecl>(S.CurContext);
tools/clang/lib/Sema/SemaTemplate.cpp 121 isa<FunctionDecl>((*I)->getUnderlyingDecl()))
441 return isa<FunctionDecl>(ND->getUnderlyingDecl());
775 if (isa<FunctionDecl>(Instantiation)) {
789 if (isa<FunctionDecl>(Instantiation)) {
6075 FunctionDecl *Func = dyn_cast<FunctionDecl>(Entity);
6075 FunctionDecl *Func = dyn_cast<FunctionDecl>(Entity);
6757 if (FunctionDecl *Fn = ResolveAddressOfOverloadedFunction(Arg, ParamType,
6809 if (FunctionDecl *Fn = ResolveAddressOfOverloadedFunction(Arg,
7050 } else if (isa<FunctionDecl>(VD)) {
7425 if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D))
7425 if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D))
8107 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
8107 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
8330 Sema::CheckDependentFunctionTemplateSpecialization(FunctionDecl *FD,
8394 FunctionDecl *FD, TemplateArgumentListInfo *ExplicitTemplateArgs,
8402 llvm::SmallDenseMap<FunctionDecl *, TemplateArgumentListInfo, 8>
8446 FunctionDecl *Specialization = nullptr;
8491 if (auto *OldFD = dyn_cast<FunctionDecl>(OldND->getUnderlyingDecl()))
8491 if (auto *OldFD = dyn_cast<FunctionDecl>(OldND->getUnderlyingDecl()))
8510 FunctionDecl *Specialization = cast<FunctionDecl>(*Result);
8510 FunctionDecl *Specialization = cast<FunctionDecl>(*Result);
8639 } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Member)) {
8639 } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Member)) {
8751 if (auto *MemberFunction = dyn_cast<FunctionDecl>(Member)) {
8751 if (auto *MemberFunction = dyn_cast<FunctionDecl>(Member)) {
8752 FunctionDecl *InstantiationFunction = cast<FunctionDecl>(Instantiation);
8752 FunctionDecl *InstantiationFunction = cast<FunctionDecl>(Instantiation);
9579 FunctionDecl *NonTemplateMatch = nullptr;
9605 FunctionDecl *Specialization = nullptr;
9637 FunctionDecl *Specialization = NonTemplateMatch;
9651 Specialization = cast<FunctionDecl>(*Result);
9687 FunctionDecl *PrevDecl = Specialization->getPreviousDecl();
10316 void Sema::MarkAsLateParsedTemplate(FunctionDecl *FD, Decl *FnD,
10331 void Sema::UnmarkAsLateParsedTemplate(FunctionDecl *FD) {
10342 const FunctionDecl *FD = RD->isLocalClass();
10343 return (FD && FD->getTemplatedKind() != FunctionDecl::TK_NonTemplate);
10380 if (auto *FD = dyn_cast<FunctionDecl>(ND))
10380 if (auto *FD = dyn_cast<FunctionDecl>(ND))
10418 void checkImpl(SpecDecl *Spec) {
10433 void checkInstantiated(FunctionDecl *FD) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp 2971 FunctionDecl *Function = FunctionTemplate->getTemplatedDecl();
3313 unsigned NumExplicitlySpecified, FunctionDecl *&Specialization,
3366 Specialization = cast_or_null<FunctionDecl>(
3451 FunctionDecl *Fn) {
3501 if (FunctionDecl *ExplicitSpec
3507 if (FunctionDecl *Viable =
3531 FunctionDecl *Specialization = nullptr;
3540 FunctionDecl *Fn = cast<FunctionDecl>(D);
3540 FunctionDecl *Fn = cast<FunctionDecl>(D);
3811 FunctionDecl *&Specialization, TemplateDeductionInfo &Info,
3817 FunctionDecl *Function = FunctionTemplate->getTemplatedDecl();
4028 FunctionDecl *&Specialization, TemplateDeductionInfo &Info,
4033 FunctionDecl *Function = FunctionTemplate->getTemplatedDecl();
4249 FunctionDecl *ConversionSpecialized = nullptr;
4284 FunctionDecl *&Specialization, TemplateDeductionInfo &Info,
4631 bool Sema::DeduceReturnType(FunctionDecl *FD, SourceLocation Loc,
4639 FunctionDecl *CallOp = Lambda->getLambdaCallOperator();
4719 FunctionDecl *FD1 = FT1->getTemplatedDecl();
4720 FunctionDecl *FD2 = FT2->getTemplatedDecl();
4865 FunctionDecl *Function = FunTmpl->getTemplatedDecl();
4987 = cast<FunctionDecl>(*Best)->getPrimaryTemplate();
4991 = cast<FunctionDecl>(*I)->getPrimaryTemplate();
5006 = cast<FunctionDecl>(*I)->getPrimaryTemplate();
5028 const auto *FD = cast<FunctionDecl>(*I);
5028 const auto *FD = cast<FunctionDecl>(*I);
5698 FunctionDecl *Function = FunctionTemplate->getTemplatedDecl();
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp 59 const FunctionDecl *Pattern) {
135 else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Ctx)) {
135 else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Ctx)) {
263 Sema &SemaRef, SourceLocation PointOfInstantiation, FunctionDecl *Entity,
499 } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
499 } else if (FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
599 FunctionDecl *FD = cast<FunctionDecl>(Param->getDeclContext());
599 FunctionDecl *FD = cast<FunctionDecl>(Param->getDeclContext());
658 << cast<FunctionDecl>(Active->Entity);
664 << cast<FunctionDecl>(Active->Entity)
1496 cast<FunctionDecl>(E->getParam()->getDeclContext()),
1792 void Sema::SubstExceptionSpec(FunctionDecl *New, const FunctionProtoType *Proto,
1870 FunctionDecl *OwningFunc = cast<FunctionDecl>(OldParm->getDeclContext());
1870 FunctionDecl *OwningFunc = cast<FunctionDecl>(OldParm->getDeclContext());
2669 if (auto *Function = dyn_cast<FunctionDecl>(D)) {
2669 if (auto *Function = dyn_cast<FunctionDecl>(D)) {
2670 if (FunctionDecl *Pattern =
2982 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(PV->getDeclContext())) {
2982 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(PV->getDeclContext())) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 42 static bool SubstQualifier(Sema &SemaRef, const DeclT *OldDecl, DeclT *NewDecl,
42 static bool SubstQualifier(Sema &SemaRef, const DeclT *OldDecl, DeclT *NewDecl,
183 const Attr *A, Expr *OldCond, const Decl *Tmpl, FunctionDecl *New) {
214 const EnableIfAttr *EIA, const Decl *Tmpl, FunctionDecl *New) {
225 const DiagnoseIfAttr *DIA, const Decl *Tmpl, FunctionDecl *New) {
275 auto *FD = cast<FunctionDecl>(New);
275 auto *FD = cast<FunctionDecl>(New);
358 auto *FD = cast<FunctionDecl>(New);
358 auto *FD = cast<FunctionDecl>(New);
396 Optional<std::pair<FunctionDecl *, Expr *>> DeclVarData =
435 ExplicitSpecifier ES, FunctionDecl *New) {
542 cast<FunctionDecl>(New));
548 cast<FunctionDecl>(New));
916 QualType ReturnType = cast<FunctionDecl>(DC)->getReturnType();
1613 FunctionDecl *Instantiated = nullptr;
1615 Instantiated = cast_or_null<FunctionDecl>(VisitCXXMethodDecl(DMethod,
1618 Instantiated = cast_or_null<FunctionDecl>(VisitFunctionDecl(
1744 FunctionDecl *D,
1764 Decl *TemplateDeclInstantiator::VisitFunctionDecl(FunctionDecl *D,
1773 FunctionDecl *SpecFunc
1835 FunctionDecl *Function;
1845 Function = FunctionDecl::Create(
2079 FunctionDecl *SpecFunc
3223 Decl *TemplateDeclInstantiator::VisitFunctionDecl(FunctionDecl *D) {
3813 TemplateDeclInstantiator::SubstFunctionType(FunctionDecl *D,
3914 static bool addInstantiatedParametersToScope(Sema &S, FunctionDecl *Function,
3915 const FunctionDecl *PatternDecl,
3976 FunctionDecl *Decl) {
4005 FunctionDecl *Template = Proto->getExceptionSpecTemplate();
4021 TemplateDeclInstantiator::InitFunctionInstantiation(FunctionDecl *New,
4022 FunctionDecl *Tmpl) {
4068 FunctionDecl *ExceptionSpecTemplate = Tmpl;
4092 const FunctionDecl *Definition = Tmpl;
4128 FunctionDecl *
4132 FunctionDecl *FD = FTD->getTemplatedDecl();
4144 return cast_or_null<FunctionDecl>(SubstDecl(FD, FD->getParent(), MArgs));
4186 FunctionDecl *Function,
4202 const FunctionDecl *PatternDecl = Function->getTemplateInstantiationPattern();
4205 const FunctionDecl *PatternDef = PatternDecl->getDefinition();
4303 for (auto *D = Function->getMostRecentDecl(); /**/;
5121 static bool isInstantiationOf(FunctionDecl *Pattern,
5122 FunctionDecl *Instance) {
5216 if (auto *Function = dyn_cast<FunctionDecl>(Other))
5216 if (auto *Function = dyn_cast<FunctionDecl>(Other))
5217 return isInstantiationOf(cast<FunctionDecl>(D), Function);
5433 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(DC)) {
5433 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(DC)) {
5609 if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Inst.first)) {
5609 if (FunctionDecl *Function = dyn_cast<FunctionDecl>(Inst.first)) {
tools/clang/lib/Sema/SemaTemplateVariadic.cpp 46 auto *FD = dyn_cast<FunctionDecl>(VD->getDeclContext());
46 auto *FD = dyn_cast<FunctionDecl>(VD->getDeclContext());
tools/clang/lib/Sema/SemaType.cpp 7899 } else if (auto *FD = dyn_cast<FunctionDecl>(D)) {
7899 } else if (auto *FD = dyn_cast<FunctionDecl>(D)) {
7900 if (auto *Pattern = FD->getTemplateInstantiationPattern())
tools/clang/lib/Sema/TreeTransform.h 3233 FunctionDecl *Builtin = cast<FunctionDecl>(Lookup.front());
3233 FunctionDecl *Builtin = cast<FunctionDecl>(Lookup.front());
7182 auto *FD = cast<FunctionDecl>(SemaRef.CurContext);
7182 auto *FD = cast<FunctionDecl>(SemaRef.CurContext);
9356 if (FunctionDecl *FD = E->getDirectCallee())
10651 FunctionDecl *OperatorNew = nullptr;
10653 OperatorNew = cast_or_null<FunctionDecl>(
10659 FunctionDecl *OperatorDelete = nullptr;
10661 OperatorDelete = cast_or_null<FunctionDecl>(
10735 FunctionDecl *OperatorDelete = nullptr;
10737 OperatorDelete = cast_or_null<FunctionDecl>(
tools/clang/lib/Serialization/ASTCommon.cpp 428 if (auto *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/Serialization/ASTReader.cpp 4919 cast<FunctionDecl>(GetDecl(CUDASpecialDeclRefs[0])));
6905 ESI.SourceDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
6906 ESI.SourceTemplate = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
6908 ESI.SourceDecl = ReadDeclAs<FunctionDecl>(ModuleFile, Record, Idx);
7648 if (auto *FD = dyn_cast<FunctionDecl>(D)) {
8788 llvm::MapVector<const FunctionDecl *, std::unique_ptr<LateParsedTemplate>>
8792 FunctionDecl *FD = cast<FunctionDecl>(GetDecl(LateParsedTemplates[Idx++]));
8792 FunctionDecl *FD = cast<FunctionDecl>(GetDecl(LateParsedTemplates[Idx++]));
9876 auto *FD = PendingFunctionTypes[I].first;
10010 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(PB->first)) {
10010 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(PB->first)) {
10026 const FunctionDecl *Defn = nullptr;
10030 auto *NonConstDefn = const_cast<FunctionDecl*>(Defn);
11798 FunctionDecl *FirstFunction = Merge.first;
12161 Listener->ResolvedExceptionSpec(cast<FunctionDecl>(Update.second));
12162 for (auto *Redecl : Update.second->redecls())
12163 getContext().adjustExceptionSpec(cast<FunctionDecl>(Redecl), ESI);
tools/clang/lib/Serialization/ASTReaderDecl.cpp 144 T *ReadDeclAs() {
145 return Record.readDeclAs<T>();
249 operator T*() const { return dyn_cast_or_null<T>(Existing); }
249 operator T*() const { return dyn_cast_or_null<T>(Existing); }
312 void ReadFunctionDefinition(FunctionDecl *FD);
368 void VisitFunctionDecl(FunctionDecl *FD);
412 RedeclarableResult VisitRedeclarable(Redeclarable<T> *D);
415 void mergeRedeclarable(Redeclarable<T> *D, RedeclarableResult &Redecl,
419 void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
419 void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
508 void ASTDeclReader::ReadFunctionDefinition(FunctionDecl *FD) {
546 } else if (auto *FD = dyn_cast<FunctionDecl>(D)) {
546 } else if (auto *FD = dyn_cast<FunctionDecl>(D)) {
810 if (isa<FunctionDecl>(VD))
838 void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
888 case FunctionDecl::TK_NonTemplate:
891 case FunctionDecl::TK_FunctionTemplate:
895 case FunctionDecl::TK_MemberSpecialization: {
896 auto *InstFD = ReadDeclAs<FunctionDecl>();
896 auto *InstFD = ReadDeclAs<FunctionDecl>();
904 case FunctionDecl::TK_FunctionTemplateSpecialization: {
937 auto *FD = ReadDeclAs<FunctionDecl>();
937 auto *FD = ReadDeclAs<FunctionDecl>();
977 case FunctionDecl::TK_DependentFunctionTemplateSpecialization: {
1939 if (auto *OperatorDelete = ReadDeclAs<FunctionDecl>()) {
1939 if (auto *OperatorDelete = ReadDeclAs<FunctionDecl>()) {
2394 auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
2394 auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
2400 D->RedeclLink = Redeclarable<T>::PreviousDeclLink(FirstDecl);
2404 auto *DAsT = static_cast<T *>(D);
2430 auto *D = static_cast<T *>(DBase);
2434 mergeRedeclarable(D, cast<T>(Existing), Redecl, TemplatePatternID);
2436 if (T *Existing = ExistingRes)
2479 if (auto *DFunction = dyn_cast<FunctionDecl>(DPattern))
2479 if (auto *DFunction = dyn_cast<FunctionDecl>(DPattern))
2480 return mergeRedeclarable(DFunction, cast<FunctionDecl>(ExistingPattern),
2496 auto *D = static_cast<T *>(DBase);
2497 T *ExistingCanon = Existing->getCanonicalDecl();
2498 T *DCanon = D->getCanonicalDecl();
2506 D->RedeclLink = Redeclarable<T>::PreviousDeclLink(ExistingCanon);
2689 template <typename T> T *GetLocalDeclAs(uint32_t LocalID) {
2690 return cast_or_null<T>(Reader->GetLocalDecl(*F, LocalID));
2780 if (const auto *Func = dyn_cast<FunctionDecl>(D))
2780 if (const auto *Func = dyn_cast<FunctionDecl>(D))
2904 static bool hasSameOverloadableAttrs(const FunctionDecl *A,
2905 const FunctionDecl *B) {
2985 if (const auto *FuncX = dyn_cast<FunctionDecl>(X)) {
2985 if (const auto *FuncX = dyn_cast<FunctionDecl>(X)) {
2986 const auto *FuncY = cast<FunctionDecl>(Y);
2986 const auto *FuncY = cast<FunctionDecl>(Y);
3236 if (auto *FD = dyn_cast<FunctionDecl>(D))
3236 if (auto *FD = dyn_cast<FunctionDecl>(D))
3381 Decl *ASTDeclReader::getMostRecentDeclImpl(Redeclarable<DeclT> *D) {
3446 Redeclarable<FunctionDecl> *D,
3448 auto *FD = static_cast<FunctionDecl *>(D);
3449 auto *PrevFD = cast<FunctionDecl>(Previous);
3449 auto *PrevFD = cast<FunctionDecl>(Previous);
3493 {cast<FunctionDecl>(Canon),
3567 void ASTDeclReader::attachLatestDeclImpl(Redeclarable<DeclT> *D, Decl *Latest) {
3568 D->RedeclLink.setLatest(cast<DeclT>(Latest));
3589 void ASTDeclReader::markIncompleteDeclChainImpl(Redeclarable<DeclT> *D) {
3664 D = FunctionDecl::CreateDeserialized(Context, ID);
4219 static void forAllLaterRedecls(DeclT *D, Fn F) {
4225 auto *MostRecent = D->getMostRecentDecl();
4227 for (auto *Redecl = MostRecent; Redecl && !Found;
4233 for (auto *Redecl = MostRecent; Redecl != D;
4298 auto *FD = cast<FunctionDecl>(D);
4298 auto *FD = cast<FunctionDecl>(D);
4342 auto *FD = cast<FunctionDecl>(D);
4342 auto *FD = cast<FunctionDecl>(D);
4427 auto *Del = ReadDeclAs<FunctionDecl>();
4427 auto *Del = ReadDeclAs<FunctionDecl>();
4444 auto *FD = cast<FunctionDecl>(D);
4444 auto *FD = cast<FunctionDecl>(D);
4462 auto *FD = cast<FunctionDecl>(D);
4462 auto *FD = cast<FunctionDecl>(D);
tools/clang/lib/Serialization/ASTReaderStmt.cpp 95 T *ReadDeclAs() {
96 return Record.readDeclAs<T>();
1634 E->setOperatorNew(ReadDeclAs<FunctionDecl>());
1635 E->setOperatorDelete(ReadDeclAs<FunctionDecl>());
1655 E->OperatorDelete = ReadDeclAs<FunctionDecl>();
tools/clang/lib/Serialization/ASTWriter.cpp 4463 const FunctionDecl *FD = LPTMapEntry.first;
5369 cast<FunctionDecl>(D)->getType()->castAs<FunctionProtoType>(),
5415 const auto *Def = cast<FunctionDecl>(D);
5415 const auto *Def = cast<FunctionDecl>(D);
6406 void ASTWriter::ResolvedExceptionSpec(const FunctionDecl *FD) {
6413 if (isUnresolvedExceptionSpec(cast<FunctionDecl>(D)
6421 void ASTWriter::DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) {
6432 const FunctionDecl *Delete,
6443 void ASTWriter::CompletedImplicitDefinition(const FunctionDecl *D) {
6462 void ASTWriter::FunctionDefinitionInstantiated(const FunctionDecl *D) {
6483 POI = cast<FunctionDecl>(D)->getPointOfInstantiation();
6602 const FunctionDecl *D) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp 89 void VisitFunctionDecl(FunctionDecl *D);
129 template <typename T> void VisitRedeclarable(Redeclarable<T> *D);
279 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
279 if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
531 void ASTDeclWriter::VisitFunctionDecl(FunctionDecl *D) {
564 case FunctionDecl::TK_NonTemplate:
566 case FunctionDecl::TK_FunctionTemplate:
569 case FunctionDecl::TK_MemberSpecialization: {
576 case FunctionDecl::TK_FunctionTemplateSpecialization: {
619 case FunctionDecl::TK_DependentFunctionTemplateSpecialization: {
1722 T *First = D->getFirstDecl();
1723 T *MostRecent = First->getMostRecentDecl();
1724 T *DAsT = static_cast<T *>(D);
2394 void ASTRecordWriter::AddFunctionDefinition(const FunctionDecl *FD) {
tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp 96 if (isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D)) {
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp 430 const FunctionDecl *FD = C.getCalleeDecl(CE);
576 << cast<FunctionDecl>(Call.getDecl())->getName();
tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp 35 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
35 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp 2228 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
2228 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp 56 const FunctionDecl *FD = CE->getDirectCallee();
214 const FunctionDecl *FD = CE->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp 400 if (D && (isa<FunctionDecl>(D) || isa<BlockDecl>(D))) {
413 if (isa<FunctionDecl>(D)) {
441 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
441 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
tools/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp 220 const FunctionDecl *FD = Call.getDecl()->getAsFunction();
412 const FunctionDecl *FD = Call.getDecl()->getAsFunction();
tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp 93 bool checkCall_strCommon(const CallExpr *CE, const FunctionDecl *FD);
99 void checkCall_bcmp(const CallExpr *CE, const FunctionDecl *FD);
100 void checkCall_bcopy(const CallExpr *CE, const FunctionDecl *FD);
101 void checkCall_bzero(const CallExpr *CE, const FunctionDecl *FD);
102 void checkCall_gets(const CallExpr *CE, const FunctionDecl *FD);
103 void checkCall_getpw(const CallExpr *CE, const FunctionDecl *FD);
104 void checkCall_mktemp(const CallExpr *CE, const FunctionDecl *FD);
105 void checkCall_mkstemp(const CallExpr *CE, const FunctionDecl *FD);
106 void checkCall_strcpy(const CallExpr *CE, const FunctionDecl *FD);
107 void checkCall_strcat(const CallExpr *CE, const FunctionDecl *FD);
109 const FunctionDecl *FD);
110 void checkCall_rand(const CallExpr *CE, const FunctionDecl *FD);
111 void checkCall_random(const CallExpr *CE, const FunctionDecl *FD);
112 void checkCall_vfork(const CallExpr *CE, const FunctionDecl *FD);
129 const FunctionDecl *FD = CE->getDirectCallee();
330 void WalkAST::checkCall_bcmp(const CallExpr *CE, const FunctionDecl *FD) {
372 void WalkAST::checkCall_bcopy(const CallExpr *CE, const FunctionDecl *FD) {
415 void WalkAST::checkCall_bzero(const CallExpr *CE, const FunctionDecl *FD) {
457 void WalkAST::checkCall_gets(const CallExpr *CE, const FunctionDecl *FD) {
493 void WalkAST::checkCall_getpw(const CallExpr *CE, const FunctionDecl *FD) {
533 void WalkAST::checkCall_mktemp(const CallExpr *CE, const FunctionDecl *FD) {
574 void WalkAST::checkCall_mkstemp(const CallExpr *CE, const FunctionDecl *FD) {
659 void WalkAST::checkCall_strcpy(const CallExpr *CE, const FunctionDecl *FD) {
698 void WalkAST::checkCall_strcat(const CallExpr *CE, const FunctionDecl *FD) {
736 const FunctionDecl *FD) {
806 bool WalkAST::checkCall_strCommon(const CallExpr *CE, const FunctionDecl *FD) {
837 void WalkAST::checkCall_rand(const CallExpr *CE, const FunctionDecl *FD) {
880 void WalkAST::checkCall_random(const CallExpr *CE, const FunctionDecl *FD) {
908 void WalkAST::checkCall_vfork(const CallExpr *CE, const FunctionDecl *FD) {
935 const FunctionDecl *FD = CE->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp 59 check::ASTDecl<FunctionDecl> > {
324 void checkASTDecl(const FunctionDecl *D,
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp 517 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
517 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp 139 bool checkTaintedBufferSize(const CallExpr *CE, const FunctionDecl *FDecl,
196 const FunctionDecl *FDecl, StringRef Name,
341 const NameRuleMap &CustomPropagations, const FunctionDecl *FDecl,
470 const FunctionDecl *FDecl = C.getCalleeDecl(CE);
538 const FunctionDecl *FDecl = C.getCalleeDecl(CE);
703 const FunctionDecl *FDecl = C.getCalleeDecl(CE);
788 const FunctionDecl *FDecl,
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp 154 const FunctionDecl *FD = FC->getDecl();
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp 276 bool isBeginCall(const FunctionDecl *Func);
277 bool isEndCall(const FunctionDecl *Func);
278 bool isAssignCall(const FunctionDecl *Func);
279 bool isClearCall(const FunctionDecl *Func);
280 bool isPushBackCall(const FunctionDecl *Func);
281 bool isEmplaceBackCall(const FunctionDecl *Func);
282 bool isPopBackCall(const FunctionDecl *Func);
283 bool isPushFrontCall(const FunctionDecl *Func);
284 bool isEmplaceFrontCall(const FunctionDecl *Func);
285 bool isPopFrontCall(const FunctionDecl *Func);
286 bool isInsertCall(const FunctionDecl *Func);
287 bool isEraseCall(const FunctionDecl *Func);
288 bool isEraseAfterCall(const FunctionDecl *Func);
289 bool isEmplaceCall(const FunctionDecl *Func);
371 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
371 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
561 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
561 const auto *Func = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
1701 bool isBeginCall(const FunctionDecl *Func) {
1708 bool isEndCall(const FunctionDecl *Func) {
1715 bool isAssignCall(const FunctionDecl *Func) {
1724 bool isClearCall(const FunctionDecl *Func) {
1733 bool isPushBackCall(const FunctionDecl *Func) {
1742 bool isEmplaceBackCall(const FunctionDecl *Func) {
1751 bool isPopBackCall(const FunctionDecl *Func) {
1760 bool isPushFrontCall(const FunctionDecl *Func) {
1769 bool isEmplaceFrontCall(const FunctionDecl *Func) {
1778 bool isPopFrontCall(const FunctionDecl *Func) {
1787 bool isInsertCall(const FunctionDecl *Func) {
1798 bool isEmplaceCall(const FunctionDecl *Func) {
1809 bool isEraseCall(const FunctionDecl *Func) {
1823 bool isEraseAfterCall(const FunctionDecl *Func) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp 885 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
885 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
1282 if (const FunctionDecl *FD = CE->getDirectCallee()) {
tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp 254 const FunctionDecl *FD = C.getCalleeDecl(CE);
405 const FunctionDecl *FD = C.getCalleeDecl(CE);
636 const FunctionDecl *funDecl = CE->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp 310 bool isMemFunction(const FunctionDecl *FD, ASTContext &C) const;
311 bool isCMemFunction(const FunctionDecl *FD, ASTContext &C,
317 bool isStandardNewDelete(const FunctionDecl *FD, ASTContext &C) const;
858 bool MemFunctionInfoTy::isMemFunction(const FunctionDecl *FD,
875 bool MemFunctionInfoTy::isCMemFunction(const FunctionDecl *FD, ASTContext &C,
945 bool MemFunctionInfoTy::isStandardNewDelete(const FunctionDecl *FD,
1059 const FunctionDecl *FD = C.getCalleeDecl(CE);
1637 const FunctionDecl *FD = C.getCalleeDecl(CE);
1640 FD = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
1683 const FunctionDecl *FD = CE->getDirectCallee();
2689 const FunctionDecl *FD = FC->getDecl();
2813 if (const auto *FD = dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
2813 if (const auto *FD = dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
2991 const FunctionDecl *FD = cast<SimpleFunctionCall>(Call)->getDecl();
tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp 313 const FunctionDecl *FD = TheCall->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp 92 const FunctionDecl *FD = E->getDirectCallee();
222 const FunctionDecl *Callee = i->AllocCall->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp 87 : public Checker< check::ASTDecl<FunctionDecl> > {
93 void checkASTDecl(const FunctionDecl *D,
98 void CFErrorFunctionChecker::checkASTDecl(const FunctionDecl *D,
tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp 44 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CE.getDecl()))
44 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(CE.getDecl()))
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp 417 else if (const auto *FD = dyn_cast<FunctionDecl>(D))
417 else if (const auto *FD = dyn_cast<FunctionDecl>(D))
555 } else if (auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp 85 const FunctionDecl *FD = CE->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp 99 if (const auto *FD = dyn_cast<FunctionDecl>(I)) {
99 if (const auto *FD = dyn_cast<FunctionDecl>(I)) {
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp 49 AllocKind getKindOfNewOp(const CXXNewExpr *NE, const FunctionDecl *FD) const;
91 const FunctionDecl *FD) const {
220 const FunctionDecl *FD = C.getCalleeDecl(CE);
242 const FunctionDecl *FD = NE->getOperatorNew();
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 892 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
892 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
1056 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CD)) {
1056 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CD)) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp 220 const FunctionDecl *FD = X.getAsFunctionDecl();
224 FD = dyn_cast<FunctionDecl>(CE->getCalleeDecl());
787 const FunctionDecl *FD = cast<FunctionDecl>(D);
787 const FunctionDecl *FD = cast<FunctionDecl>(D);
tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp 230 Optional<FunctionSummaryTy> findFunctionSummary(const FunctionDecl *FD,
341 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
341 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
372 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
372 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
432 StdLibraryFunctionsChecker::findFunctionSummary(const FunctionDecl *FD,
tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp 108 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
108 const auto *FD = dyn_cast_or_null<FunctionDecl>(Call.getDecl());
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp 82 if (const FunctionDecl *EnclosingFunctionDecl =
83 dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp 43 if (const FunctionDecl *EnclosingFunctionDecl =
44 dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp 105 const FunctionDecl *FD = C.getCalleeDecl(CE);
461 const FunctionDecl *FD = C.getCalleeDecl(CE);
tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp 90 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
90 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp 83 auto FD = dyn_cast_or_null<FunctionDecl>(D);
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp 601 else if (isa<FunctionDecl>(D))
3048 if (const auto FD = dyn_cast<FunctionDecl>(Signature)) {
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 472 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(RD.getDecl()))
472 if (const auto *FD = dyn_cast_or_null<FunctionDecl>(RD.getDecl()))
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp 162 const auto *FD = dyn_cast_or_null<FunctionDecl>(getDecl());
162 const auto *FD = dyn_cast_or_null<FunctionDecl>(getDecl());
239 if (const auto *FD = dyn_cast<FunctionDecl>(D))
239 if (const auto *FD = dyn_cast<FunctionDecl>(D))
365 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(getDecl());
365 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(getDecl());
464 if (const auto *FD = dyn_cast<FunctionDecl>(D))
464 if (const auto *FD = dyn_cast<FunctionDecl>(D))
494 if (const auto *FD = dyn_cast<FunctionDecl>(D))
494 if (const auto *FD = dyn_cast<FunctionDecl>(D))
539 const FunctionDecl *D = getDecl();
546 const FunctionDecl *FD = getDecl();
576 llvm::Expected<const FunctionDecl *> CTUDeclOrError =
594 const auto *D = cast<FunctionDecl>(CalleeCtx->getDecl());
594 const auto *D = cast<FunctionDecl>(CalleeCtx->getDecl());
604 const FunctionDecl *D = getDecl();
661 const FunctionDecl *SimpleFunctionCall::getDecl() const {
662 const FunctionDecl *D = getOriginExpr()->getDirectCallee();
669 const FunctionDecl *CXXInstanceCall::getDecl() const {
674 const FunctionDecl *D = CE->getDirectCallee();
772 const FunctionDecl *Definition;
1365 const FunctionDecl *DirectCallee = OpCE->getDirectCallee();
tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp 21 const FunctionDecl *CheckerContext::getCalleeDecl(const CallExpr *CE) const {
27 StringRef CheckerContext::getCalleeName(const FunctionDecl *FunDecl) const {
44 bool CheckerContext::isCLibraryFunction(const FunctionDecl *FD,
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 240 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
240 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2481 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
2481 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp 716 if (const FunctionDecl *FD = CNE->getOperatorNew()) {
747 FunctionDecl *FD = CNE->getOperatorNew();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp 834 const FunctionDecl *FD) {
842 static bool isCXXSharedPtrDtor(const FunctionDecl *FD) {
869 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CalleeADC->getDecl())) {
869 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CalleeADC->getDecl())) {
872 if (FD->getTemplatedKind() != FunctionDecl::TK_NonTemplate)
tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp 30 static std::string GetSignature(const FunctionDecl *Target) {
38 if (const FunctionDecl *InstantiatedFrom =
106 DeclName = GetSignature(dyn_cast_or_null<FunctionDecl>(ND));
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp 899 if (isa<FunctionDecl>(STCD) || isa<ObjCMethodDecl>(STCD))
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp 408 if (const auto *FD = dyn_cast<FunctionDecl>(InitLoc->getDecl()))
408 if (const auto *FD = dyn_cast<FunctionDecl>(InitLoc->getDecl()))
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 255 DefinedSVal SValBuilder::getFunctionPointer(const FunctionDecl *func) {
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp 63 const FunctionDecl *SVal::getAsFunctionDecl() const {
67 if (const auto *FD = dyn_cast<FunctionDecl>(CTR->getDecl()))
67 if (const auto *FD = dyn_cast<FunctionDecl>(CTR->getDecl()))
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp 153 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FTR->getDecl()))
153 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(FTR->getDecl()))
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp 419 bool VisitFunctionDecl(FunctionDecl *FD) {
684 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
684 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp 35 const FunctionDecl *func = llvm::dyn_cast<FunctionDecl>(*I);
35 const FunctionDecl *func = llvm::dyn_cast<FunctionDecl>(*I);
tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp 30 Stmt *ModelInjector::getBody(const FunctionDecl *D) {
tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.h 41 Stmt *getBody(const FunctionDecl *D) override;
tools/clang/lib/Tooling/Refactoring/ASTSelection.cpp 416 return isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D);
tools/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp 155 if (const auto *FT = MethodDecl->getInstantiatedFromMemberFunction())
tools/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp 62 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
62 if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp 624 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func_decl");
624 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func_decl");
636 const FunctionDecl *Func = Call->getDirectCallee();
tools/clang/tools/extra/clang-doc/Mapper.cpp 26 template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
69 bool MapASTVisitor::VisitFunctionDecl(const FunctionDecl *D) {
tools/clang/tools/extra/clang-doc/Mapper.h 41 bool VisitFunctionDecl(const FunctionDecl *D);
tools/clang/tools/extra/clang-doc/Serialize.cpp 307 static void parseParameters(FunctionInfo &I, const FunctionDecl *D) {
374 else if (const auto *N = dyn_cast<FunctionDecl>(DC))
374 else if (const auto *N = dyn_cast<FunctionDecl>(DC))
392 static void populateInfo(Info &I, const T *D, const FullComment *C,
404 static void populateSymbolInfo(SymbolInfo &I, const T *D, const FullComment *C,
415 static void populateFunctionInfo(FunctionInfo &I, const FunctionDecl *D,
562 emitInfo(const FunctionDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-doc/Serialize.h 49 emitInfo(const FunctionDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp 78 } else if (llvm::isa<FunctionDecl>(ND)) {
tools/clang/tools/extra/clang-move/HelperDeclRefGraph.cpp 96 else if (const auto *FD = dyn_cast<FunctionDecl>(DC))
96 else if (const auto *FD = dyn_cast<FunctionDecl>(DC))
tools/clang/tools/extra/clang-move/Move.cpp 162 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("function");
162 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("function");
tools/clang/tools/extra/clang-tidy/abseil/DurationAdditionCheck.cpp 42 Result.Nodes.getNodeAs<clang::FunctionDecl>("function_decl")->getName());
tools/clang/tools/extra/clang-tidy/abseil/DurationComparisonCheck.cpp 34 Result.Nodes.getNodeAs<FunctionDecl>("function_decl")->getName());
tools/clang/tools/extra/clang-tidy/abseil/DurationConversionCastCheck.cpp 43 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("func_decl");
43 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("func_decl");
tools/clang/tools/extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp 161 const auto *CallDecl = Result.Nodes.getNodeAs<FunctionDecl>("call_decl");
161 const auto *CallDecl = Result.Nodes.getNodeAs<FunctionDecl>("call_decl");
tools/clang/tools/extra/clang-tidy/abseil/DurationSubtractionCheck.cpp 34 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("function_decl");
34 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("function_decl");
tools/clang/tools/extra/clang-tidy/abseil/TimeComparisonCheck.cpp 35 Result.Nodes.getNodeAs<FunctionDecl>("function_decl")->getName());
tools/clang/tools/extra/clang-tidy/abseil/TimeSubtractionCheck.cpp 132 Result.Nodes.getNodeAs<FunctionDecl>("func_decl")->getNameAsString();
tools/clang/tools/extra/clang-tidy/android/CloexecCheck.cpp 44 MatchFinder *Finder, internal::Matcher<FunctionDecl> Function) {
57 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
57 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
85 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
85 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
tools/clang/tools/extra/clang-tidy/android/CloexecCheck.h 36 ast_matchers::internal::Matcher<FunctionDecl> Function);
tools/clang/tools/extra/clang-tidy/android/CloexecOpenCheck.cpp 35 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
35 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>(FuncDeclBindingStr);
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp 213 static const FunctionDecl *resolveMocks(const FunctionDecl *Func) {
213 static const FunctionDecl *resolveMocks(const FunctionDecl *Func) {
245 const FunctionDecl *OriginalCallee,
248 const FunctionDecl *Callee = resolveMocks(OriginalCallee);
332 const FunctionDecl *Callee = Call->getDirectCallee();
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.h 54 void checkCallArgs(ASTContext *Ctx, const FunctionDecl *Callee,
tools/clang/tools/extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp 56 if (const auto *FuncDecl = CExpr->getDirectCallee()) {
tools/clang/tools/extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp 69 const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("thrower");
69 const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("thrower");
tools/clang/tools/extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 96 const auto *FuncForParam = dyn_cast<FunctionDecl>(ParmVar->getDeclContext());
96 const auto *FuncForParam = dyn_cast<FunctionDecl>(ParmVar->getDeclContext());
tools/clang/tools/extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp 70 static bool hasPtrOrReferenceInFunc(const FunctionDecl *Func,
92 static bool isVarThatIsPossiblyChanged(const FunctionDecl *Func,
119 static bool isAtLeastOneCondVarChanged(const FunctionDecl *Func,
171 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
171 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp 106 const auto *FuncForParam = dyn_cast<FunctionDecl>(ParmVar->getDeclContext());
106 const auto *FuncForParam = dyn_cast<FunctionDecl>(ParmVar->getDeclContext());
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp 107 if (const FunctionDecl *FD = D->getAsFunction())
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp 170 const auto *Decl = Result.Nodes.getNodeAs<FunctionDecl>("decl");
170 const auto *Decl = Result.Nodes.getNodeAs<FunctionDecl>("decl");
tools/clang/tools/extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp 28 FunctionDecl *InstantiatedFrom = Node.getInstantiatedFromMemberFunction();
tools/clang/tools/extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp 408 const auto *ContainingFunc =
409 Result.Nodes.getNodeAs<FunctionDecl>("containing-func");
tools/clang/tools/extra/clang-tidy/cert/CommandProcessorCheck.cpp 36 const auto *Fn = Result.Nodes.getNodeAs<FunctionDecl>("func");
36 const auto *Fn = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp 32 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("decl");
32 const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("decl");
tools/clang/tools/extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp 42 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
42 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/cert/StrToNumCheck.cpp 51 ConversionKind ClassifyConversionFunc(const FunctionDecl *FD) {
182 const FunctionDecl *FuncDecl = nullptr;
185 if (const auto *ConverterFunc =
186 Result.Nodes.getNodeAs<FunctionDecl>("converter")) {
190 } else if (const auto *FFD =
191 Result.Nodes.getNodeAs<FunctionDecl>("formatted")) {
tools/clang/tools/extra/clang-tidy/cert/VariadicFunctionDefCheck.cpp 32 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("func");
32 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp 26 Matcher<FunctionDecl> hasAnyListedName(const std::string &FunctionNames) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp 27 Matcher<FunctionDecl> hasAnyListedName(const std::string &FunctionNames) {
348 const auto *Function = Nodes.getNodeAs<FunctionDecl>("function_decl");
348 const auto *Function = Nodes.getNodeAs<FunctionDecl>("function_decl");
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp 32 const auto *FDecl = dyn_cast<FunctionDecl>(C->getCalleeDecl());
32 const auto *FDecl = dyn_cast<FunctionDecl>(C->getCalleeDecl());
tools/clang/tools/extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp 36 const auto *D = Result.Nodes.getNodeAs<FunctionDecl>("decl");
36 const auto *D = Result.Nodes.getNodeAs<FunctionDecl>("decl");
tools/clang/tools/extra/clang-tidy/google/FunctionNamingCheck.cpp 50 FixItHint generateFixItHint(const FunctionDecl *Decl) {
114 const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("function");
114 const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("function");
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp 49 const auto *Function =
50 dyn_cast_or_null<FunctionDecl>(Parameter->getParentFunctionOrMethod());
tools/clang/tools/extra/clang-tidy/google/OverloadedUnaryAndCheck.cpp 42 const auto *Decl = Result.Nodes.getNodeAs<FunctionDecl>("overload");
42 const auto *Decl = Result.Nodes.getNodeAs<FunctionDecl>("overload");
tools/clang/tools/extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp 102 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
102 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) {
107 if (FD->getTemplatedKind() == FunctionDecl::TK_FunctionTemplate)
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp 64 OverloadedOperatorKind getCorrespondingOverload(const FunctionDecl *FD) {
96 bool areCorrespondingOverloads(const FunctionDecl *LHS,
97 const FunctionDecl *RHS) {
157 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("func");
157 const auto *FD = Result.Nodes.getNodeAs<FunctionDecl>("func");
169 SmallVector<const FunctionDecl *, 4> Diagnose;
174 for (const auto *Overload : RP.second) {
204 for (const auto *FD : Diagnose)
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.h 22 llvm::SmallVector<const clang::FunctionDecl *, 4>>
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp 473 canOverloadedOperatorArgsBeModified(const FunctionDecl *OperatorDecl,
516 const auto *OverloadedFunctionDecl = dyn_cast_or_null<FunctionDecl>(OverloadedOperatorExpr->getCalleeDecl());
516 const auto *OverloadedFunctionDecl = dyn_cast_or_null<FunctionDecl>(OverloadedOperatorExpr->getCalleeDecl());
1011 const auto *OverloadedFunctionDecl = dyn_cast_or_null<FunctionDecl>(Call->getCalleeDecl());
1011 const auto *OverloadedFunctionDecl = dyn_cast_or_null<FunctionDecl>(Call->getCalleeDecl());
tools/clang/tools/extra/clang-tidy/misc/UnusedParametersCheck.cpp 24 bool isOverrideMethod(const FunctionDecl *Function) {
57 const FunctionDecl *Function, unsigned Index) {
79 getFnCalls(const FunctionDecl *Fn) {
84 getOtherRefs(const FunctionDecl *Fn) {
91 if (const auto *Fn = dyn_cast<FunctionDecl>(DeclRef->getDecl())) {
91 if (const auto *Fn = dyn_cast<FunctionDecl>(DeclRef->getDecl())) {
99 if (const auto *Fn =
100 dyn_cast_or_null<FunctionDecl>(Call->getCalleeDecl())) {
117 std::unordered_map<const FunctionDecl *, IndexEntry> Index;
132 const MatchFinder::MatchResult &Result, const FunctionDecl *Function,
160 for (const FunctionDecl *FD : Function->redecls())
171 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("function");
171 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("function");
tools/clang/tools/extra/clang-tidy/misc/UnusedParametersCheck.h 35 const FunctionDecl *Function, unsigned ParamIndex);
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp 48 isa<FunctionDecl>(TargetDecl) || isa<VarDecl>(TargetDecl) ||
87 if (isa<FunctionDecl>(Using->getDeclContext()))
110 if (const auto *FD = dyn_cast<FunctionDecl>(Used)) {
110 if (const auto *FD = dyn_cast<FunctionDecl>(Used)) {
115 } else if (const auto *FD = dyn_cast<FunctionDecl>(Used)) {
115 } else if (const auto *FD = dyn_cast<FunctionDecl>(Used)) {
tools/clang/tools/extra/clang-tidy/modernize/AvoidBindCheck.cpp 151 const auto *F = Result.Nodes.getNodeAs<FunctionDecl>("f");
151 const auto *F = Result.Nodes.getNodeAs<FunctionDecl>("f");
tools/clang/tools/extra/clang-tidy/modernize/AvoidCArraysCheck.cpp 35 const auto *FD = llvm::dyn_cast<clang::FunctionDecl>(DC);
35 const auto *FD = llvm::dyn_cast<clang::FunctionDecl>(DC);
tools/clang/tools/extra/clang-tidy/modernize/PassByValueCheck.cpp 115 for (const FunctionDecl *Redecl : Ctor->redecls())
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp 78 if (const auto *Function = Nodes.getNodeAs<FunctionDecl>(FunctionId)) {
78 if (const auto *Function = Nodes.getNodeAs<FunctionDecl>(FunctionId)) {
102 const MatchFinder::MatchResult &Result, const FunctionDecl *Function) {
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.h 42 const FunctionDecl *Function);
tools/clang/tools/extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp 47 const auto *MatchedFunctionDecl = Result.Nodes.getNodeAs<FunctionDecl>("fn");
47 const auto *MatchedFunctionDecl = Result.Nodes.getNodeAs<FunctionDecl>("fn");
tools/clang/tools/extra/clang-tidy/modernize/UseNoexceptCheck.cpp 66 if (const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("funcDecl")) {
66 if (const auto *FuncDecl = Result.Nodes.getNodeAs<FunctionDecl>("funcDecl")) {
67 DtorOrOperatorDel = Result.Nodes.getNodeAs<FunctionDecl>("del-dtor");
tools/clang/tools/extra/clang-tidy/modernize/UseOverrideCheck.cpp 86 const auto *Method = Result.Nodes.getNodeAs<FunctionDecl>("method");
86 const auto *Method = Result.Nodes.getNodeAs<FunctionDecl>("method");
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp 26 UnqualNameVisitor(const FunctionDecl &F) : F(F) {}
97 const FunctionDecl &F;
114 const FunctionDecl &F, const FunctionTypeLoc &FTL, const ASTContext &Ctx,
166 classifyToken(const FunctionDecl &F, Preprocessor &PP, Token Tok) {
261 const FunctionDecl &F, const ASTContext &Ctx, const SourceManager &SM,
319 const FunctionDecl &F, const FriendDecl *Fr, const ASTContext &Ctx,
393 const auto *F = Result.Nodes.getNodeAs<FunctionDecl>("Func");
393 const auto *F = Result.Nodes.getNodeAs<FunctionDecl>("Func");
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h 42 const FunctionDecl &F, const FunctionTypeLoc &FTL, const ASTContext &Ctx,
45 classifyTokensBeforeFunctionName(const FunctionDecl &F, const ASTContext &Ctx,
48 SourceRange findReturnTypeAndCVSourceRange(const FunctionDecl &F,
53 SourceRange ReturnTypeCVRange, const FunctionDecl &F,
tools/clang/tools/extra/clang-tidy/performance/FasterStringFindCheck.cpp 86 const auto *FindFunc = Result.Nodes.getNodeAs<FunctionDecl>("func");
86 const auto *FindFunc = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp 107 const auto *AlgDecl = AlgCall->getDirectCallee();
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp 34 bool isReferencedOutsideOfCallExpr(const FunctionDecl &Function,
53 bool isExplicitTemplateSpecialization(const FunctionDecl &Function) {
59 if (Method->getTemplatedKind() == FunctionDecl::TK_MemberSpecialization &&
97 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("functionDecl");
97 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("functionDecl");
157 for (const auto *FunctionDecl = Function; FunctionDecl != nullptr;
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryValueParamCheck.h 39 llvm::DenseMap<const FunctionDecl *, FunctionParmMutationAnalyzer>
tools/clang/tools/extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp 113 const FunctionDecl *Callee = Call->getDirectCallee();
tools/clang/tools/extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp 78 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
78 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/readability/ConstReturnTypeCheck.cpp 28 findConstToRemove(const FunctionDecl *Def,
70 static CheckResult checkDef(const clang::FunctionDecl *Def,
84 for (const FunctionDecl *Decl = Def->getPreviousDecl(); Decl != nullptr;
105 const auto *Def = Result.Nodes.getNodeAs<FunctionDecl>("func");
105 const auto *Def = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp 223 const auto *Empty = Result.Nodes.getNodeAs<FunctionDecl>("empty");
223 const auto *Empty = Result.Nodes.getNodeAs<FunctionDecl>("empty");
tools/clang/tools/extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp 36 return Node.getTemplatedKind() != FunctionDecl::TK_NonTemplate;
tools/clang/tools/extra/clang-tidy/readability/FunctionSizeCheck.cpp 156 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
156 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp 624 if (const auto *Decl = dyn_cast<FunctionDecl>(D)) {
624 if (const auto *Decl = dyn_cast<FunctionDecl>(D)) {
824 if (const auto *Value = Result.Nodes.getNodeAs<FunctionDecl>("decl")) {
824 if (const auto *Value = Result.Nodes.getNodeAs<FunctionDecl>("decl")) {
tools/clang/tools/extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp 64 const FunctionDecl *ParameterSourceDeclaration,
65 const ParmVarDecl *SourceParam, const FunctionDecl *OriginalDeclaration) {
85 FunctionDecl::TK_FunctionTemplateSpecialization)
146 for (const FunctionDecl *OtherDeclaration : OriginalDeclaration->redecls()) {
171 const FunctionDecl *
172 getParameterSourceDeclaration(const FunctionDecl *OriginalDeclaration) {
186 for (const FunctionDecl *OtherDeclaration : OriginalDeclaration->redecls()) {
243 const FunctionDecl *ParameterSourceDeclaration,
244 const FunctionDecl *OriginalDeclaration,
269 const FunctionDecl *ParameterSourceDeclaration,
270 const FunctionDecl *OriginalDeclaration,
307 const auto *OriginalDeclaration =
308 Result.Nodes.getNodeAs<FunctionDecl>("functionDecl");
313 const FunctionDecl *ParameterSourceDeclaration =
333 FunctionDecl::TK_FunctionTemplateSpecialization) {
351 const FunctionDecl *OriginalDeclaration) {
352 for (const FunctionDecl *Redecl : OriginalDeclaration->redecls()) {
tools/clang/tools/extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h 38 void markRedeclarationsAsVisited(const FunctionDecl *FunctionDeclaration);
40 llvm::DenseSet<const FunctionDecl *> VisitedDeclarations;
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp 26 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("decl");
26 const auto *Function = Result.Nodes.getNodeAs<FunctionDecl>("decl");
27 SmallVector<std::pair<const FunctionDecl *, unsigned>, 4> UnnamedParams;
35 const FunctionDecl *Definition = nullptr;
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp 70 if (const FunctionDecl *FD = CE->getDirectCallee()) {
142 dyn_cast_or_null<const FunctionDecl>(Par->getParentFunctionOrMethod());
146 for (FunctionDecl *FnDecl : Function->redecls())
tools/clang/tools/extra/clang-tidy/utils/ASTUtils.cpp 20 const FunctionDecl *getSurroundingFunction(ASTContext &Context,
22 return selectFirst<const FunctionDecl>(
tools/clang/tools/extra/clang-tidy/utils/ASTUtils.h 18 const FunctionDecl *getSurroundingFunction(ASTContext &Context,
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp 113 const FunctionDecl *Func,
114 llvm::SmallSet<const FunctionDecl *, 32> &CallStack) {
138 llvm::SmallSet<const FunctionDecl *, 32> &CallStack) {
194 if (const FunctionDecl *Func = Call->getDirectCallee()) {
208 ExceptionAnalyzer::analyzeImpl(const FunctionDecl *Func) {
213 llvm::SmallSet<const FunctionDecl *, 32> CallStack;
229 llvm::SmallSet<const FunctionDecl *, 32> CallStack;
235 ExceptionAnalyzer::analyzeDispatch(const T *Node) {
250 ExceptionAnalyzer::analyze(const FunctionDecl *Func) {
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.h 131 ExceptionInfo analyze(const FunctionDecl *Func);
136 throwsException(const FunctionDecl *Func,
137 llvm::SmallSet<const FunctionDecl *, 32> &CallStack);
140 llvm::SmallSet<const FunctionDecl *, 32> &CallStack);
142 ExceptionInfo analyzeImpl(const FunctionDecl *Func);
149 std::map<const FunctionDecl *, ExceptionInfo> FunctionCache;
tools/clang/tools/extra/clang-tidy/utils/NamespaceAliaser.cpp 33 const FunctionDecl *Function = getSurroundingFunction(Context, Statement);
84 const auto *Function = getSurroundingFunction(Context, Statement);
tools/clang/tools/extra/clang-tidy/utils/NamespaceAliaser.h 43 llvm::DenseMap<const FunctionDecl *, llvm::StringMap<std::string>>
tools/clang/tools/extra/clang-tidy/utils/UsingInserter.cpp 35 const FunctionDecl *Function = getSurroundingFunction(Context, Statement);
80 const FunctionDecl *Function = getSurroundingFunction(Context, Statement);
tools/clang/tools/extra/clang-tidy/utils/UsingInserter.h 41 typedef std::pair<const FunctionDecl *, std::string> NameInFunction;
tools/clang/tools/extra/clangd/AST.cpp 34 if (auto *Func = llvm::dyn_cast<FunctionDecl>(&ND)) {
56 if (const auto *TD = dyn_cast<T>(D))
56 if (const auto *TD = dyn_cast<T>(D))
63 return isTemplateSpecializationKind<FunctionDecl>(D, Kind) ||
tools/clang/tools/extra/clangd/CodeComplete.cpp 835 if (auto *Func = Candidate.getFunction()) {
836 if (auto *Pattern = Func->getTemplateInstantiationPattern())
tools/clang/tools/extra/clangd/FindSymbols.cpp 224 if (auto Func = llvm::dyn_cast<FunctionDecl>(D)) {
tools/clang/tools/extra/clangd/FindTarget.cpp 94 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
94 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/tools/extra/clangd/HeaderSourceSwitch.cpp 135 if (!llvm::isa<FunctionDecl>(ND)) {
tools/clang/tools/extra/clangd/Quality.cpp 63 if (const auto *FD = dyn_cast<FunctionDecl>(&ND)) {
63 if (const auto *FD = dyn_cast<FunctionDecl>(&ND)) {
tools/clang/tools/extra/clangd/Selection.cpp 372 if (auto *FD = llvm::dyn_cast<FunctionDecl>(D))
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp 81 if (isa<FunctionDecl>(D))
tools/clang/tools/extra/clangd/XRefs.cpp 67 if (const auto *FD = dyn_cast<FunctionDecl>(D))
67 if (const auto *FD = dyn_cast<FunctionDecl>(D))
473 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
473 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
488 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
488 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(DC))
570 static const FunctionDecl *getUnderlyingFunction(const Decl *D) {
636 } else if (const FunctionDecl *FD = D->getAsFunction()) {
645 if (const FunctionDecl *FD = getUnderlyingFunction(D)) {
798 bool VisitFunctionDecl(FunctionDecl *D) {
1307 const FunctionDecl *FD) {
tools/clang/tools/extra/clangd/XRefs.h 163 const FunctionDecl *FD);
tools/clang/tools/extra/clangd/refactor/Rename.cpp 77 if (const auto *FD = llvm::dyn_cast<FunctionDecl>(&RenameDecl)) {
77 if (const auto *FD = llvm::dyn_cast<FunctionDecl>(&RenameDecl)) {
tools/clang/tools/extra/clangd/refactor/tweaks/DefineInline.cpp 71 llvm::Optional<SourceLocation> getSemicolonForDecl(const FunctionDecl *FD) {
85 const FunctionDecl *getSelectedFunction(const SelectionTree::Node *SelNode) {
87 if (const FunctionDecl *FD = AstNode.get<FunctionDecl>())
87 if (const FunctionDecl *FD = AstNode.get<FunctionDecl>())
92 return P->ASTNode.get<FunctionDecl>();
101 const FunctionDecl *Target, const SourceManager &SM) {
139 llvm::Expected<std::string> qualifyAllDecls(const FunctionDecl *FD) {
235 const FunctionDecl *findTarget(const FunctionDecl *FD) {
235 const FunctionDecl *findTarget(const FunctionDecl *FD) {
252 const SourceLocation getBeginLoc(const FunctionDecl *FD) {
385 const FunctionDecl *Source = nullptr;
386 const FunctionDecl *Target = nullptr;
tools/clang/tools/extra/clangd/refactor/tweaks/ExtractFunction.cpp 152 const FunctionDecl *EnclosingFunction = nullptr;
179 const FunctionDecl *findEnclosingFunction(const Node *CommonAnc) {
185 if (const FunctionDecl *Func = CurNode->ASTNode.get<FunctionDecl>()) {
185 if (const FunctionDecl *Func = CurNode->ASTNode.get<FunctionDecl>()) {
222 computeEnclosingFuncRange(const FunctionDecl *EnclosingFunction,
230 bool validSingleChild(const Node *Child, const FunctionDecl *EnclosingFunc) {
548 if (!VD || isa<FunctionDecl>(DeclInfo.TheDecl))
tools/clang/tools/extra/clangd/unittests/FindTargetTests.cpp 533 auto &Func = llvm::cast<FunctionDecl>(*TestDecl);
tools/clang/tools/extra/clangd/unittests/ParsedASTTests.cpp 52 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(arg)) {
52 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(arg)) {
tools/clang/tools/extra/clangd/unittests/QualityTests.cpp 459 if (const auto *OD = dyn_cast<FunctionDecl>(&ND))
459 if (const auto *OD = dyn_cast<FunctionDecl>(&ND))
tools/clang/tools/extra/clangd/unittests/SourceCodeTests.cpp 588 const auto &Func = cast<FunctionDecl>(findDecl(AST, "test"));
588 const auto &Func = cast<FunctionDecl>(findDecl(AST, "test"));
tools/clang/tools/extra/clangd/unittests/XRefsTests.cpp 2275 const FunctionDecl *FD =
2276 llvm::dyn_cast<FunctionDecl>(&findDecl(AST, [SL](const NamedDecl &ND) {
2277 return ND.getLocation() == SL && llvm::isa<FunctionDecl>(ND);
tools/clang/tools/extra/modularize/Modularize.cpp 623 isa<FunctionDecl>(ND) || isa<FunctionTemplateDecl>(ND) ||
tools/clang/tools/extra/unittests/clang-doc/SerializeTest.cpp 38 template <typename T> bool mapDecl(const T *D) {
50 bool VisitFunctionDecl(const FunctionDecl *D) {
tools/clang/tools/libclang/CIndex.cpp 790 static bool HasTrailingReturnType(FunctionDecl *ND) {
806 bool CursorVisitor::VisitFunctionDecl(FunctionDecl *ND) {
933 auto* FD = D->getTemplatedDecl();
3694 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
3694 const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D);
4716 if (const FunctionDecl *FD =
4717 dyn_cast_or_null<FunctionDecl>(getCursorDecl(C))) {
4749 if (!D || !(isa<FunctionDecl>(D) || isa<VarDecl>(D)))
4986 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
4986 if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
6337 const FunctionDecl *Def = nullptr;
6338 if (cast<FunctionDecl>(D)->getBody(Def))
6354 const FunctionDecl *Def = nullptr;
6541 const FunctionDecl *FD = dyn_cast<FunctionDecl>(getCursorDecl(C));
6541 const FunctionDecl *FD = dyn_cast<FunctionDecl>(getCursorDecl(C));
7784 if (isa<FunctionDecl>(D) && cast<FunctionDecl>(D)->isDeleted())
7784 if (isa<FunctionDecl>(D) && cast<FunctionDecl>(D)->isDeleted())
8005 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
8005 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
8021 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
8021 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
8189 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
8189 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/tools/libclang/CIndexCXX.cpp 107 } else if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
107 } else if (const FunctionDecl *Function = dyn_cast<FunctionDecl>(D)) {
tools/clang/tools/libclang/CXCursor.cpp 1178 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
1178 if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
1202 } else if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
1202 } else if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) {
1235 const FunctionDecl *FD = llvm::dyn_cast_or_null<clang::FunctionDecl>(
1235 const FunctionDecl *FD = llvm::dyn_cast_or_null<clang::FunctionDecl>(
1273 const FunctionDecl *FD = llvm::dyn_cast_or_null<clang::FunctionDecl>(
1273 const FunctionDecl *FD = llvm::dyn_cast_or_null<clang::FunctionDecl>(
tools/clang/tools/libclang/CXIndexDataConsumer.cpp 34 bool VisitFunctionDecl(const FunctionDecl *D) {
608 bool CXIndexDataConsumer::handleFunction(const FunctionDecl *D) {
1042 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1042 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1235 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
1235 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
tools/clang/tools/libclang/CXIndexDataConsumer.h 379 bool handleFunction(const FunctionDecl *FD);
tools/clang/tools/libclang/CXType.cpp 1109 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
1109 else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
tools/clang/tools/libclang/CursorVisitor.h 213 bool VisitFunctionDecl(FunctionDecl *ND);
tools/clang/unittests/AST/ASTImporterFixtures.h 174 template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
174 template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
175 return cast_or_null<DeclT>(Import(cast<Decl>(From), Lang));
tools/clang/unittests/AST/ASTImporterGenericRedeclTest.cpp 21 using DeclTy = FunctionDecl;
69 using DeclTy = FunctionDecl;
135 if (auto *PrevF = dyn_cast<FunctionDecl>(Prev)) {
135 if (auto *PrevF = dyn_cast<FunctionDecl>(Prev)) {
137 FunctionDecl::TK_FunctionTemplateSpecialization) {
147 auto *FirstSpecD = *(TemplateD->spec_begin());
160 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
167 auto *ToD = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
177 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
184 auto *ToD = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
193 auto *From0 = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
194 auto *From1 = LastDeclMatcher<DeclTy>().match(FromTU, getPattern());
203 auto *To0 = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
204 auto *To1 = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
215 auto *FromProto = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
216 auto *FromDef = LastDeclMatcher<DeclTy>().match(FromTU, getPattern());
225 auto *ToProto = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
226 auto *ToDef = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
237 auto *FromDef = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
238 auto *FromProto = LastDeclMatcher<DeclTy>().match(FromTU, getPattern());
247 auto *ToDef = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
248 auto *ToProto = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
260 auto *From0 = FirstDeclMatcher<DeclTy>().match(FromTU0, getPattern());
261 auto *From1 = FirstDeclMatcher<DeclTy>().match(FromTU1, getPattern());
270 auto *To0 = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
271 auto *To1 = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
283 auto *From0 = FirstDeclMatcher<DeclTy>().match(FromTU0, getPattern());
284 auto *From1 = FirstDeclMatcher<DeclTy>().match(FromTU1, getPattern());
294 auto *To0 = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
305 auto *FromDef = FirstDeclMatcher<DeclTy>().match(FromTUDef, getPattern());
306 auto *FromProto =
317 auto *ToDef = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
318 auto *ToProto = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
330 auto *FromProto =
332 auto *FromDef = FirstDeclMatcher<DeclTy>().match(FromTUDef, getPattern());
342 auto *ToProto = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
343 auto *ToDef = LastDeclMatcher<DeclTy>().match(ToTU, getPattern());
354 auto *FromD = // Definition
369 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
375 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
tools/clang/unittests/AST/ASTImporterODRStrategiesTest.cpp 32 using DeclTy = FunctionDecl;
177 using DeclTy = FunctionDecl;
253 auto *ToD = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
256 auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
274 if (auto *ImportedF = dyn_cast<FunctionDecl>(ImportedD))
274 if (auto *ImportedF = dyn_cast<FunctionDecl>(ImportedD))
276 FunctionDecl::TK_FunctionTemplateSpecialization)
tools/clang/unittests/AST/ASTImporterTest.cpp 257 auto *D0 = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
267 auto *D0 = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
268 auto *D2 = LastDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
269 FunctionDecl *D1 = D2->getPreviousDecl();
281 auto *D0 = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
282 auto *D2 = LastDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
283 FunctionDecl *D1 = D2->getPreviousDecl();
364 FunctionDecl *D0, *D1, *D2;
975 auto *From = FirstDeclMatcher<FunctionDecl>().match(
978 auto *To = Import(From, Lang_C);
987 auto *From = FirstDeclMatcher<FunctionDecl>().match(
990 auto *To = Import(From, Lang_C);
1004 auto *From = FirstDeclMatcher<FunctionDecl>().match(
1007 auto *To = Import(From, Lang_C);
1161 FunctionDecl *To = Import(From, Lang_CXX);
1222 cast<FunctionDecl>(Import(FromFT->getTemplatedDecl(), Lang_CXX));
1323 if (auto *FD = dyn_cast<FunctionDecl>(Child)) {
1323 if (auto *FD = dyn_cast<FunctionDecl>(Child)) {
1647 FunctionDecl *FromD = FirstDeclMatcher<FunctionDecl>().match(
1933 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
1951 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
1980 auto *FromFunD = FirstDeclMatcher<FunctionDecl>().match(
2011 auto *From =
2018 auto *To0 = FirstDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2019 auto *To1 = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2029 auto *From =
2036 auto *To0 = FirstDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2037 auto *To1 = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2095 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, functionDecl());
2250 auto *Foo = FirstDeclMatcher<FunctionDecl>().match(FromTU1, FooDef);
2315 auto *FromF0 = FirstDeclMatcher<FunctionDecl>().match(FromTu, Pattern);
2316 auto *FromF1 = LastDeclMatcher<FunctionDecl>().match(FromTu, Pattern);
2318 auto *ToF0 = Import(FromF0, Lang_CXX);
2319 auto *ToF1 = Import(FromF1, Lang_CXX);
2331 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2340 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2358 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2360 auto *ToD = Import(FromD, Lang_CXX);
2384 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2386 auto *ToD = Import(FromD, Lang_CXX);
2410 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2412 auto *ToD = Import(FromD, Lang_CXX);
2473 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
2475 auto *ImportedD = Import(FromD, Lang_CXX);
2513 auto *FromD = LastDeclMatcher<FunctionDecl>().match(
2515 auto *ImportedD = Import(FromD, Lang_CXX);
2528 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2530 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2530 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2534 auto *ToFD = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2548 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2548 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2552 auto *ToFD = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2564 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2566 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2566 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2570 auto *ToFD = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2582 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2584 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2584 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2588 auto *ToFD = LastDeclMatcher<FunctionDecl>().match(ToTU, Pattern);
2605 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2607 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2607 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2611 auto *InClassFD = cast<FunctionDecl>(FirstDeclMatcher<FriendDecl>()
2611 auto *InClassFD = cast<FunctionDecl>(FirstDeclMatcher<FriendDecl>()
2634 auto *FromD = LastDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2636 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2636 auto *ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2640 auto *OutOfClassFD = FirstDeclMatcher<FunctionDecl>().match(
2653 FunctionDecl *ImportedD;
2657 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2658 ImportedD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2660 FunctionDecl *ImportedD1;
2663 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, Pattern);
2664 ImportedD1 = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2680 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU, FunctionPattern);
2692 auto *ToD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2692 auto *ToD = cast<FunctionDecl>(Import(FromD, Lang_CXX));
2703 auto *To0 = FirstDeclMatcher<FunctionDecl>().match(ToTU, FunctionPattern);
2721 auto *FromFriend =
2723 auto *FromNormal =
2738 auto *ToFriend = cast<FunctionDecl>(Import(FromFriend, Lang_CXX));
2738 auto *ToFriend = cast<FunctionDecl>(Import(FromFriend, Lang_CXX));
2751 auto *ToNormal = LastDeclMatcher<FunctionDecl>().match(ToTU, FunctionPattern);
2766 auto *FromNormal =
2768 auto *FromFriend =
2783 auto *ToNormal = cast<FunctionDecl>(Import(FromNormal, Lang_CXX));
2783 auto *ToNormal = cast<FunctionDecl>(Import(FromNormal, Lang_CXX));
2795 auto *ToFriend = LastDeclMatcher<FunctionDecl>().match(ToTU, FunctionPattern);
2807 auto *FromNormalF =
2811 auto *FromFriendF =
2825 auto *ToNormalF = cast<FunctionDecl>(Import(FromNormalF, Lang_CXX));
2825 auto *ToNormalF = cast<FunctionDecl>(Import(FromNormalF, Lang_CXX));
2834 auto *ToFriendF = cast<FunctionDecl>(Import(FromFriendF, Lang_CXX));
2834 auto *ToFriendF = cast<FunctionDecl>(Import(FromFriendF, Lang_CXX));
2851 auto *FromFriendF = FirstDeclMatcher<FunctionDecl>().match(
3189 auto *FromM = FirstDeclMatcher<FunctionDecl>().match(
3197 auto *FromM = FirstDeclMatcher<FunctionDecl>().match(
3210 auto *FromM = FirstDeclMatcher<FunctionDecl>().match(
3219 auto *FromM = FirstDeclMatcher<FunctionDecl>().match(
3267 auto *FromF = FirstDeclMatcher<FunctionDecl>().match(
3269 auto *ToF = cast_or_null<FunctionDecl>(Import(FromF, Lang_CXX11));
3269 auto *ToF = cast_or_null<FunctionDecl>(Import(FromF, Lang_CXX11));
3368 auto *FromFun =
3370 auto *ToFun =
3971 auto *ToFoo = FirstDeclMatcher<FunctionDecl>().match(
3975 auto *FromFoo = FirstDeclMatcher<FunctionDecl>().match(
3977 auto *ImportedFoo = Import(FromFoo, Lang_CXX);
4063 auto *Foo = FirstDeclMatcher<FunctionDecl>().match(
4137 auto *FirstSpecD = *(TemplateD->spec_begin());
4151 auto *FirstSpecD = *(TemplateD->spec_begin());
4172 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(
4207 FunctionDecl *FromD = FirstDeclMatcher<FunctionDecl>().match(
4263 auto *FromD = FirstDeclMatcher<FunctionDecl>().match(FromTU,
4267 auto *ToD = Import(FromD, Lang_CXX);
4303 auto *Foo = FirstDeclMatcher<FunctionDecl>().match(
4409 auto *F0 = FirstDeclMatcher<FunctionDecl>().match(ToTU, functionDecl());
4410 auto *F2 = LastDeclMatcher<FunctionDecl>().match(ToTU, functionDecl());
4429 auto *FPlus = FirstDeclMatcher<FunctionDecl>().match(
4431 auto *FMinus = FirstDeclMatcher<FunctionDecl>().match(
4453 auto *ToPlus = FirstDeclMatcher<FunctionDecl>().match(
4462 auto *FromPlus = FirstDeclMatcher<FunctionDecl>().match(
4625 auto *F =
4916 auto *FromFoo = FirstDeclMatcher<FunctionDecl>().match(
4919 FunctionDecl *ImportedFoo = Import(FromFoo, Lang_CXX);
4944 auto *FromProto = FirstDeclMatcher<FunctionDecl>().match(
4946 auto *FromDef =
4948 FunctionDecl *ImportedProto = Import(FromProto, Lang_CXX);
4957 auto *ToProto =
5119 auto *FromF = FirstDeclMatcher<FunctionDecl>().match(
5125 FunctionDecl *ImportedF = Import(FromF, Lang_CXX);
5129 auto *FromOK = FirstDeclMatcher<FunctionDecl>().match(
5134 FunctionDecl *ImportedOK = Import(FromOK, Lang_CXX);
5237 auto *FromFooA = FirstDeclMatcher<FunctionDecl>().match(FromTU, MatchFooA);
5238 auto *FromFooB = FirstDeclMatcher<FunctionDecl>().match(FromTU, MatchFooB);
5239 auto *FromFooC = FirstDeclMatcher<FunctionDecl>().match(FromTU, MatchFooC);
5304 FunctionDecl *FromF = FirstDeclMatcher<FunctionDecl>().match(
5306 FunctionDecl *ToF = Import(FromF, Lang_CXX11);
5570 FunctionDecl *ToF = Import(FromF, Lang_CXX2a);
5594 FunctionDecl *ToF = Import(FromF, Lang_CXX2a);
tools/clang/unittests/AST/ASTImporterVisibilityTest.cpp 27 using DeclTy = FunctionDecl;
104 auto *FromD0 = FirstDeclMatcher<DeclTy>().match(FromTu, Pattern);
105 auto *FromD1 = LastDeclMatcher<DeclTy>().match(FromTu, Pattern);
107 auto *ToD0 = Import(FromD0, Lang_CXX14);
108 auto *ToD1 = Import(FromD1, Lang_CXX14);
195 auto *ToD0 = FirstDeclMatcher<DeclTy>().match(ToTu, getPattern());
196 auto *FromD1 = FirstDeclMatcher<DeclTy>().match(FromTu, getPattern());
198 auto *ToD1 = Import(FromD1, Lang_CXX14);
215 auto *FromD0 = FirstDeclMatcher<DeclTy>().match(FromTu0, getPattern());
216 auto *FromD1 = FirstDeclMatcher<DeclTy>().match(FromTu1, getPattern());
217 auto *ToD0 = Import(FromD0, Lang_CXX14);
218 auto *ToD1 = Import(FromD1, Lang_CXX14);
tools/clang/unittests/AST/ASTTraverserTest.cpp 88 const FunctionDecl *getFunctionNode(clang::ASTUnit *AST,
93 return Result[0].getNodeAs<FunctionDecl>("fn");
146 const FunctionDecl *Func = getFunctionNode(AST.get(), "func");
175 const FunctionDecl *CTorFunc = getFunctionNode(AST.get(), "A");
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp 25 return ASTNodeKind::getFromNodeKind<T>();
tools/clang/unittests/AST/DeclMatcher.h 22 NodeType *Node = nullptr;
26 Node = const_cast<NodeType *>(Result.Nodes.getNodeAs<NodeType>(""));
32 NodeType *match(const Decl *D, const MatcherType &AMatcher) {
47 using UnaryPredicate = std::function<bool(const NodeType *)>;
51 if (auto N = Result.Nodes.getNodeAs<NodeType>("")) {
tools/clang/unittests/AST/MatchVerifier.h 62 const NodeType &Node) {}
150 const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
150 const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
216 class RangeVerifier : public MatchVerifier<NodeType> {
228 const NodeType &Node) override {
250 virtual SourceRange getRange(const NodeType &Node) {
tools/clang/unittests/AST/RecursiveASTVisitorTest.cpp 62 bool TraverseFunctionDecl(FunctionDecl *D) {
64 bool Ret = RecursiveASTVisitor::TraverseFunctionDecl(D);
tools/clang/unittests/AST/SourceLocationTest.cpp 635 RangeVerifier<FunctionDecl> Verifier;
643 RangeVerifier<FunctionDecl> Verifier;
652 RangeVerifier<FunctionDecl> Verifier;
662 RangeVerifier<FunctionDecl> Verifier;
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp 25 std::tuple<NodeType *, NodeType *> makeDecls(
25 std::tuple<NodeType *, NodeType *> makeDecls(
37 NodeType *D0 = FirstDeclMatcher<NodeType>().match(
39 NodeType *D1 = FirstDeclMatcher<NodeType>().match(
63 std::tuple<NodeType *, NodeType *> makeDecls(
63 std::tuple<NodeType *, NodeType *> makeDecls(
66 return makeDecls<NodeType, MatcherType>(
234 auto t = makeDecls<FunctionDecl>(
243 auto t = makeDecls<FunctionDecl>(
252 auto t = makeDecls<FunctionDecl>(
494 auto t = makeDecls<FunctionDecl>(
532 auto t = makeDecls<FunctionDecl>(
541 auto t = makeDecls<FunctionDecl>(
550 auto t = makeDecls<FunctionDecl>(
1280 std::pair<NodeType *, NodeType *>
1280 std::pair<NodeType *, NodeType *>
1283 NodeType *D0 = FirstDeclMatcher<NodeType>().match(get<0>(TU), M);
1284 NodeType *D1 = FirstDeclMatcher<NodeType>().match(get<1>(TU), M);
1289 bool isInNonEqCache(std::pair<NodeType *, NodeType *> D) {
1289 bool isInNonEqCache(std::pair<NodeType *, NodeType *> D) {
1312 auto X = findDeclPair<FunctionDecl>(TU, functionDecl(hasName("x")));
tools/clang/unittests/ASTMatchers/ASTMatchersTest.h 421 if (Nodes->getNodeAs<T>(Id)) {
tools/clang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp 152 .getTypedMatcher<FunctionDecl>());
181 .getTypedMatcher<FunctionDecl>());
tools/clang/unittests/Analysis/CFGBuildResult.h 41 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
41 const auto *Func = Result.Nodes.getNodeAs<FunctionDecl>("func");
tools/clang/unittests/Analysis/CloneDetectionTest.cpp 26 bool VisitFunctionDecl(FunctionDecl *D) {
43 if (const auto *D =
44 dyn_cast<const FunctionDecl>(Arg.getContainingDecl())) {
80 const auto ND = dyn_cast<const FunctionDecl>(Clone.getContainingDecl());
99 const auto ND = dyn_cast<const FunctionDecl>(Clone.getContainingDecl());
tools/clang/unittests/CodeGen/CodeGenExternalTest.cpp 66 void HandleInlineFunctionDefinition(FunctionDecl *D) override;
71 void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) override;
96 void MyASTConsumer::HandleInlineFunctionDefinition(FunctionDecl *D) {
118 void MyASTConsumer::HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) {
175 if (FunctionDecl *fd = dyn_cast<FunctionDecl>(decl)) {
175 if (FunctionDecl *fd = dyn_cast<FunctionDecl>(decl)) {
tools/clang/unittests/CrossTU/CrossTranslationUnitTest.cpp 32 const FunctionDecl *FD = nullptr;
34 FD = dyn_cast<FunctionDecl>(D);
42 const FunctionDecl *FD = FindFInTU(TU);
79 llvm::Expected<const FunctionDecl *> NewFDorError = handleExpected(
84 const FunctionDecl *NewFD = *NewFDorError;
99 const FunctionDecl *FDWithDefinition = FindFInTU(OrigTU);
tools/clang/unittests/Sema/ExternalSemaSourceTest.cpp 164 auto *NewFunction = FunctionDecl::Create(
164 auto *NewFunction = FunctionDecl::Create(
tools/clang/unittests/Tooling/ASTSelectionTest.cpp 118 typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
118 typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
120 checkNodeImpl(isa<T>(DeclNode.Node.get<Decl>()), DeclNode, SelectionKind,
162 checkNode<FunctionDecl>(Node->Children[0],
187 checkNode<FunctionDecl>(
203 const auto &Fn = checkNode<FunctionDecl>(
227 const auto &Fn = checkNode<FunctionDecl>(
243 const auto &Fn = checkNode<FunctionDecl>(
259 const auto &Fn = checkNode<FunctionDecl>(
283 checkNode<FunctionDecl>(Node->Children[0],
286 checkNode<FunctionDecl>(Node->Children[1],
313 const auto &Fn = checkNode<FunctionDecl>(
334 const auto &Fn = checkNode<FunctionDecl>(
356 const auto &Fn = checkNode<FunctionDecl>(
407 const auto &Fn = checkNode<FunctionDecl>(
423 const auto &Fn = checkNode<FunctionDecl>(
439 const auto &Selected = checkNode<FunctionDecl>(
447 const auto &CatF = checkNode<FunctionDecl>(
459 checkNode<FunctionDecl>(
489 checkNode<FunctionDecl>(Impl.Children[0],
543 const auto &Fn = checkNode<FunctionDecl>(
tools/clang/unittests/Tooling/ExecutionTest.cpp 47 bool TraverseFunctionDecl(clang::FunctionDecl *Decl) {
52 return ASTVisitor::TraverseFunctionDecl(Decl);
tools/lldb/include/lldb/Symbol/ClangASTContext.h 286 clang::FunctionDecl *func_decl, const char *name,
290 clang::FunctionDecl *func_decl, clang::FunctionTemplateDecl *Template,
354 clang::FunctionDecl *
397 void SetFunctionParameters(clang::FunctionDecl *function_decl,
497 static clang::FunctionDecl *
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp 89 } else if (FunctionDecl *function_decl = dyn_cast<FunctionDecl>(D)) {
89 } else if (FunctionDecl *function_decl = dyn_cast<FunctionDecl>(D)) {
114 bool ASTResultSynthesizer::SynthesizeFunctionResult(FunctionDecl *FunDecl) {
120 FunctionDecl *function_decl = FunDecl;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h 117 bool SynthesizeFunctionResult(clang::FunctionDecl *FunDecl);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp 50 void ASTStructExtractor::ExtractFromFunctionDecl(FunctionDecl *F) {
123 FunctionDecl *function_decl = dyn_cast<FunctionDecl>(D);
123 FunctionDecl *function_decl = dyn_cast<FunctionDecl>(D);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h 105 void ExtractFromFunctionDecl(clang::FunctionDecl *F);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h 154 void HandleInlineFunctionDefinition(clang::FunctionDecl *D) override {
174 void HandleCXXImplicitFunctionInstantiation(clang::FunctionDecl *D) override {
546 llvm::MapVector<const clang::FunctionDecl *,
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp 2151 clang::FunctionDecl *func_decl = FunctionDecl::Create(
2151 clang::FunctionDecl *func_decl = FunctionDecl::Create(
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp 779 std::function<void(clang::FunctionDecl *)> MaybeRegisterFunctionBody =
839 if (clang::FunctionDecl *parser_function_decl =
840 llvm::dyn_cast<clang::FunctionDecl>(parser_named_decl)) {
1391 if (llvm::isa<clang::FunctionDecl>(decl)) {
1393 llvm::cast_or_null<FunctionDecl>(CopyDecl(decl));
1428 if (llvm::isa<clang::FunctionDecl>(decl_from_modules)) {
1437 clang::FunctionDecl *copied_function_decl =
1438 copied_decl ? dyn_cast<clang::FunctionDecl>(copied_decl)
1920 clang::FunctionDecl *src_function_decl =
1921 llvm::dyn_cast_or_null<clang::FunctionDecl>(src_decl_context);
1947 if (clang::FunctionDecl *copied_function_decl =
1948 llvm::dyn_cast_or_null<clang::FunctionDecl>(
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp 785 if (const FunctionDecl *F = dyn_cast<FunctionDecl>(D)) {
785 if (const FunctionDecl *F = dyn_cast<FunctionDecl>(D)) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp 215 } else if (clang::FunctionDecl *function_decl =
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp 1080 clang::FunctionDecl *function_decl = nullptr;
1081 clang::FunctionDecl *template_function_decl = nullptr;
1087 function_decl = llvm::dyn_cast_or_null<clang::FunctionDecl>(
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp 982 clang::FunctionDecl *
985 return llvm::dyn_cast<clang::FunctionDecl>(decl);
1017 clang::FunctionDecl *function_decl = m_clang.CreateFunctionDeclaration(
1033 clang::FunctionDecl &function_decl,
1170 return !!llvm::dyn_cast<clang::FunctionDecl>(&context);
1244 clang::FunctionDecl *func_decl = llvm::dyn_cast<clang::FunctionDecl>(&decl);
1244 clang::FunctionDecl *func_decl = llvm::dyn_cast<clang::FunctionDecl>(&decl);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h 63 clang::FunctionDecl *GetOrCreateFunctionDecl(PdbCompilandSymId func_id);
108 clang::FunctionDecl &function_decl,
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp 978 llvm::dyn_cast_or_null<clang::FunctionDecl>(GetDeclForSymbol(symbol));
tools/lldb/source/Symbol/ClangASTContext.cpp 1487 clang::DeclContext *decl_ctx, clang::FunctionDecl *func_decl,
1510 FunctionDecl *func_decl, clang::FunctionTemplateDecl *func_tmpl_decl,
2053 FunctionDecl *ClangASTContext::CreateFunctionDeclaration(
2056 FunctionDecl *func_decl = nullptr;
2066 func_decl = FunctionDecl::Create(
2139 void ClangASTContext::SetFunctionParameters(FunctionDecl *function_decl,
9929 if (clang::FunctionDecl *func_decl =
9930 llvm::dyn_cast<clang::FunctionDecl>((clang::Decl *)opaque_decl))
9940 if (clang::FunctionDecl *func_decl =
9941 llvm::dyn_cast<clang::FunctionDecl>((clang::Decl *)opaque_decl))
9952 if (clang::FunctionDecl *func_decl =
9953 llvm::dyn_cast<clang::FunctionDecl>((clang::Decl *)opaque_decl)) {
10203 } else if (clang::FunctionDecl *function_decl =
10204 llvm::dyn_cast<clang::FunctionDecl>(decl_ctx)) {
10261 clang::FunctionDecl *
10264 return llvm::dyn_cast<clang::FunctionDecl>(
tools/lldb/source/Symbol/ClangASTImporter.cpp 236 if (llvm::isa<FunctionDecl>(redecl_context) &&
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1580 { typedef _Tp const type; };
1629 { typedef _Tp type; };
1983 { typedef _Up type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>
2157 { typedef _Tp type; };
utils/unittest/googletest/include/gtest/gtest-printers.h 407 T* p, ::std::ostream* os) {
416 if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {