Lines Matching refs:FTI
2044 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2045 if (FTI.hasTrailingReturnType()) {
2192 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2193 assert(FTI.isAmbiguous && "no direct-initializer / function ambiguity");
2200 if (!RT->isRecordType() && FTI.NumArgs > 1)
2204 if (RT->isReferenceType() && FTI.NumArgs != 1)
2224 FTI.NumArgs ? diag::warn_parens_disambiguated_as_function_declaration
2247 if (FTI.NumArgs > 0) {
2251 SourceRange Range = FTI.ArgInfo[0].Param->getSourceRange();
2446 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
2447 IsQualifiedFunction = FTI.TypeQuals || FTI.hasRefQualifier();
2455 !FTI.hasTrailingReturnType() && chunkIndex == 0) {
2460 } else if (FTI.hasTrailingReturnType()) {
2474 T = S.GetTypeFromParser(FTI.getTrailingReturnType(), &TInfo);
2590 if (IsTypedefName && FTI.getExceptionSpecType())
2591 S.Diag(FTI.getExceptionSpecLoc(), diag::err_exception_spec_in_typedef)
2597 if (FTI.isAmbiguous)
2600 if (!FTI.NumArgs && !FTI.isVariadic && !LangOpts.CPlusPlus) {
2607 if (!FTI.NumArgs && FTI.isVariadic && !LangOpts.CPlusPlus) {
2618 S.Diag(FTI
2621 if (FTI.NumArgs && FTI.ArgInfo[0].Param == 0) {
2624 S.Diag(FTI.ArgInfo[0].IdentLoc, diag::err_ident_list_in_fn_declaration);
2632 EPI.Variadic = FTI.isVariadic;
2633 EPI.HasTrailingReturn = FTI.hasTrailingReturnType();
2634 EPI.TypeQuals = FTI.TypeQuals;
2635 EPI.RefQualifier = !FTI.hasRefQualifier()? RQ_None
2636 : FTI.RefQualifierIsLValueRef? RQ_LValue
2642 ArgTys.reserve(FTI.NumArgs);
2645 ConsumedArguments.reserve(FTI.NumArgs);
2648 for (unsigned i = 0, e = FTI.NumArgs; i != e; ++i) {
2649 ParmVarDecl *Param = cast<ParmVarDecl>(FTI.ArgInfo[i].Param);
2664 if (FTI.NumArgs != 1 || FTI.isVariadic) {
2668 } else if (FTI.ArgInfo[i].Ident) {
2670 S.Diag(FTI.ArgInfo[i].IdentLoc,
2697 } else if (!FTI.hasPrototype) {
2726 if (FTI.getExceptionSpecType() == EST_Dynamic) {
2729 unsigned N = FTI.NumExceptions;
2733 DynamicExceptions.push_back(FTI.Exceptions[I].Ty);
2734 DynamicExceptionRanges.push_back(FTI.Exceptions[I].Range);
2736 } else if (FTI.getExceptionSpecType() == EST_ComputedNoexcept) {
2737 NoexceptExpr = FTI.NoexceptExpr;
2740 S.checkExceptionSpecification(FTI.getExceptionSpecType(),
3450 const DeclaratorChunk::FunctionTypeInfo &FTI = Chunk.Fun;
3451 TL.setLParenLoc(FTI.getLParenLoc());
3452 TL.setRParenLoc(FTI.getRParenLoc());
3454 ParmVarDecl *Param = cast<ParmVarDecl>(FTI.ArgInfo[i].Param);