reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/TypeNodes.inc
   44 TYPE(FunctionProto, FunctionType)
tools/clang/include/clang/Sema/Sema.h
  123   class FunctionProtoType;
tools/clang/lib/CodeGen/CodeGenFunction.h
   63 class FunctionProtoType;
tools/clang/lib/CodeGen/CodeGenTypes.h
   38 class FunctionProtoType;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  238                               isa<FunctionProtoType>(S->getFunctionType())) ||
include/llvm/ADT/FoldingSet.h
  256   static void Profile(T &X, FoldingSetNodeID &ID, Ctx Context) {
  260   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  262   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID,
  269   : public DefaultContextualFoldingSetTrait<T, Ctx> {};
  385   ContextualFoldingSetTrait<T, Ctx>::Profile(X, TempID, Context);
  393   ContextualFoldingSetTrait<T, Ctx>::Profile(X, TempID, Context);
  410   using iterator = FoldingSetIterator<T>;
  415   using const_iterator = FoldingSetIterator<const T>;
  420   using bucket_iterator = FoldingSetBucketIterator<T>;
  432   bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
  437   T *GetOrInsertNode(T *N) {
  437   T *GetOrInsertNode(T *N) {
  444   T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
  451   void InsertNode(T *N, void *InsertPos) {
  457   void InsertNode(T *N) {
  515 class ContextualFoldingSet final : public FoldingSetImpl<T> {
  521   using Super = FoldingSetImpl<T>;
  529     T *TN = static_cast<T *>(N);
  530     ContextualFoldingSetTrait<T, Ctx>::Profile(*TN, ID, Context);
  535     T *TN = static_cast<T *>(N);
  536     return ContextualFoldingSetTrait<T, Ctx>::Equals(*TN, ID, IDHash, TempID,
  541     T *TN = static_cast<T *>(N);
  542     return ContextualFoldingSetTrait<T, Ctx>::ComputeHash(*TN, TempID, Context);
include/llvm/Support/Casting.h
   58     return To::classof(&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);
  142   return isa_impl_wrap<X, const Y,
  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;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  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) {
  265   return cast_convert_val<X, Y*,
  331                             typename cast_retty<X, const Y>::ret_type>::type
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  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;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/TrailingObjects.h
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  162   getTrailingObjectsImpl(const BaseTy *Obj,
  177   getTrailingObjectsImpl(BaseTy *Obj,
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  257   static const BaseTy *
  258   getTrailingObjectsImpl(const BaseTy *Obj,
  259                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  263   static BaseTy *
  264   getTrailingObjectsImpl(BaseTy *Obj,
  265                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  277   callNumTrailingObjects(const BaseTy *Obj,
  278                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  283   static size_t callNumTrailingObjects(const BaseTy *Obj,
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  345     return sizeof(BaseTy) + ParentType::additionalSizeToAllocImpl(0, Counts...);
tools/clang/include/clang/AST/ASTContext.h
  200   mutable llvm::ContextualFoldingSet<FunctionProtoType, ASTContext&>
 1207       QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI);
 1216                            const FunctionProtoType::ExceptionSpecInfo &ESI,
 1388                            const FunctionProtoType::ExtProtoInfo &EPI) const {
 1397                                    const FunctionProtoType::ExtProtoInfo &EPI,
 2644       const FunctionProtoType *FirstFnType,
 2645       const FunctionProtoType *SecondFnType,
 2647       SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &NewParamInfos);
tools/clang/include/clang/AST/ASTNodeTraverser.h
  304   void VisitFunctionProtoType(const FunctionProtoType *T) {
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);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  479     : public DynCastPtrConverter<T, Type> {};
tools/clang/include/clang/AST/CanonicalType.h
   76   CanQual(const CanQual<U> &Other,
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   87   const T *getTypePtrOrNull() const {
  120   template<typename U> CanProxy<U> getAs() const;
  122   template<typename U> CanProxy<U> castAs() const;
  126   CanProxy<T> operator->() const;
  157   CanQual<T> getUnqualifiedType() const;
  167   bool isMoreQualifiedThan(CanQual<T> Other) const {
  173   bool isAtLeastAsQualifiedAs(CanQual<T> Other) const {
  185   static CanQual<T> getFromOpaquePtr(void *Ptr);
  192   static CanQual<T> CreateUnsafe(QualType Other);
  241   CanQual<T> Stored;
  245   const T *getTypePtr() const { return Stored.getTypePtr(); }
  254   operator const T*() const { return this->Stored.getTypePtrOrNull(); }
  258   template<typename U> CanProxy<U> getAs() const {
  259     return this->Stored.template getAs<U>();
  321   const CanProxyAdaptor<T> *operator->() const {
  347 class CanProxy : public CanProxyAdaptor<T> {
  353   CanProxy(CanQual<T> Stored) { this->Stored = Stored; }
  356   operator CanQual<T>() const { return this->Stored; }
  499   : public CanProxyBase<FunctionProtoType> {
  515       CanTypeIterator<FunctionProtoType::param_type_iterator>;
  644   CanQual<T> Result;
  652   static_assert(!TypeIsArrayType<T>::value,
  658   if (isa<U>(Stored.getTypePtr()))
  659     return CanQual<U>::CreateUnsafe(Stored);
  667   static_assert(!TypeIsArrayType<U>::value,
  671   return CanQual<U>::CreateUnsafe(Stored);
tools/clang/include/clang/AST/Decl.h
 2393     const auto *FPT = T->getAs<FunctionProtoType>();
 2393     const auto *FPT = T->getAs<FunctionProtoType>();
tools/clang/include/clang/AST/DeclCXX.h
 2052   static QualType getThisType(const FunctionProtoType *FPT,
 2055   static QualType getThisObjectType(const FunctionProtoType *FPT,
 2059     return getType()->castAs<FunctionProtoType>()->getMethodQuals();
 2074     return getType()->castAs<FunctionProtoType>()->getRefQualifier();
tools/clang/include/clang/AST/Expr.h
 5582   const FunctionProtoType *getFunctionType() const;
tools/clang/include/clang/AST/JSONNodeDumper.h
  204   void VisitFunctionProtoType(const FunctionProtoType *T);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1007   TRY_TO(TraverseType(T->getReturnType()));
 1009   for (const auto &A : T->param_types()) {
 1013   for (const auto &E : T->exceptions()) {
 1017   if (Expr *NE = T->getNoexceptExpr())
 1241   TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));
 1243   const FunctionProtoType *T = TL.getTypePtr();
 1245   for (unsigned I = 0, E = TL.getNumParams(); I != E; ++I) {
 1246     if (TL.getParam(I)) {
 1247       TRY_TO(TraverseDecl(TL.getParam(I)));
tools/clang/include/clang/AST/TextNodeDumper.h
  285   void VisitFunctionProtoType(const FunctionProtoType *T);
tools/clang/include/clang/AST/Type.h
 1987   bool isFunctionProtoType() const { return getAs<FunctionProtoType>(); }
 2237   template <typename T> const T *getAs() const;
 3729           FunctionProtoType, QualType, FunctionType::FunctionTypeExtraBitfields,
 6859   static_assert(!TypeIsArrayType<T>::value,
 6863   if (const auto *Ty = dyn_cast<T>(this))
 6863   if (const auto *Ty = dyn_cast<T>(this))
 6867   if (!isa<T>(CanonicalType))
 6872   return cast<T>(getUnqualifiedDesugaredType());
 6923 template <typename T> const T *Type::castAs() const {
 6924   static_assert(!TypeIsArrayType<T>::value,
 6927   if (const auto *ty = dyn_cast<T>(this)) return ty;
 6927   if (const auto *ty = dyn_cast<T>(this)) return ty;
 6929   return cast<T>(getUnqualifiedDesugaredType());
tools/clang/include/clang/AST/TypeLoc.h
  486     return TypeClass::classof(Ty);
  498   const TypeClass *getTypePtr() const {
  499     return cast<TypeClass>(Base::getTypePtr());
 1367     if (auto *FPT = dyn_cast<FunctionProtoType>(getTypePtr())) {
 1440     return cast<FunctionProtoType>(getTypePtr())->getNumParams();
 1480                                      FunctionProtoType> {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 4218   if (const FunctionProtoType *FnTy = internal::getFunctionProtoType(Node))
 4238   const FunctionProtoType *FnTy = internal::getFunctionProtoType(Node);
 5612 extern const AstTypeMatcher<FunctionProtoType> functionProtoType;
 6581   if (const auto *F = Node.getType()->getAs<FunctionProtoType>())
 6581   if (const auto *F = Node.getType()->getAs<FunctionProtoType>())
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  136 inline const FunctionProtoType *
  137 getFunctionProtoType(const FunctionProtoType &Node) {
  141 inline const FunctionProtoType *getFunctionProtoType(const FunctionDecl &Node) {
  142   return Node.getType()->getAs<FunctionProtoType>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  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>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  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>());
 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;
 1184   operator Matcher<T>() const {
 1185     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1202   operator Matcher<T>() const {
 1203     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 {
 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) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
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/CodeGen/CGFunctionInfo.h
  428   static RequiredArgs forPrototypePlus(const FunctionProtoType *prototype,
  442   static RequiredArgs forPrototypePlus(CanQual<FunctionProtoType> prototype,
  447   static RequiredArgs forPrototype(const FunctionProtoType *prototype) {
  451   static RequiredArgs forPrototype(CanQual<FunctionProtoType> prototype) {
  480                                     FunctionProtoType::ExtParameterInfo> {
  482   typedef FunctionProtoType::ExtParameterInfo ExtParameterInfo;
tools/clang/include/clang/CodeGen/CodeGenABITypes.h
   58                                               CanQual<FunctionProtoType> Ty);
   65                                            const FunctionProtoType *FTP,
tools/clang/include/clang/Sema/Overload.h
  872         return STy->castAs<FunctionProtoType>()->getNumParams();
tools/clang/include/clang/Sema/Sema.h
 1572                              const FunctionProtoType::ExtProtoInfo &EPI);
 1596   const FunctionProtoType *ResolveExceptionSpec(SourceLocation Loc,
 1597                                                 const FunctionProtoType *FPT);
 1599                            const FunctionProtoType::ExceptionSpecInfo &ESI);
 1604       const FunctionProtoType *Old, SourceLocation OldLoc,
 1605       const FunctionProtoType *New, SourceLocation NewLoc);
 1608       const FunctionProtoType *Old, SourceLocation OldLoc,
 1609       const FunctionProtoType *New, SourceLocation NewLoc);
 1615                                 const FunctionProtoType *Superset,
 1617                                 const FunctionProtoType *Subset,
 1621                                const FunctionProtoType *Target,
 1623                                const FunctionProtoType *Source,
 2899   bool FunctionParamTypesAreEqual(const FunctionProtoType *OldType,
 2900                                   const FunctionProtoType *NewType,
 3151                              const FunctionProtoType *Proto,
 4767                                const FunctionProtoType *Proto,
 5206     FunctionProtoType::ExceptionSpecInfo getExceptionSpec() const {
 5207       FunctionProtoType::ExceptionSpecInfo ESI;
 5279                                    FunctionProtoType::ExceptionSpecInfo &ESI);
 6103   getLambdaConversionFunctionResultType(const FunctionProtoType *CallOpType);
 8276     SmallVector<FunctionProtoType::ExtParameterInfo, 16> Infos;
 8282     void set(unsigned index, FunctionProtoType::ExtParameterInfo info) {
 8293     const FunctionProtoType::ExtParameterInfo *
 8322   void SubstExceptionSpec(FunctionDecl *New, const FunctionProtoType *Proto,
 8325                           FunctionProtoType::ExceptionSpecInfo &ESI,
 8334                       const FunctionProtoType::ExtParameterInfo *ExtParamInfos,
10171                                        const FunctionProtoType *Proto,
10197                               const FunctionProtoType *Proto,
11248                          const FunctionProtoType *Proto);
11252                         const FunctionProtoType *Proto);
11253   bool CheckOtherCall(CallExpr *TheCall, const FunctionProtoType *Proto);
11256                             const FunctionProtoType *Proto,
11259   void checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
tools/clang/include/clang/Serialization/ASTReader.h
 1342                          FunctionProtoType::ExceptionSpecInfo &ESI,
 2455                          FunctionProtoType::ExceptionSpecInfo &ESI) {
tools/clang/lib/AST/ASTContext.cpp
 2821     const auto *FPT = cast<FunctionProtoType>(T);
 2821     const auto *FPT = cast<FunctionProtoType>(T);
 2822     FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
 2834     const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
 2834     const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
 2835     FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
 2851     QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) {
 2872   const auto *Proto = Orig->castAs<FunctionProtoType>();
 2872   const auto *Proto = Orig->castAs<FunctionProtoType>();
 2887     FunctionDecl *FD, const FunctionProtoType::ExceptionSpecInfo &ESI,
 3724     const FunctionProtoType::ExceptionSpecInfo &ESI, bool NoexceptInType) {
 3759     const FunctionProtoType::ExtProtoInfo &EPI, bool OnlyWantCanonical) const {
 3765   FunctionProtoType::Profile(ID, ResultTy, ArgArray.begin(), NumArgs, EPI,
 3772   if (FunctionProtoType *FPT =
 3817     FunctionProtoType::ExtProtoInfo CanonicalEPI = EPI;
 3870     FunctionProtoType *NewIP =
 3877   auto ESH = FunctionProtoType::getExceptionSpecSize(
 3879   size_t Size = FunctionProtoType::totalSizeToAlloc<
 3882       FunctionProtoType::ExtParameterInfo, Qualifiers>(
 3883       NumArgs, FunctionProtoType::hasExtraBitfields(EPI.ExceptionSpec.Type),
 3888   auto *FTP = (FunctionProtoType *)Allocate(Size, TypeAlignment);
 3889   FunctionProtoType::ExtProtoInfo newEPI = EPI;
 3890   new (FTP) FunctionProtoType(ResultTy, ArgArray, Canonical, newEPI);
 7004       if (const auto *FPT = dyn_cast<FunctionProtoType>(FT)) {
 7004       if (const auto *FPT = dyn_cast<FunctionProtoType>(FT)) {
 8650   const auto *lproto = dyn_cast<FunctionProtoType>(lbase);
 8650   const auto *lproto = dyn_cast<FunctionProtoType>(lbase);
 8651   const auto *rproto = dyn_cast<FunctionProtoType>(rbase);
 8651   const auto *rproto = dyn_cast<FunctionProtoType>(rbase);
 8734     SmallVector<FunctionProtoType::ExtParameterInfo, 4> newParamInfos;
 8773     FunctionProtoType::ExtProtoInfo EPI = lproto->getExtProtoInfo();
 8783   const FunctionProtoType *proto = lproto ? lproto : rproto;
 8812     FunctionProtoType::ExtProtoInfo EPI = proto->getExtProtoInfo();
 9170     const FunctionProtoType *FirstFnType, const FunctionProtoType *SecondFnType,
 9170     const FunctionProtoType *FirstFnType, const FunctionProtoType *SecondFnType,
 9172     SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &NewParamInfos) {
 9188     FunctionProtoType::ExtParameterInfo FirstParam, SecondParam;
 9244       if (const auto *FPT = cast<FunctionProtoType>(F)) {
 9244       if (const auto *FPT = cast<FunctionProtoType>(F)) {
 9245         FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
 9748   FunctionProtoType::ExtProtoInfo EPI;
tools/clang/lib/AST/ASTDiagnostic.cpp
   86       const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT);
   86       const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT);
tools/clang/lib/AST/ASTImporter.cpp
  326     ExpectedType VisitFunctionProtoType(const FunctionProtoType *T);
 1190 ASTNodeImporter::VisitFunctionProtoType(const FunctionProtoType *T) {
 1213   FunctionProtoType::ExtProtoInfo FromEPI = T->getExtProtoInfo();
 1214   FunctionProtoType::ExtProtoInfo ToEPI;
 3119   if (const auto *FromFPT = D->getType()->getAs<FunctionProtoType>()) {
 3119   if (const auto *FromFPT = D->getType()->getAs<FunctionProtoType>()) {
 3120     FunctionProtoType::ExtProtoInfo FromEPI = FromFPT->getExtProtoInfo();
 3128       FunctionProtoType::ExtProtoInfo DefaultEPI;
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  406                                       const FunctionProtoType *Proto1,
  407                                       const FunctionProtoType *Proto2) {
  627     const auto *Proto1 = cast<FunctionProtoType>(T1);
  627     const auto *Proto1 = cast<FunctionProtoType>(T1);
  628     const auto *Proto2 = cast<FunctionProtoType>(T2);
  628     const auto *Proto2 = cast<FunctionProtoType>(T2);
  644     const auto *OrigProto1 =
  645         cast<FunctionProtoType>(OrigT1.getDesugaredType(Context.FromCtx));
  646     const auto *OrigProto2 =
  647         cast<FunctionProtoType>(OrigT2.getDesugaredType(Context.ToCtx));
tools/clang/lib/AST/CommentSema.cpp
  832     if (const auto *FT = Type->getAs<FunctionProtoType>())
  832     if (const auto *FT = Type->getAs<FunctionProtoType>())
tools/clang/lib/AST/Decl.cpp
 1628       const FunctionProtoType *FT = nullptr;
 1630         FT = dyn_cast<FunctionProtoType>(FD->getType()->castAs<FunctionType>());
 2808   if (const auto *FT = getType()->getAs<FunctionProtoType>())
 2808   if (const auto *FT = getType()->getAs<FunctionProtoType>())
 2923   const auto *proto = getType()->castAs<FunctionProtoType>();
 2923   const auto *proto = getType()->castAs<FunctionProtoType>();
 2952   const auto *FPT = getType()->castAs<FunctionProtoType>();
 2952   const auto *FPT = getType()->castAs<FunctionProtoType>();
 3187   const auto *FPT = getType()->getAs<FunctionProtoType>();
 3187   const auto *FPT = getType()->getAs<FunctionProtoType>();
tools/clang/lib/AST/DeclCXX.cpp
 2291 static QualType getThisObjectType(ASTContext &C, const FunctionProtoType *FPT,
 2297 QualType CXXMethodDecl::getThisType(const FunctionProtoType *FPT,
 2304 QualType CXXMethodDecl::getThisObjectType(const FunctionProtoType *FPT,
 2318   return CXXMethodDecl::getThisType(getType()->getAs<FunctionProtoType>(),
 2326   return CXXMethodDecl::getThisObjectType(getType()->getAs<FunctionProtoType>(),
 2570           getType()->castAs<FunctionProtoType>()->isVariadic()) ||
tools/clang/lib/AST/DeclPrinter.cpp
  652     const FunctionProtoType *FT = nullptr;
  654       FT = dyn_cast<FunctionProtoType>(AFT);
tools/clang/lib/AST/Expr.cpp
  736     const FunctionProtoType *FT = nullptr;
  738       FT = dyn_cast<FunctionProtoType>(AFT);
 2358 const FunctionProtoType *BlockExpr::getFunctionType() const {
 2361            ->getPointeeType()->castAs<FunctionProtoType>();
tools/clang/lib/AST/ExprCXX.cpp
  294              ->castAs<FunctionProtoType>()
tools/clang/lib/AST/ItaniumMangle.cpp
  524   void mangleExtParameterInfo(FunctionProtoType::ExtParameterInfo info);
  526   void mangleBareFunctionType(const FunctionProtoType *T, bool MangleReturnType,
  758   mangleBareFunctionType(FD->getType()->castAs<FunctionProtoType>(),
 1778   const FunctionProtoType *Proto = Lambda->getLambdaTypeInfo()->getType()->
 1779                                    getAs<FunctionProtoType>();
 2780 CXXNameMangler::mangleExtParameterInfo(FunctionProtoType::ExtParameterInfo PI) {
 2808 void CXXNameMangler::mangleType(const FunctionProtoType *T) {
 2861 void CXXNameMangler::mangleBareFunctionType(const FunctionProtoType *Proto,
 2976   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(PointeeType)) {
 2976   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(PointeeType)) {
 4890   const FunctionProtoType *Proto =
 4891       cast<FunctionProtoType>(FD->getType()->getAs<FunctionType>());
tools/clang/lib/AST/JSONNodeDumper.cpp
  498 void JSONNodeDumper::VisitFunctionProtoType(const FunctionProtoType *T) {
  499   FunctionProtoType::ExtProtoInfo E = T->getExtProtoInfo();
tools/clang/lib/AST/Mangle.cpp
  175   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FT);
  175   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FT);
  389       auto CC = MD->getType()->castAs<FunctionProtoType>()->getCallConv();
tools/clang/lib/AST/MicrosoftMangle.cpp
  380   void mangleThrowSpecification(const FunctionProtoType *T);
  512   const FunctionProtoType *FT = FD->getType()->castAs<FunctionProtoType>();
  512   const FunctionProtoType *FT = FD->getType()->castAs<FunctionProtoType>();
  713   mangleCallingConvention(MD->getType()->getAs<FunctionProtoType>());
 2150 void MicrosoftCXXNameMangler::mangleType(const FunctionProtoType *T, Qualifiers,
 2175   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(T);
 2175   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(T);
 2417                                                 const FunctionProtoType *FT) {
 2567   if (const FunctionProtoType *FPT = PointeeType->getAs<FunctionProtoType>()) {
 2567   if (const FunctionProtoType *FPT = PointeeType->getAs<FunctionProtoType>()) {
 2819   mangleFunctionType(PointeeType->castAs<FunctionProtoType>());
 3078       DeclForFPT->getType()->castAs<FunctionProtoType>(), MD);
 3093   Mangler.mangleFunctionType(DD->getType()->castAs<FunctionProtoType>(), DD);
tools/clang/lib/AST/ODRHash.cpp
  889   void VisitFunctionProtoType(const FunctionProtoType *T) {
tools/clang/lib/AST/StmtPrinter.cpp
 1982     auto *Proto = Method->getType()->castAs<FunctionProtoType>();
 2408   } else if (!BD->param_empty() || cast<FunctionProtoType>(AFT)->isVariadic()) {
 2417     const auto *FT = cast<FunctionProtoType>(AFT);
 2417     const auto *FT = cast<FunctionProtoType>(AFT);
tools/clang/lib/AST/TextNodeDumper.cpp
 1142 void TextNodeDumper::VisitFunctionProtoType(const FunctionProtoType *T) {
 1296   if (const auto *FPT = D->getType()->getAs<FunctionProtoType>()) {
 1296   if (const auto *FPT = D->getType()->getAs<FunctionProtoType>()) {
 1297     FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
tools/clang/lib/AST/Type.cpp
  967   QualType VisitFunctionProtoType(const FunctionProtoType *T) {
  987     FunctionProtoType::ExtProtoInfo info = T->getExtProtoInfo();
 1265     const auto *funcProtoType = cast<FunctionProtoType>(funcType);
 1265     const auto *funcProtoType = cast<FunctionProtoType>(funcType);
 1283     FunctionProtoType::ExtProtoInfo info = funcProtoType->getExtProtoInfo();
 1773     Type *VisitFunctionProtoType(const FunctionProtoType *T) {
 3690     const auto *FPT = cast<FunctionProtoType>(T);
 3690     const auto *FPT = cast<FunctionProtoType>(T);
 3775     const auto *FPT = cast<FunctionProtoType>(T);
 3775     const auto *FPT = cast<FunctionProtoType>(T);
tools/clang/lib/AST/TypePrinter.cpp
  752 void TypePrinter::printFunctionProtoBefore(const FunctionProtoType *T,
  781 void TypePrinter::printFunctionProtoAfter(const FunctionProtoType *T,
tools/clang/lib/AST/VTableBuilder.cpp
  471   const FunctionProtoType *LT =
  472     cast<FunctionProtoType>(LHS->getType().getCanonicalType());
  473   const FunctionProtoType *RT =
  474     cast<FunctionProtoType>(RHS->getType().getCanonicalType());
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  818 const AstTypeMatcher<FunctionProtoType> functionProtoType;
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>());
  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/BodyFarm.cpp
   43   const FunctionProtoType *FT =
   44   BPT->getPointeeType()->getAs<FunctionProtoType>();
  378   const FunctionProtoType *CallbackFunctionType;
  387                                ->getAs<FunctionProtoType>();
  390         CallbackType->getPointeeType()->getAs<FunctionProtoType>();
  392     CallbackFunctionType = CallbackType->getAs<FunctionProtoType>();
tools/clang/lib/Analysis/CFG.cpp
 2556     if (const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FT))
 2556     if (const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FT))
tools/clang/lib/Analysis/RetainSummaryManager.cpp
  787   const FunctionProtoType* FTP = dyn_cast<FunctionProtoType>(FT);
  787   const FunctionProtoType* FTP = dyn_cast<FunctionProtoType>(FT);
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp
 1275     EmitCallArgs(Args, FnType->getAs<FunctionProtoType>(), E->arguments());
 1295     EmitCallArgs(Args, FnType->getAs<FunctionProtoType>(), E->arguments());
 1565   const FunctionProtoType *fnType = blockInfo.getBlockExpr()->getFunctionType();
 1804       return DD->getType()->castAs<FunctionProtoType>()->canThrow();
tools/clang/lib/CodeGen/CGBuiltin.cpp
 3373         E->getCallee()->getType()->castAs<FunctionProtoType>(), E, false);
 3376         E->getCallee()->getType()->castAs<FunctionProtoType>(), E, true);
tools/clang/lib/CodeGen/CGCXXABI.cpp
   47   const FunctionProtoType *FPT =
   48     MPT->getPointeeType()->getAs<FunctionProtoType>();
tools/clang/lib/CodeGen/CGCall.cpp
   87 static CanQual<FunctionProtoType> GetFormalType(const CXXMethodDecl *MD) {
   89            .getAs<FunctionProtoType>();
  113          llvm::SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &paramInfos,
  114                                         const FunctionProtoType *proto,
  144               SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &paramInfos,
  145                                  CanQual<FunctionProtoType> FPT) {
  177                         CanQual<FunctionProtoType> FTP) {
  178   SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
  193 CodeGenTypes::arrangeFreeFunctionType(CanQual<FunctionProtoType> FTP) {
  251                                    const FunctionProtoType *FTP,
  260       FTP->getCanonicalTypeUnqualified().getAs<FunctionProtoType>());
  284   auto prototype = FT.getAs<FunctionProtoType>();
  309   SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
  321   CanQual<FunctionProtoType> FTP = GetFormalType(MD);
  370 static llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16>
  373   llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> result;
  403   CanQual<FunctionProtoType> FPT = GetFormalType(D);
  417   llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> ParamInfos;
  451   return arrangeFreeFunctionType(FTy.castAs<FunctionProtoType>());
  473   SmallVector<FunctionProtoType::ExtParameterInfo, 4> extParamInfos(2);
  531   CanQual<FunctionProtoType> FTP = GetFormalType(MD);
  543   CanQual<FunctionProtoType> FTP = GetFormalType(CD);
  570   llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
  577   if (const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(fnType)) {
  577   if (const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(fnType)) {
  627 CodeGenTypes::arrangeBlockFunctionDeclaration(const FunctionProtoType *proto,
  675                                    const FunctionProtoType *proto,
  707   SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
  741                      ArrayRef<FunctionProtoType::ExtParameterInfo> paramInfos,
 1671   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
 1671   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
 1681                                                const FunctionProtoType *FPT) {
 1855           getContext(), FuncAttrs, Fn->getType()->getAs<FunctionProtoType>());
tools/clang/lib/CodeGen/CGCall.h
   46   const FunctionProtoType *CalleeProtoTy;
   52   CGCalleeInfo(const FunctionProtoType *calleeProtoTy, GlobalDecl calleeDecl)
   54   CGCalleeInfo(const FunctionProtoType *calleeProtoTy)
   59   const FunctionProtoType *getCalleeFunctionProtoType() const {
tools/clang/lib/CodeGen/CGClass.cpp
  745   if (Ctor->getType()->castAs<FunctionProtoType>()->isVariadic())
 2067   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2067   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2304   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2304   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2846   const FunctionProtoType *FPT =
 2847     callOperator->getType()->castAs<FunctionProtoType>();
tools/clang/lib/CodeGen/CGCoroutine.cpp
  134     if (const auto *Proto =
  135             CE->getMethodDecl()->getType()->getAs<FunctionProtoType>())
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1205   else if (const auto *FPT = dyn_cast<FunctionProtoType>(Ty)) {
 1205   else if (const auto *FPT = dyn_cast<FunctionProtoType>(Ty)) {
 1467   const FunctionProtoType *Func = Method->getType()->getAs<FunctionProtoType>();
 1467   const FunctionProtoType *Func = Method->getType()->getAs<FunctionProtoType>();
 1475     QualType ThisPtr, const FunctionProtoType *Func, llvm::DIFile *Unit) {
 1666     if (Method->getType()->castAs<FunctionProtoType>()->getContainedAutoType())
 2737   const FunctionProtoType *FPT =
 2738       Ty->getPointeeType()->getAs<FunctionProtoType>();
 3496     else if (auto *FPT = dyn_cast<FunctionProtoType>(FnType))
 3523       if (const auto *FPT = dyn_cast<FunctionProtoType>(FnType))
 3523       if (const auto *FPT = dyn_cast<FunctionProtoType>(FnType))
 4568             FD->getType()->castAs<FunctionProtoType>()->getContainedAutoType())
tools/clang/lib/CodeGen/CGDebugInfo.h
  207   getOrCreateInstanceMethodType(QualType ThisPtr, const FunctionProtoType *Func,
tools/clang/lib/CodeGen/CGException.cpp
  457   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
  457   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
  534   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
  534   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
tools/clang/lib/CodeGen/CGExpr.cpp
 2405     if (const FunctionProtoType *Proto =
 2406             FD->getType()->getAs<FunctionProtoType>()) {
 4602   CGCalleeInfo calleeInfo(functionType->getAs<FunctionProtoType>(), GD);
 4907   EmitCallArgs(Args, dyn_cast<FunctionProtoType>(FnType), E->arguments(),
tools/clang/lib/CodeGen/CGExprCXX.cpp
   55   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
   55   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
   83   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
   83   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
  251       EmitCallArgs(*RtlArgs, MD->getType()->castAs<FunctionProtoType>(),
  422   const auto *FPT = MPT->getPointeeType()->castAs<FunctionProtoType>();
  422   const auto *FPT = MPT->getPointeeType()->castAs<FunctionProtoType>();
 1287                                 const FunctionProtoType *CalleeType,
 1312 RValue CodeGenFunction::EmitBuiltinNewDeleteCall(const FunctionProtoType *Type,
 1341   const FunctionProtoType *FPT = FD->getType()->castAs<FunctionProtoType>();
 1341   const FunctionProtoType *FPT = FD->getType()->castAs<FunctionProtoType>();
 1415       const FunctionProtoType *FPT =
 1416           OperatorDelete->getType()->getAs<FunctionProtoType>();
 1586     const FunctionProtoType *allocatorType =
 1587       allocator->getType()->castAs<FunctionProtoType>();
 1758   const FunctionProtoType *DeleteFTy =
 1759     DeleteFD->getType()->getAs<FunctionProtoType>();
tools/clang/lib/CodeGen/CGExprComplex.cpp
  633   FunctionProtoType::ExtProtoInfo EPI;
  645   CGCallee Callee = CGCallee::forDirect(Func, FQTy->getAs<FunctionProtoType>());
tools/clang/lib/CodeGen/CGGPUBuiltin.cpp
   80                E->getDirectCallee()->getType()->getAs<FunctionProtoType>(),
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 4294     FunctionProtoType::ExtProtoInfo EPI;
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  407     FunctionProtoType::ExtProtoInfo EPI;
tools/clang/lib/CodeGen/CGVTables.cpp
  160   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
  160   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
  253     ResultType = MD->getType()->castAs<FunctionProtoType>()->getReturnType();
  338   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
  338   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
tools/clang/lib/CodeGen/CodeGenABITypes.cpp
   37                                  CanQual<FunctionProtoType> Ty) {
   50                               const FunctionProtoType *FTP,
tools/clang/lib/CodeGen/CodeGenFunction.h
 2579   RValue EmitBuiltinNewDeleteCall(const FunctionProtoType *Type,
 4233   static bool isObjCMethodWithTypeParams(const T *) { return false; }
 4247   void EmitCallArgs(CallArgList &Args, const T *CallArgTypeInfo,
tools/clang/lib/CodeGen/CodeGenModule.cpp
 5809   if (auto *FnType = Ty->getAs<FunctionProtoType>()) {
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  232   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT))
  232   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT))
  325     if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT))
  325     if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT))
  347   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT)) {
  347   if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(FT)) {
  349         CanQual<FunctionProtoType>::CreateUnsafe(QualType(FPT, 0)));
tools/clang/lib/CodeGen/CodeGenTypes.h
  205   const CGFunctionInfo &arrangeFreeFunctionType(CanQual<FunctionProtoType> Ty);
  233                                                  const FunctionProtoType *type,
  249                                              const FunctionProtoType *type,
  257                                              const FunctionProtoType *FTP,
  271                     ArrayRef<FunctionProtoType::ExtParameterInfo> paramInfos,
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  581   const FunctionProtoType *FPT =
  582     MPT->getPointeeType()->getAs<FunctionProtoType>();
  996     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
  996     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 3751   if (auto *Proto = Type->getAs<FunctionProtoType>()) {
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
   87         CD->getType()->castAs<FunctionProtoType>()->isVariadic())
 1213       MD->getType()->castAs<FunctionProtoType>()->getCallConv();
 1278   const FunctionProtoType *FPT = CD->getType()->castAs<FunctionProtoType>();
 1278   const FunctionProtoType *FPT = CD->getType()->castAs<FunctionProtoType>();
 1461     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 1461     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 1554   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 1554   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2779   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 2779   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 3328   const FunctionProtoType *FPT =
 3329     MPT->getPointeeType()->castAs<FunctionProtoType>();
 3974   const auto *FPT = CD->getType()->castAs<FunctionProtoType>();
 3974   const auto *FPT = CD->getType()->castAs<FunctionProtoType>();
tools/clang/lib/CodeGen/TargetInfo.cpp
 9152   if (const FunctionProtoType *FPT = FT->getAs<FunctionProtoType>()) {
 9152   if (const FunctionProtoType *FPT = FT->getAs<FunctionProtoType>()) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  579       FunctionProtoType::ExtProtoInfo fpi;
  610   if (const FunctionProtoType *fproto
  611       = dyn_cast<FunctionProtoType>(funcType.IgnoreParens())) {
  970         if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)){
  970         if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)){
 1311     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)) {
 1311     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)) {
 2192   const FunctionProtoType *proto = nullptr;
 2203     proto = dyn_cast<FunctionProtoType>(funcType);
 2377   const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(funcType);
 2377   const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(funcType);
 4059     const FunctionProtoType *FT = cast<FunctionProtoType>(AFT);
 4059     const FunctionProtoType *FT = cast<FunctionProtoType>(AFT);
 4527   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 4527   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 4588   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 4588   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 4801   const FunctionProtoType *FTP;
 4804     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 4808     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 4819   const FunctionProtoType *FTP;
 4822     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 4826     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  485       FunctionProtoType::ExtProtoInfo fpi;
  546   if (const FunctionProtoType *fproto
  547       = dyn_cast<FunctionProtoType>(funcType.IgnoreParens())) {
  817         if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)){
  817         if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)){
 1143     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)) {
 1143     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(FPRetType)) {
 2108   const FunctionProtoType *proto = nullptr;
 2119     proto = dyn_cast<FunctionProtoType>(funcType);
 2289   const FunctionProtoType *proto = dyn_cast_or_null<FunctionProtoType>(funcType);
 2289   const FunctionProtoType *proto = dyn_cast_or_null<FunctionProtoType>(funcType);
 3269     const FunctionProtoType *FT = cast<FunctionProtoType>(AFT);
 3269     const FunctionProtoType *FT = cast<FunctionProtoType>(AFT);
 3693   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 3693   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 3756   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 3756   const FunctionProtoType *FTP = dyn_cast<FunctionProtoType>(FT);
 3955   const FunctionProtoType *FTP;
 3958     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 3962     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 3973   const FunctionProtoType *FTP;
 3976     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 3980     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
tools/clang/lib/Index/USRGeneration.cpp
  800     if (const FunctionProtoType *FT = T->getAs<FunctionProtoType>()) {
  800     if (const FunctionProtoType *FT = T->getAs<FunctionProtoType>()) {
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  345       if (const auto *Ty = FD->getTypeSourceInfo()->getType()->
  346                                          getAs<FunctionProtoType>())
  370   const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
  370   const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Sema/Sema.cpp
 1686       auto *FPT = DD->getType()->getAs<FunctionProtoType>();
 2016   if (const FunctionProtoType *FPT =
 2017       dyn_cast_or_null<FunctionProtoType>(FunTy)) {
tools/clang/lib/Sema/SemaAccess.cpp
  371   CanQual<FunctionProtoType> FriendTy
  373          ->getAs<FunctionProtoType>();
  374   CanQual<FunctionProtoType> ContextTy
  376          ->getAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaChecking.cpp
  487       BPT->getPointeeType()->castAs<FunctionProtoType>()->getParamTypes();
  586       BPT->getPointeeType()->castAs<FunctionProtoType>()->getNumParams();
  679     if (BPT->getPointeeType()->castAs<FunctionProtoType>()->getNumParams() > 0) {
 1407     if (const auto *FT = dyn_cast<FunctionProtoType>(FuncType)) {
 1407     if (const auto *FT = dyn_cast<FunctionProtoType>(FuncType)) {
 4206                                   const FunctionProtoType *Proto,
 4272         Proto = type->getAs<FunctionProtoType>();
 4304 void Sema::checkCall(NamedDecl *FDecl, const FunctionProtoType *Proto,
 4363                                 const FunctionProtoType *Proto,
 4374                              const FunctionProtoType *Proto) {
 4440                             const FunctionProtoType *Proto) {
 4472 bool Sema::CheckOtherCall(CallExpr *TheCall, const FunctionProtoType *Proto) {
 8922   const FunctionProtoType *FT = BuiltinType->getAs<FunctionProtoType>();
 8922   const FunctionProtoType *FT = BuiltinType->getAs<FunctionProtoType>();
 9996       const FunctionProtoType *Proto
 9997         = FD->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaCodeComplete.cpp
 2963   if (const auto *Proto = Function->getType()->getAs<FunctionProtoType>())
 2963   if (const auto *Proto = Function->getType()->getAs<FunctionProtoType>())
 3074   const auto *Proto = Function->getType()->getAs<FunctionProtoType>();
 3074   const auto *Proto = Function->getType()->getAs<FunctionProtoType>();
 3587                                        const FunctionProtoType *Prototype,
 3661   const FunctionProtoType *Proto =
 3662       dyn_cast<FunctionProtoType>(getFunctionType());
 4263 static const FunctionProtoType *TryDeconstructFunctionLike(QualType T) {
 4274     return Argument.getAsType()->getAs<FunctionProtoType>();
 4279   return T->getAs<FunctionProtoType>();
 4393     if (const FunctionProtoType *F =
 5078       if (const auto *Proto = dyn_cast<FunctionProtoType>(FType))
 5078       if (const auto *Proto = dyn_cast<FunctionProtoType>(FType))
 5152           !FD->getType()->getAs<FunctionProtoType>())
 5184       if (auto FP = T->getAs<FunctionProtoType>()) {
tools/clang/lib/Sema/SemaCoroutine.cpp
   52   const FunctionProtoType *FnType = FD->getType()->castAs<FunctionProtoType>();
   52   const FunctionProtoType *FnType = FD->getType()->castAs<FunctionProtoType>();
 1230     const auto *FT = OperatorNew->getType()->getAs<FunctionProtoType>();
 1230     const auto *FT = OperatorNew->getType()->getAs<FunctionProtoType>();
 1282   const auto *OpDeleteType =
 1283       OpDeleteQualType.getTypePtr()->getAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaDecl.cpp
 2098   if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(R)) {
 2098   if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(R)) {
 3569       auto *OldType = OldQType->castAs<FunctionProtoType>();
 3618     const FunctionProtoType *OldProto = nullptr;
 3620         (OldProto = dyn_cast<FunctionProtoType>(OldFuncType))) {
 3662       New->getType()->getAs<FunctionProtoType>() &&
 3666     const FunctionProtoType *OldProto
 3667       = Old->getType()->getAs<FunctionProtoType>();
 3668     const FunctionProtoType *NewProto
 3669       = New->getType()->getAs<FunctionProtoType>();
 8776       const FunctionProtoType *FPT =
 8777           NewFD->getType()->castAs<FunctionProtoType>();
 8905     const FunctionProtoType *FPT = R->getAs<FunctionProtoType>();
 8905     const FunctionProtoType *FPT = R->getAs<FunctionProtoType>();
 8998   } else if (const FunctionProtoType *FT = R->getAs<FunctionProtoType>()) {
 8998   } else if (const FunctionProtoType *FT = R->getAs<FunctionProtoType>()) {
 9370       !NewFD->getType()->getAs<FunctionProtoType>()) {
 9377     FunctionProtoType::ExtProtoInfo EPI(
 9745   if (OldFD && !OldFD->getType()->getAs<FunctionProtoType>()) {
 9751   if (!NewFD->getType()->getAs<FunctionProtoType>())
 9821             OldFD->getType()->getAs<FunctionProtoType>(), OldFD->getLocation(),
 9822             NewFD->getType()->getAs<FunctionProtoType>(), NewFD->getLocation()))
10326       const FunctionProtoType *FPT =
10327         MD->getType()->castAs<FunctionProtoType>();
10328       FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
10554         if (auto *FPT = T->getAs<FunctionProtoType>())
10560       auto *FPT = NewFD->getType()->castAs<FunctionProtoType>();
10659   const FunctionProtoType* FTP = cast<const FunctionProtoType>(FT);
10659   const FunctionProtoType* FTP = cast<const FunctionProtoType>(FT);
13612   if (const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>())
13612   if (const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>())
13807         const FunctionProtoType *Proto =
13808             FD->getType()->getAs<FunctionProtoType>();
14310     const auto *FPT = FD->getType()->getAs<FunctionProtoType>();
14310     const auto *FPT = FD->getType()->getAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaDeclAttr.cpp
   81     return isa<FunctionProtoType>(FnTy);
   90     return cast<FunctionProtoType>(FnTy)->getNumParams();
  109     return cast<FunctionProtoType>(FnTy)->getParamType(Idx);
  138     return cast<FunctionProtoType>(FnTy)->isVariadic();
 2686     if (!cast<FunctionProtoType>(FT)->isVariadic()) {
 2706       if (!cast<FunctionProtoType>(FT)->isVariadic()) {
 3449   const auto *CalleeFnProtoType = dyn_cast<FunctionProtoType>(CalleeFnType);
 3449   const auto *CalleeFnProtoType = dyn_cast<FunctionProtoType>(CalleeFnType);
 7354     if (const auto *FT = FDTy->getAs<FunctionProtoType>()) {
 7354     if (const auto *FT = FDTy->getAs<FunctionProtoType>()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
  158   const FunctionProtoType *Proto
  159     = Method->getType()->getAs<FunctionProtoType>();
 1520         OldType->getAs<FunctionProtoType>(), Old->getLocation(),
 1521         NewType->getAs<FunctionProtoType>(), New->getLocation())) {
 1637   const FunctionProtoType *FT = FD->getType()->getAs<FunctionProtoType>();
 1637   const FunctionProtoType *FT = FD->getType()->getAs<FunctionProtoType>();
 1638   for (FunctionProtoType::param_type_iterator i = FT->param_type_begin(),
 6803 static FunctionProtoType::ExtProtoInfo getImplicitMethodEPI(Sema &S,
 6805   FunctionProtoType::ExtProtoInfo EPI;
 6819   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 6819   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 6833   const FunctionProtoType *CanonicalFPT =
 6834     MD->getCanonicalDecl()->getType()->castAs<FunctionProtoType>();
 6897   const FunctionProtoType *Type = MD->getType()->getAs<FunctionProtoType>();
 6897   const FunctionProtoType *Type = MD->getType()->getAs<FunctionProtoType>();
 7010       FunctionProtoType::ExtProtoInfo EPI = Type->getExtProtoInfo();
 7084       const auto *FPT = MD->getType()->castAs<FunctionProtoType>();
 7084       const auto *FPT = MD->getType()->castAs<FunctionProtoType>();
 7085       FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
 8676   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8676   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8680   FunctionProtoType::ExtProtoInfo EPI = Proto->getExtProtoInfo();
 8874   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8874   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8875   FunctionProtoType::ExtProtoInfo EPI = Proto->getExtProtoInfo();
 8948   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8948   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
11418   FunctionProtoType::ExtProtoInfo EPI = getImplicitMethodEPI(*this, SpecialMem);
11510                        Constructor->getType()->castAs<FunctionProtoType>());
11587   const FunctionProtoType *FPT = TInfo->getType()->castAs<FunctionProtoType>();
11587   const FunctionProtoType *FPT = TInfo->getType()->castAs<FunctionProtoType>();
11588   FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
11646                        Constructor->getType()->castAs<FunctionProtoType>());
11794                        Destructor->getType()->castAs<FunctionProtoType>());
11874   const FunctionProtoType *DtorType = Destructor->getType()->
11875                                         getAs<FunctionProtoType>();
11882   FunctionProtoType::ExtProtoInfo EPI = DtorType->getExtProtoInfo();
12465                        CopyAssignOperator->getType()->castAs<FunctionProtoType>());
12689   FunctionProtoType::ExtProtoInfo EPI =
12842                        MoveAssignOperator->getType()->castAs<FunctionProtoType>());
13127                        CopyConstructor->getType()->castAs<FunctionProtoType>());
13259                        MoveConstructor->getType()->castAs<FunctionProtoType>());
13645   const FunctionProtoType *Proto
13646     = Constructor->getType()->getAs<FunctionProtoType>();
13939       FnDecl->getType()->getAs<FunctionProtoType>()->isVariadic()) {
15309   const auto *NewFT = New->getType()->getAs<FunctionProtoType>();
15309   const auto *NewFT = New->getType()->getAs<FunctionProtoType>();
15310   const auto *OldFT = Old->getType()->getAs<FunctionProtoType>();
15310   const auto *OldFT = Old->getType()->getAs<FunctionProtoType>();
15748       ResolveExceptionSpec(Loc, I->getType()->castAs<FunctionProtoType>());
15952   const FunctionProtoType *Proto = ProtoTL.getTypePtr();
15977   const FunctionProtoType *Proto = ProtoTL.getTypePtr();
16061     FunctionProtoType::ExceptionSpecInfo &ESI) {
16124   FunctionProtoType::ExceptionSpecInfo ESI;
tools/clang/lib/Sema/SemaExceptionSpec.cpp
   26 static const FunctionProtoType *GetUnderlyingFunction(QualType T)
   34   return T->getAs<FunctionProtoType>();
  180   const FunctionProtoType *FnT = T->getAs<FunctionProtoType>();
  180   const FunctionProtoType *FnT = T->getAs<FunctionProtoType>();
  187 const FunctionProtoType *
  188 Sema::ResolveExceptionSpec(SourceLocation Loc, const FunctionProtoType *FPT) {
  198   const FunctionProtoType *SourceFPT =
  199       SourceDecl->getType()->castAs<FunctionProtoType>();
  211   const FunctionProtoType *Proto =
  212     SourceDecl->getType()->castAs<FunctionProtoType>();
  222                           const FunctionProtoType::ExceptionSpecInfo &ESI) {
  237   auto EST = MD->getType()->castAs<FunctionProtoType>()->getExceptionSpecType();
  244     const FunctionProtoType *Old, SourceLocation OldLoc,
  245     const FunctionProtoType *New, SourceLocation NewLoc,
  266   auto *Ty = Decl->getTypeSourceInfo()->getType()->castAs<FunctionProtoType>();
  301         Old->getType()->getAs<FunctionProtoType>(), Old->getLocation(),
  302         New->getType()->getAs<FunctionProtoType>(), New->getLocation(),
  324   const FunctionProtoType *NewProto =
  325     New->getType()->castAs<FunctionProtoType>();
  346   const FunctionProtoType *OldProto =
  347     Old->getType()->castAs<FunctionProtoType>();
  349   FunctionProtoType::ExceptionSpecInfo ESI = OldProto->getExceptionSpecType();
  469     const FunctionProtoType *Old, SourceLocation OldLoc,
  470     const FunctionProtoType *New, SourceLocation NewLoc) {
  495     const FunctionProtoType *Old, SourceLocation OldLoc,
  496     const FunctionProtoType *New, SourceLocation NewLoc,
  599     const FunctionProtoType *WithExceptions = nullptr;
  646                                         const FunctionProtoType *Old,
  648                                         const FunctionProtoType *New,
  747                                     const FunctionProtoType *Superset,
  749                                     const FunctionProtoType *Subset,
  852   const FunctionProtoType *TFunc = GetUnderlyingFunction(Target);
  855   const FunctionProtoType *SFunc = GetUnderlyingFunction(Source);
  870                                    const FunctionProtoType *Target,
  872                                    const FunctionProtoType *Source,
  901   const FunctionProtoType *ToFunc = GetUnderlyingFunction(ToType);
  906   const FunctionProtoType *FromFunc = GetUnderlyingFunction(From->getType());
  942   if (New->getType()->castAs<FunctionProtoType>()->getExceptionSpecType() ==
  967                                   Old->getType()->castAs<FunctionProtoType>(),
  969                                   New->getType()->castAs<FunctionProtoType>(),
 1015   const FunctionProtoType *FT;
 1016   if ((FT = T->getAs<FunctionProtoType>())) {
 1018     FT = PT->getPointeeType()->getAs<FunctionProtoType>();
 1020     FT = RT->getPointeeType()->getAs<FunctionProtoType>();
 1022     FT = MT->getPointeeType()->getAs<FunctionProtoType>();
 1024     FT = BT->getPointeeType()->getAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaExpr.cpp
  373     if (const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(fn)) {
  373     if (const FunctionProtoType *proto = dyn_cast<FunctionProtoType>(fn)) {
 2996     if (auto *FPT = type->getAs<FunctionProtoType>()) {
 3138           isa<FunctionProtoType>(fty))
 3158       if (const FunctionProtoType *proto
 3159             = dyn_cast<FunctionProtoType>(VD->getType()))
 4937 Sema::getVariadicCallType(FunctionDecl *FDecl, const FunctionProtoType *Proto,
 5028                               const FunctionProtoType *Proto,
 5143                                   const FunctionProtoType *Proto,
 5407   const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(DeclType);
 5407   const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(DeclType);
 5448   FunctionProtoType::ExtProtoInfo EPI;
 5462   FT = cast<FunctionProtoType>(OverloadTy);
 5867   const auto *Proto = dyn_cast_or_null<FunctionProtoType>(FuncT);
 5867   const auto *Proto = dyn_cast_or_null<FunctionProtoType>(FuncT);
 5961         Proto = Def->getType()->getAs<FunctionProtoType>();
 5970         Proto = FDecl->getType()->getAs<FunctionProtoType>();
14124     FunctionProtoType::ExtProtoInfo EPI;
14165     (isa<FunctionProtoType>(Fn) && cast<FunctionProtoType>(Fn)->isVariadic());
14165     (isa<FunctionProtoType>(Fn) && cast<FunctionProtoType>(Fn)->isVariadic());
14194   } else if (const FunctionProtoType *Fn = T->getAs<FunctionProtoType>()) {
14194   } else if (const FunctionProtoType *Fn = T->getAs<FunctionProtoType>()) {
14274       FunctionProtoType::ExtProtoInfo EPI;
14286       const FunctionProtoType *FPT = cast<FunctionProtoType>(FTy);
14286       const FunctionProtoType *FPT = cast<FunctionProtoType>(FTy);
14287       FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
14295     FunctionProtoType::ExtProtoInfo EPI;
15479   const FunctionProtoType *FPT = Func->getType()->getAs<FunctionProtoType>();
15479   const FunctionProtoType *FPT = Func->getType()->getAs<FunctionProtoType>();
17549   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FnType);
17549   const FunctionProtoType *Proto = dyn_cast<FunctionProtoType>(FnType);
17696     if (const FunctionProtoType *FT = Type->getAs<FunctionProtoType>()) {
17696     if (const FunctionProtoType *FT = Type->getAs<FunctionProtoType>()) {
17702       const FunctionProtoType *Proto = dyn_cast_or_null<FunctionProtoType>(FnType);
17702       const FunctionProtoType *Proto = dyn_cast_or_null<FunctionProtoType>(FnType);
tools/clang/lib/Sema/SemaExprCXX.cpp
 2064     const FunctionProtoType *Proto =
 2065         OperatorNew->getType()->getAs<FunctionProtoType>();
 2518       const FunctionProtoType *Proto
 2519         = OperatorNew->getType()->getAs<FunctionProtoType>();
 2526       FunctionProtoType::ExtProtoInfo EPI;
 2795   FunctionProtoType::ExtProtoInfo EPI(Context.getDefaultCallingConvention(
 4490         const FunctionProtoType *CPT =
 4491           Operator->getType()->getAs<FunctionProtoType>();
 4740         const FunctionProtoType *CPT =
 4741             Destructor->getType()->getAs<FunctionProtoType>();
 4829           const FunctionProtoType *CPT
 4830               = Constructor->getType()->getAs<FunctionProtoType>();
 4868           const FunctionProtoType *CPT
 4869               = Constructor->getType()->getAs<FunctionProtoType>();
 5514   if (const FunctionProtoType *Proto = Result->getAs<FunctionProtoType>()) {
 5514   if (const FunctionProtoType *Proto = Result->getAs<FunctionProtoType>()) {
 6026 static FunctionProtoType::ExceptionSpecInfo
 6027 mergeExceptionSpecs(Sema &S, FunctionProtoType::ExceptionSpecInfo ESI1,
 6028                     FunctionProtoType::ExceptionSpecInfo ESI2,
 6085     FunctionProtoType::ExceptionSpecInfo Result(EST_Dynamic);
 6248     if (auto *FPT1 = Composite1->getAs<FunctionProtoType>()) {
 6249       if (auto *FPT2 = Composite2->getAs<FunctionProtoType>()) {
 6250         FunctionProtoType::ExtProtoInfo EPI1 = FPT1->getExtProtoInfo();
 6251         FunctionProtoType::ExtProtoInfo EPI2 = FPT2->getExtProtoInfo();
 7238                         Method->getType()->castAs<FunctionProtoType>()))
tools/clang/lib/Sema/SemaLambda.cpp
  372     const FunctionProtoType *FPT = MethodType->castAs<FunctionProtoType>();
  372     const FunctionProtoType *FPT = MethodType->castAs<FunctionProtoType>();
  916     FunctionProtoType::ExtProtoInfo EPI(Context.getDefaultCallingConvention(
 1257     const FunctionProtoType *CallOpProto) {
 1261   const FunctionProtoType::ExtProtoInfo CallOpExtInfo =
 1263   FunctionProtoType::ExtProtoInfo InvokerExtInfo = CallOpExtInfo;
 1290       CallOperator->getType()->castAs<FunctionProtoType>());
 1294   FunctionProtoType::ExtProtoInfo ConvExtInfo(
 1441       CallOperator->getType()->castAs<FunctionProtoType>());
 1444   FunctionProtoType::ExtProtoInfo ConversionEPI(
tools/clang/lib/Sema/SemaLookup.cpp
  720   FunctionProtoType::ExtProtoInfo PI;
  802       if (const FunctionProtoType *FP =
  803               dyn_cast<FunctionProtoType>(FunctionList[Index])) {
 1072     const FunctionProtoType *ConvProto
 1073       = ConvTemplate->getTemplatedDecl()->getType()->getAs<FunctionProtoType>();
 1079     FunctionProtoType::ExtProtoInfo EPI = ConvProto->getExtProtoInfo();
 2889       const FunctionProtoType *Proto = cast<FunctionProtoType>(T);
 2889       const FunctionProtoType *Proto = cast<FunctionProtoType>(T);
 5228         if (const FunctionProtoType *FPT = ValType->getAs<FunctionProtoType>())
 5228         if (const FunctionProtoType *FPT = ValType->getAs<FunctionProtoType>())
tools/clang/lib/Sema/SemaOpenMP.cpp
 3123     FunctionProtoType::ExtProtoInfo EPI;
 3168     FunctionProtoType::ExtProtoInfo EPI;
 3221     FunctionProtoType::ExtProtoInfo EPI;
 3261     FunctionProtoType::ExtProtoInfo EPI;
 3311     FunctionProtoType::ExtProtoInfo EPI;
 3363     FunctionProtoType::ExtProtoInfo EPI;
 3450     FunctionProtoType::ExtProtoInfo EPI;
13548       FunctionProtoType::ExtProtoInfo EPI;
tools/clang/lib/Sema/SemaOverload.cpp
   63   if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
 1139   const FunctionProtoType *OldType = cast<FunctionProtoType>(OldQType);
 1139   const FunctionProtoType *OldType = cast<FunctionProtoType>(OldQType);
 1140   const FunctionProtoType *NewType = cast<FunctionProtoType>(NewQType);
 1140   const FunctionProtoType *NewType = cast<FunctionProtoType>(NewQType);
 1533   if (const auto *FromFPT = dyn_cast<FunctionProtoType>(FromFn)) {
 1533   if (const auto *FromFPT = dyn_cast<FunctionProtoType>(FromFn)) {
 1534     const auto *ToFPT = cast<FunctionProtoType>(ToFn);
 1534     const auto *ToFPT = cast<FunctionProtoType>(ToFn);
 1546     SmallVector<FunctionProtoType::ExtParameterInfo, 4> NewParamInfos;
 1551       FunctionProtoType::ExtProtoInfo ExtInfo = FromFPT->getExtProtoInfo();
 2548   const FunctionProtoType *FromFunctionType
 2549     = FromPointeeType->getAs<FunctionProtoType>();
 2550   const FunctionProtoType *ToFunctionType
 2551     = ToPointeeType->getAs<FunctionProtoType>();
 2696   const FunctionProtoType *FromFunctionType
 2697     = FromPointeeType->getAs<FunctionProtoType>();
 2698   const FunctionProtoType *ToFunctionType
 2699     = ToPointeeType->getAs<FunctionProtoType>();
 2759    SmallVector<FunctionProtoType::ExtParameterInfo, 4> NewParamInfos;
 2782 static const FunctionProtoType *tryGetFunctionProtoType(QualType FromType) {
 2783   if (auto *FPT = FromType->getAs<FunctionProtoType>())
 2787     return MPT->getPointeeType()->getAs<FunctionProtoType>();
 2838   const FunctionProtoType *FromFunction = tryGetFunctionProtoType(FromType),
 2878   if (cast<FunctionProtoType>(FromFunction->getCanonicalTypeUnqualified())
 2880       cast<FunctionProtoType>(ToFunction->getCanonicalTypeUnqualified())
 2894 bool Sema::FunctionParamTypesAreEqual(const FunctionProtoType *OldType,
 2895                                       const FunctionProtoType *NewType,
 2897   for (FunctionProtoType::param_type_iterator O = OldType->param_type_begin(),
 3245   const FunctionProtoType *CtorType =
 3246       Constructor->getType()->getAs<FunctionProtoType>();
 6052   const FunctionProtoType *Proto = Fn->getType()->getAs<FunctionProtoType>();
 6052   const FunctionProtoType *Proto = Fn->getType()->getAs<FunctionProtoType>();
 6088   const FunctionProtoType *Proto
 6089     = dyn_cast<FunctionProtoType>(Function->getType()->getAs<FunctionType>());
 6675   const FunctionProtoType *Proto
 6676     = dyn_cast<FunctionProtoType>(Method->getType()->getAs<FunctionType>());
 7276                                  const FunctionProtoType *Proto,
 8124       if (const FunctionProtoType *Proto =PointeeTy->getAs<FunctionProtoType>())
 8124       if (const FunctionProtoType *Proto =PointeeTy->getAs<FunctionProtoType>())
10186   const FunctionProtoType *FnTy = Fn->getType()->getAs<FunctionProtoType>();
10186   const FunctionProtoType *FnTy = Fn->getType()->getAs<FunctionProtoType>();
10994     ParamTypes = ConvType->castAs<FunctionProtoType>()->getParamTypes();
10999         Cand->Function->getType()->castAs<FunctionProtoType>()->getParamTypes();
11277   auto *FPT = FD->getType()->castAs<FunctionProtoType>();
11724     if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
11994     if (!dyn_cast<FunctionProtoType>(Func->getType()->getAs<FunctionType>()))
12650                             FnDecl->getType()->castAs<FunctionProtoType>()))
13234                               Method->getType()->castAs<FunctionProtoType>()))
13323     const FunctionProtoType *proto = fnType->castAs<FunctionProtoType>();
13323     const FunctionProtoType *proto = fnType->castAs<FunctionProtoType>();
13503   const auto *Proto = Method->getType()->getAs<FunctionProtoType>();
13503   const auto *Proto = Method->getType()->getAs<FunctionProtoType>();
13666       if (const FunctionProtoType *Proto = ConvType->getAs<FunctionProtoType>())
13666       if (const FunctionProtoType *Proto = ConvType->getAs<FunctionProtoType>())
13764   const FunctionProtoType *Proto =
13765     Method->getType()->getAs<FunctionProtoType>();
13977                         Method->getType()->castAs<FunctionProtoType>()))
14238   if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
tools/clang/lib/Sema/SemaStmt.cpp
 3229   const FunctionProtoType *FPT =
 3230       FD->getTypeSourceInfo()->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaTemplate.cpp
 1834     FunctionProtoType::ExtProtoInfo EPI;
 1908     const FunctionProtoType *T = TL.getTypePtr();
 1933     FunctionProtoType::ExtProtoInfo EPI;
 5571                                                   const FunctionProtoType* T) {
 8426           const FunctionProtoType *FPT = FT->castAs<FunctionProtoType>();
 8426           const FunctionProtoType *FPT = FT->castAs<FunctionProtoType>();
 8427           FunctionProtoType::ExtProtoInfo EPI = FPT->getExtProtoInfo();
 9660   if (auto *FPT = R->getAs<FunctionProtoType>())
 9669           Specialization->getType()->getAs<FunctionProtoType>(),
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 1665       const FunctionProtoType *FunctionProtoArg =
 1666         dyn_cast<FunctionProtoType>(Arg);
 1670       const FunctionProtoType *FunctionProtoParam =
 1671         cast<FunctionProtoType>(Param);
 3050   const FunctionProtoType *Proto
 3051     = Function->getType()->getAs<FunctionProtoType>();
 3829     const auto *Proto = Function->getType()->castAs<FunctionProtoType>();
 3829     const auto *Proto = Function->getType()->castAs<FunctionProtoType>();
 3967   const auto *FunctionTypeP = FunctionType->castAs<FunctionProtoType>();
 3967   const auto *FunctionTypeP = FunctionType->castAs<FunctionProtoType>();
 3968   const auto *ArgFunctionTypeP = ArgFunctionType->castAs<FunctionProtoType>();
 3968   const auto *ArgFunctionTypeP = ArgFunctionType->castAs<FunctionProtoType>();
 3969   FunctionProtoType::ExtProtoInfo EPI = ArgFunctionTypeP->getExtProtoInfo();
 4106       Specialization->getType()->castAs<FunctionProtoType>();
 4664         CallOp->getType()->castAs<FunctionProtoType>());
 4721   const FunctionProtoType *Proto1 = FD1->getType()->getAs<FunctionProtoType>();
 4721   const FunctionProtoType *Proto1 = FD1->getType()->getAs<FunctionProtoType>();
 4722   const FunctionProtoType *Proto2 = FD2->getType()->getAs<FunctionProtoType>();
 4722   const FunctionProtoType *Proto2 = FD2->getType()->getAs<FunctionProtoType>();
 5444     const FunctionProtoType *Proto = cast<FunctionProtoType>(T);
 5444     const FunctionProtoType *Proto = cast<FunctionProtoType>(T);
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  977       return inherited::TransformFunctionProtoType(TLB, TL);
 1781                               FunctionProtoType::ExceptionSpecInfo &ESI,
 1792 void Sema::SubstExceptionSpec(FunctionDecl *New, const FunctionProtoType *Proto,
 1794   FunctionProtoType::ExceptionSpecInfo ESI =
 1917     const FunctionProtoType::ExtParameterInfo *ExtParamInfos,
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 1746   const FunctionProtoType *OrigFunc
 1747     = D->getType()->castAs<FunctionProtoType>();
 1748   const FunctionProtoType *NewFunc
 1749     = TInfo->getType()->castAs<FunctionProtoType>();
 1753   FunctionProtoType::ExtProtoInfo NewEPI = NewFunc->getExtProtoInfo();
 3871       const FunctionProtoType *OldProto =
 3872           cast<FunctionProtoType>(OldProtoLoc.getType());
 3977   const FunctionProtoType *Proto = Decl->getType()->castAs<FunctionProtoType>();
 3977   const FunctionProtoType *Proto = Decl->getType()->castAs<FunctionProtoType>();
 4012   SubstExceptionSpec(Decl, Template->getType()->castAs<FunctionProtoType>(),
 4053   const FunctionProtoType *Proto = Tmpl->getType()->getAs<FunctionProtoType>();
 4053   const FunctionProtoType *Proto = Tmpl->getType()->getAs<FunctionProtoType>();
 4057     FunctionProtoType::ExtProtoInfo EPI = Proto->getExtProtoInfo();
 4076       const FunctionProtoType *NewProto
 4077         = New->getType()->getAs<FunctionProtoType>();
tools/clang/lib/Sema/SemaType.cpp
 1915 static std::string getFunctionQualifiersAsString(const FunctionProtoType *FnTy){
 1957   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 1957   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 1969   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 1969   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 2490                     const FunctionProtoType::ExtProtoInfo &EPI,
 2545                                  const FunctionProtoType::ExtProtoInfo &EPI) {
 4036       (!T->castAs<FunctionProtoType>()->getMethodQuals().empty() ||
 4037        T->castAs<FunctionProtoType>()->getRefQualifier() != RQ_None);
 4788         FunctionProtoType::ExtProtoInfo EPI;
 4804         SmallVector<FunctionProtoType::ExtParameterInfo, 16>
 5081     const FunctionProtoType *FnTy = T->getAs<FunctionProtoType>();
 5081     const FunctionProtoType *FnTy = T->getAs<FunctionProtoType>();
 5158       FunctionProtoType::ExtProtoInfo EPI = FnTy->getExtProtoInfo();
 6962     auto *Proto = unwrapped.get()->castAs<FunctionProtoType>();
 7034     const FunctionProtoType *FnP = dyn_cast<FunctionProtoType>(fn);
 7034     const FunctionProtoType *FnP = dyn_cast<FunctionProtoType>(fn);
 7090   bool IsVariadic = (isa<FunctionProtoType>(FT) &&
 7091                      cast<FunctionProtoType>(FT)->isVariadic());
tools/clang/lib/Sema/TreeTransform.h
  617                               FunctionProtoType::ExceptionSpecInfo &ESI,
  648       const FunctionProtoType::ExtParameterInfo *ParamInfos,
  886                                     const FunctionProtoType::ExtProtoInfo &EPI);
 5154     const FunctionProtoType::ExtParameterInfo *ParamInfos,
 5375       TLB, TL, nullptr, Qualifiers(),
 5375       TLB, TL, nullptr, Qualifiers(),
 5377         return This->TransformExceptionSpec(TL.getBeginLoc(), ESI,
 5397   const FunctionProtoType *T = TL.getTypePtr();
 5436   FunctionProtoType::ExtProtoInfo EPI = T->getExtProtoInfo();
 5478     SourceLocation Loc, FunctionProtoType::ExceptionSpecInfo &ESI,
12738   const FunctionProtoType *exprFunctionType = E->getFunctionType();
13027     const FunctionProtoType::ExtProtoInfo &EPI) {
tools/clang/lib/Serialization/ASTReader.cpp
 6507     FunctionProtoType::ExtProtoInfo EPI;
 6530     SmallVector<FunctionProtoType::ExtParameterInfo, 4> ExtParameterInfos;
 6534           FunctionProtoType::ExtParameterInfo
 6893                                   FunctionProtoType::ExceptionSpecInfo &ESI,
12158         auto *FPT = Update.second->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Serialization/ASTReaderDecl.cpp
 3024       auto *XFPT = XT->getAs<FunctionProtoType>();
 3025       auto *YFPT = YT->getAs<FunctionProtoType>();
 3475   auto *FPT = FD->getType()->getAs<FunctionProtoType>();
 3476   auto *PrevFPT = PrevFD->getType()->getAs<FunctionProtoType>();
 4439       FunctionProtoType::ExceptionSpecInfo ESI;
 4445       auto *FPT = FD->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Serialization/ASTWriter.cpp
  291 static void addExceptionSpec(const FunctionProtoType *T,
  308 void ASTTypeWriter::VisitFunctionProtoType(const FunctionProtoType *T) {
 5369             cast<FunctionDecl>(D)->getType()->castAs<FunctionProtoType>(),
 6415                                       ->castAs<FunctionProtoType>()
tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  334   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  334   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  376   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  376   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  419   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  419   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  461   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  461   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  497   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  497   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  541   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  541   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  807   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  807   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  841   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  841   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  884   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  884   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  959   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  959   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  718       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
  718       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
  793       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
  793       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp
   70   if (const auto *TargetPT =
   71           dyn_cast_or_null<FunctionProtoType>(Target->getType().getTypePtr())) {
tools/clang/tools/extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
   22   return Node.getType()->castAs<FunctionProtoType>()->hasTrailingReturn();
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
   55   const auto *FPT = Node.getType()->castAs<FunctionProtoType>();
   55   const auto *FPT = Node.getType()->castAs<FunctionProtoType>();
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
   29   if (auto FP = QT->getAs<FunctionProtoType>()) {
tools/clang/tools/extra/clang-tidy/modernize/UseNoexceptCheck.cpp
   62   const FunctionProtoType *FnTy = nullptr;
   68     FnTy = FuncDecl->getType()->getAs<FunctionProtoType>();
   77                ->getAs<FunctionProtoType>();
tools/clang/tools/extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
   45     const auto *ProtoType = Decl->getType()->getAs<FunctionProtoType>();
   45     const auto *ProtoType = Decl->getType()->getAs<FunctionProtoType>();
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp
  127   if (const auto *FPT = Func->getType()->getAs<FunctionProtoType>()) {
  127   if (const auto *FPT = Func->getType()->getAs<FunctionProtoType>()) {
tools/clang/tools/libclang/CIndex.cpp
  793     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(AFT))
  793     if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(AFT))
tools/clang/tools/libclang/CXType.cpp
  633   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>())
  633   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>())
  681   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  681   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  697   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  697   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  766   if (const auto *FD = T->getAs<FunctionProtoType>())
  766   if (const auto *FD = T->getAs<FunctionProtoType>())
 1074   const FunctionProtoType *FD = QT->getAs<FunctionProtoType>();
 1074   const FunctionProtoType *FD = QT->getAs<FunctionProtoType>();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 2160   const FunctionProtoType *func_proto_type =
 2161       qual_type.getTypePtr()->getAs<FunctionProtoType>();
 2203   FunctionProtoType::ExtProtoInfo proto_info;
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
 1008   const clang::FunctionProtoType *func_type =
 1009       llvm::dyn_cast<clang::FunctionProtoType>(qt);
tools/lldb/source/Symbol/ClangASTContext.cpp
  142   const auto *m1Type = llvm::cast<clang::FunctionProtoType>(
  142   const auto *m1Type = llvm::cast<clang::FunctionProtoType>(
  145   const auto *m2Type = llvm::cast<clang::FunctionProtoType>(
  145   const auto *m2Type = llvm::cast<clang::FunctionProtoType>(
 2039   const clang::FunctionProtoType *function_type =
 2040       llvm::dyn_cast<clang::FunctionProtoType>(method_qual_type.getTypePtr());
 2111   FunctionProtoType::ExtProtoInfo proto_info;
 3017         const clang::FunctionProtoType *function_proto_type =
 3018             llvm::dyn_cast<clang::FunctionProtoType>(qual_type.getTypePtr());
 3169     const clang::FunctionProtoType *func =
 3170         llvm::dyn_cast<clang::FunctionProtoType>(qual_type.getTypePtr());
 3182     const clang::FunctionProtoType *func =
 3183         llvm::dyn_cast<clang::FunctionProtoType>(qual_type.getTypePtr());
 4497     const clang::FunctionProtoType *func =
 4498         llvm::dyn_cast<clang::FunctionProtoType>(GetCanonicalQualType(type));
 4508     const clang::FunctionProtoType *func =
 4509         llvm::dyn_cast<clang::FunctionProtoType>(GetQualType(type));
 4523     const clang::FunctionProtoType *func =
 4524         llvm::dyn_cast<clang::FunctionProtoType>(qual_type.getTypePtr());
 8150   const clang::FunctionProtoType *method_function_prototype(
 8151       llvm::dyn_cast<clang::FunctionProtoType>(function_type));
 8631   const clang::FunctionProtoType *method_function_prototype(
 8632       llvm::dyn_cast<clang::FunctionProtoType>(method_type));
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };