Home | History | Annotate | Download | only in Sema

Lines Matching refs:FunctionProtoType

27 static const FunctionProtoType *GetUnderlyingFunction(QualType T)
35 return T->getAs<FunctionProtoType>();
106 const FunctionProtoType *FnT = T->getAs<FunctionProtoType>();
113 const FunctionProtoType *
114 Sema::ResolveExceptionSpec(SourceLocation Loc, const FunctionProtoType *FPT) {
119 const FunctionProtoType *SourceFPT =
120 SourceDecl->getType()->castAs<FunctionProtoType>();
132 return SourceDecl->getType()->castAs<FunctionProtoType>();
148 const FunctionProtoType *Ty =
149 Decl->getTypeSourceInfo()->getType()->getAs<FunctionProtoType>();
166 Old->getType()->getAs<FunctionProtoType>(), Old->getLocation(),
167 New->getType()->getAs<FunctionProtoType>(), New->getLocation(),
189 const FunctionProtoType *NewProto =
190 New->getType()->getAs<FunctionProtoType>();
204 FunctionProtoType::ExtProtoInfo EPI = NewProto->getExtProtoInfo();
216 const FunctionProtoType *OldProto =
217 Old->getType()->getAs<FunctionProtoType>();
219 FunctionProtoType::ExtProtoInfo EPI = NewProto->getExtProtoInfo();
266 for (FunctionProtoType::exception_iterator E = OldProto->exception_begin(),
330 const FunctionProtoType *Old, SourceLocation OldLoc,
331 const FunctionProtoType *New, SourceLocation NewLoc) {
348 const FunctionProtoType *Old,
350 const FunctionProtoType *New,
403 FunctionProtoType::NoexceptResult OldNR = Old->getNoexceptSpec(Context);
404 FunctionProtoType::NoexceptResult NewNR = New->getNoexceptSpec(Context);
405 if (OldNR == FunctionProtoType::NR_BadNoexcept ||
406 NewNR == FunctionProtoType::NR_BadNoexcept)
413 OldNR != FunctionProtoType::NR_NoNoexcept &&
414 NewNR != FunctionProtoType::NR_NoNoexcept)
417 OldNR != FunctionProtoType::NR_NoNoexcept &&
418 FunctionProtoType::NR_NoNoexcept) {
435 if (OldEST == EST_MSAny && NewNR == FunctionProtoType::NR_Throw)
437 if (NewEST == EST_MSAny && OldNR == FunctionProtoType::NR_Throw)
442 if (OldEST == EST_None && NewNR == FunctionProtoType::NR_Throw)
444 if (NewEST == EST_None && OldNR == FunctionProtoType::NR_Throw)
449 bool OldNonThrowing = OldNR == FunctionProtoType::NR_Nothrow ||
451 bool NewNonThrowing = NewNR == FunctionProtoType::NR_Nothrow ||
460 const FunctionProtoType *WithExceptions = 0;
520 for (FunctionProtoType::exception_iterator I = Old->exception_begin(),
524 for (FunctionProtoType::exception_iterator I = New->exception_begin(),
549 const FunctionProtoType *Superset, SourceLocation SuperLoc,
550 const FunctionProtoType *Subset, SourceLocation SubLoc) {
582 FunctionProtoType::NoexceptResult SuperNR =Superset->getNoexceptSpec(Context);
583 if (SuperNR == FunctionProtoType::NR_BadNoexcept ||
584 SuperNR == FunctionProtoType::NR_Dependent)
588 if (SuperNR == FunctionProtoType::NR_Throw)
605 FunctionProtoType::NoexceptResult SubNR = Subset->getNoexceptSpec(Context);
606 if (SubNR == FunctionProtoType::NR_BadNoexcept ||
607 SubNR == FunctionProtoType::NR_Dependent)
611 if (SubNR == FunctionProtoType::NR_Throw) {
619 if (SubEST == EST_DynamicNone || SubNR == FunctionProtoType::NR_Nothrow)
623 if (SuperEST == EST_DynamicNone || SuperNR == FunctionProtoType::NR_Nothrow) {
634 for (FunctionProtoType::exception_iterator SubI = Subset->exception_begin(),
656 for (FunctionProtoType::exception_iterator SuperI =
723 const FunctionProtoType *TFunc = GetUnderlyingFunction(Target);
726 const FunctionProtoType *SFunc = GetUnderlyingFunction(Source);
740 const FunctionProtoType *Target, SourceLocation TargetLoc,
741 const FunctionProtoType *Source, SourceLocation SourceLoc)
769 const FunctionProtoType *ToFunc = GetUnderlyingFunction(ToType);
774 const FunctionProtoType *FromFunc = GetUnderlyingFunction(From->getType());
808 Old->getType()->getAs<FunctionProtoType>(),
810 New->getType()->getAs<FunctionProtoType>(),
839 const FunctionProtoType *FT;
840 if ((FT = T->getAs<FunctionProtoType>())) {
842 FT = PT->getPointeeType()->getAs<FunctionProtoType>();
844 FT = RT->getPointeeType()->getAs<FunctionProtoType>();
846 FT = MT->getPointeeType()->getAs<FunctionProtoType>();
848 FT = BT->getPointeeType()->getAs<FunctionProtoType>();