Lines Matching refs:FTI
1892 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
1893 if (FTI.TrailingReturnType) {
2159 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2160 IsQualifiedFunction = FTI.TypeQuals || FTI.hasRefQualifier();
2168 !FTI.TrailingReturnType && chunkIndex == 0) {
2173 } else if (FTI.TrailingReturnType) {
2189 ParsedType::getFromOpaquePtr(FTI.TrailingReturnType),
2257 if (IsTypedefName && FTI.getExceptionSpecType())
2258 S.Diag(FTI.getExceptionSpecLoc(), diag::err_exception_spec_in_typedef)
2262 if (!FTI.NumArgs && !FTI.isVariadic && !LangOpts.CPlusPlus) {
2269 if (!FTI.NumArgs && FTI.isVariadic && !LangOpts.CPlusPlus) {
2280 S.Diag(FTI.getEllipsisLoc(), diag::err_ellipsis_first_arg);
2283 if (FTI.NumArgs && FTI.ArgInfo[0].Param == 0) {
2286 S.Diag(FTI.ArgInfo[0].IdentLoc, diag::err_ident_list_in_fn_declaration);
2292 EPI.Variadic = FTI.isVariadic;
2293 EPI.HasTrailingReturn = FTI.TrailingReturnType;
2294 EPI.TypeQuals = FTI.TypeQuals;
2295 EPI.RefQualifier = !FTI.hasRefQualifier()? RQ_None
2296 : FTI.RefQualifierIsLValueRef? RQ_LValue
2302 ArgTys.reserve(FTI.NumArgs);
2305 ConsumedArguments.reserve(FTI.NumArgs);
2308 for (unsigned i = 0, e = FTI.NumArgs; i != e; ++i) {
2309 ParmVarDecl *Param = cast<ParmVarDecl>(FTI.ArgInfo[i].Param);
2324 if (FTI.NumArgs != 1 || FTI.isVariadic) {
2328 } else if (FTI.ArgInfo[i].Ident) {
2330 S.Diag(FTI.ArgInfo[i].IdentLoc,
2349 } else if (!FTI.hasPrototype) {
2378 if (FTI.getExceptionSpecType() == EST_Dynamic) {
2381 unsigned N = FTI.NumExceptions;
2385 DynamicExceptions.push_back(FTI.Exceptions[I].Ty);
2386 DynamicExceptionRanges.push_back(FTI.Exceptions[I].Range);
2388 } else if (FTI.getExceptionSpecType() == EST_ComputedNoexcept) {
2389 NoexceptExpr = FTI.NoexceptExpr;
2392 S.checkExceptionSpecification(FTI.getExceptionSpecType(),
2399 if (FTI.getExceptionSpecType() == EST_None &&
3109 const DeclaratorChunk::FunctionTypeInfo &FTI = Chunk.Fun;
3111 ParmVarDecl *Param = cast<ParmVarDecl>(FTI.ArgInfo[i].Param);