reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
106 castExpr = ImplicitCastExpr::Create(Self.Context, 107 Self.Context.ARCUnbridgedCastTy, 138 Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange); 142 assert(Self.getLangOpts().allowsNonTrivialObjCLifetimeQualifiers()); 145 if (Self.CheckObjCConversion(OpRange, DestType, src, CCK) == 156 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get()); 712 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 714 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get()); 719 QualType DestType = Self.Context.getCanonicalType(this->DestType); 732 Self.Diag(OpRange.getBegin(), diag::err_bad_dynamic_cast_not_ref_or_ptr) 742 if (Self.RequireCompleteType(OpRange.getBegin(), DestPointee, 749 Self.Diag(OpRange.getBegin(), diag::err_bad_dynamic_cast_not_class) 759 QualType SrcType = Self.Context.getCanonicalType(OrigSrcType); 765 Self.Diag(OpRange.getBegin(), diag::err_bad_dynamic_cast_not_ptr) 772 Self.Diag(OpRange.getBegin(), diag::err_bad_cxx_cast_rvalue) 780 SrcExpr = Self.CreateMaterializeTemporaryExpr( 787 if (Self.RequireCompleteType(OpRange.getBegin(), SrcPointee, 794 Self.Diag(OpRange.getBegin(), diag::err_bad_dynamic_cast_not_class) 808 Self.Diag(OpRange.getBegin(), diag::err_bad_cxx_cast_qualifiers_away) 824 Self.IsDerivedFrom(OpRange.getBegin(), SrcPointee, DestPointee)) { 825 if (Self.CheckDerivedToBaseConversion(SrcPointee, DestPointee, 840 Self.Diag(OpRange.getBegin(), diag::err_bad_dynamic_cast_not_polymorphic) 848 if (!Self.getLangOpts().RTTI && !DestPointee->isVoidType()) { 849 Self.Diag(OpRange.getBegin(), diag::err_no_dynamic_cast_with_fno_rtti); 865 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 867 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get()); 872 auto TCR = TryConstCast(Self, SrcExpr, DestType, /*CStyle*/ false, msg); 874 Self.Diag(OpRange.getBegin(), msg) << CT_Const 981 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 989 TryReinterpretCast(Self, SrcExpr, DestType, 994 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) { 996 Self.Diag(OpRange.getBegin(), diag::err_bad_reinterpret_cast_overload) 999 Self.NoteAllOverloadCandidates(SrcExpr.get()); 1002 diagnoseBadCast(Self, msg, CT_Reinterpret, OpRange, SrcExpr.get(), 1008 if (Self.getLangOpts().allowsNonTrivialObjCLifetimeQualifiers()) 1010 DiagnoseReinterpretUpDownCast(Self, SrcExpr.get(), DestType, OpRange); 1034 Self.ResolveAndFixSingleFunctionTemplateSpecialization(SrcExpr, 1042 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get()); 1048 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 1055 = TryStaticCast(Self, SrcExpr, DestType, Sema::CCK_OtherCast, OpRange, msg, 1060 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) { 1062 Self.Diag(OpRange.getBegin(), diag::err_bad_static_cast_overload) 1065 Self.NoteAllOverloadCandidates(SrcExpr.get()); 1067 diagnoseBadCast(Self, msg, CT_Static, OpRange, SrcExpr.get(), DestType, 1075 if (Self.getLangOpts().allowsNonTrivialObjCLifetimeQualifiers()) 2368 if (Self.getLangOpts().OpenCL) { 2372 DestPtr = Self.getASTContext().getCanonicalType(DestType.getTypePtr()), 2373 SrcPtr = Self.getASTContext().getCanonicalType(SrcType.getTypePtr()); 2383 Self.Diag(OpRange.getBegin(), DiagID) 2401 assert(Self.getLangOpts().CPlusPlus); 2407 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType, 2425 Self.ResolveAndFixSingleFunctionTemplateSpecialization( 2433 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get()); 2446 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 2457 SrcExpr = Self.prepareVectorSplat(DestType, SrcExpr.get()); 2474 TryCastResult tcr = TryConstCast(Self, SrcExpr, DestType, 2484 tcr = TryAddressSpaceCast(Self, SrcExpr, DestType, /*CStyle*/ true, msg); 2493 tcr = TryStaticCast(Self, SrcExpr, DestType, CCK, OpRange, msg, Kind, 2500 tcr = TryReinterpretCast(Self, SrcExpr, DestType, /*CStyle*/ true, 2508 if (Self.getLangOpts().allowsNonTrivialObjCLifetimeQualifiers() && 2513 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) { 2515 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(), 2524 Self.Diag(OpRange.getBegin(), diag::err_bad_cstyle_cast_overload) 2527 Self.NoteAllOverloadCandidates(SrcExpr.get()); 2530 diagnoseBadCast(Self, msg, (FunctionalStyle ? CT_Functional : CT_CStyle), 2581 assert(!Self.getLangOpts().CPlusPlus); 2585 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType, 2595 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get()); 2605 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) { 2607 if (FunctionDecl *FD = Self.ResolveAddressOfOverloadedFunction( 2609 SrcExpr = Self.FixOverloadedFunctionReference(SrcExpr.get(), DAP, FD); 2614 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get()); 2625 if (Self.RequireCompleteType(OpRange.getBegin(), DestType, 2634 if (DestRecordTy && Self.Context.hasSameUnqualifiedType(DestType, SrcType)){ 2636 Self.Diag(OpRange.getBegin(), diag::ext_typecheck_cast_nonscalar) 2646 Self.Diag(OpRange.getBegin(), diag::ext_typecheck_cast_to_union) 2651 Self.Diag(OpRange.getBegin(), diag::err_typecheck_cast_to_union_no_type) 2659 if (Self.getLangOpts().OpenCL && DestType->isEventT()) { 2661 if (SrcExpr.get()->EvaluateAsInt(Result, Self.Context)) { 2667 Self.Diag(OpRange.getBegin(), 2676 Self.Diag(OpRange.getBegin(), diag::err_typecheck_cond_expect_scalar) 2686 Self.Diag(SrcExpr.get()->getExprLoc(), 2694 SrcExpr = Self.CheckExtVectorCast(OpRange, DestType, SrcExpr.get(), Kind); 2702 SrcExpr = Self.prepareVectorSplat(DestType, SrcExpr.get()); 2703 } else if (Self.CheckVectorCast(OpRange, DestType, SrcType, Kind)) { 2710 if (Self.CheckVectorCast(OpRange, SrcType, DestType, Kind)) 2721 Self.Diag(SrcExpr.get()->getExprLoc(), diag::err_cast_selector_expr); 2729 if (!SrcType->isIntegralType(Self.Context) && SrcType->isArithmeticType()) { 2730 Self.Diag(SrcExpr.get()->getExprLoc(), 2737 DestType, Self); 2739 if (!DestType->isIntegralType(Self.Context) && 2741 Self.Diag(SrcExpr.get()->getBeginLoc(), 2749 if (Self.getLangOpts().OpenCL && 2750 !Self.getOpenCLOptions().isEnabled("cl_khr_fp16")) { 2752 Self.Diag(SrcExpr.get()->getBeginLoc(), diag::err_opencl_cast_to_half) 2760 if (Self.getLangOpts().allowsNonTrivialObjCLifetimeQualifiers()) { 2766 if (Self.getLangOpts().ObjCAutoRefCount && CastPtr) { 2773 Self.Diag(SrcExpr.get()->getBeginLoc(), 2781 else if (!Self.CheckObjCARCUnavailableWeakConversion(DestType, SrcType)) { 2782 Self.Diag(SrcExpr.get()->getBeginLoc(), 2790 DiagnoseCastOfObjCSEL(Self, SrcExpr, DestType); 2791 DiagnoseCallingConvCast(Self, SrcExpr, DestType, OpRange); 2792 DiagnoseBadFunctionCast(Self, SrcExpr, DestType); 2793 Kind = Self.PrepareScalarCast(SrcExpr, DestType); 2804 if (Self.RequireCompleteType(OpRange.getBegin(), DestType, 2806 Self.RequireCompleteType(OpRange.getBegin(), SrcType, 2813 SrcExpr = Self.CreateMaterializeTemporaryExpr(SrcType, SrcExpr.get(), 2816 CharUnits DestSize = Self.Context.getTypeSizeInChars(DestType); 2817 CharUnits SourceSize = Self.Context.getTypeSizeInChars(SrcType); 2819 Self.Diag(OpRange.getBegin(), diag::err_bit_cast_type_size_mismatch) 2825 if (!DestType.isTriviallyCopyableType(Self.Context)) { 2826 Self.Diag(OpRange.getBegin(), diag::err_bit_cast_non_trivially_copyable) 2832 if (!SrcType.isTriviallyCopyableType(Self.Context)) { 2833 Self.Diag(OpRange.getBegin(), diag::err_bit_cast_non_trivially_copyable) 2899 DiagnoseCastQual(Op.Self, Op.SrcExpr, Op.DestType);