Lines Matching refs:SrcExpr

51       : Self(S), SrcExpr(src), DestType(destType),
65 ExprResult SrcExpr;
119 Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange);
125 Expr *src = SrcExpr.get();
129 SrcExpr = src;
137 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get());
138 if (SrcExpr.isInvalid())
159 static TryCastResult TryLValueToRValueCast(Sema &Self, Expr *SrcExpr,
164 static TryCastResult TryStaticReferenceDowncast(Sema &Self, Expr *SrcExpr,
183 static TryCastResult TryStaticMemberPointerUpcast(Sema &Self, ExprResult &SrcExpr,
191 static TryCastResult TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr,
197 static TryCastResult TryStaticCast(Sema &Self, ExprResult &SrcExpr,
204 static TryCastResult TryConstCast(Sema &Self, ExprResult &SrcExpr,
207 static TryCastResult TryReinterpretCast(Sema &Self, ExprResult &SrcExpr,
261 if (Op.SrcExpr.isInvalid())
265 Op.ValueKind, Op.SrcExpr.get(), DestTInfo,
272 if (Op.SrcExpr.isInvalid())
276 Op.ValueKind, Op.Kind, Op.SrcExpr.get(),
284 if (Op.SrcExpr.isInvalid())
288 Op.ValueKind, Op.Kind, Op.SrcExpr.get(),
296 if (Op.SrcExpr.isInvalid())
301 Op.ValueKind, Op.Kind, Op.SrcExpr.get(),
533 /// CheckDynamicCast - Check that a dynamic_cast\<DestType\>(SrcExpr) is valid.
538 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
540 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get());
541 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
544 QualType OrigSrcType = SrcExpr.get()->getType();
560 SrcExpr = ExprError();
571 SrcExpr = ExprError();
577 SrcExpr = ExprError();
592 << OrigSrcType << SrcExpr.get()->getSourceRange();
593 SrcExpr = ExprError();
597 if (!SrcExpr.get()->isLValue()) {
605 if (SrcExpr.get()->isRValue())
606 SrcExpr = new (Self.Context) MaterializeTemporaryExpr(
607 SrcType, SrcExpr.get(), /*IsLValueReference*/false);
615 SrcExpr.get())) {
616 SrcExpr = ExprError();
621 << SrcPointee.getUnqualifiedType() << SrcExpr.get()->getSourceRange();
622 SrcExpr = ExprError();
636 SrcExpr = ExprError();
653 SrcExpr = ExprError();
672 << SrcPointee.getUnqualifiedType() << SrcExpr.get()->getSourceRange();
673 SrcExpr = ExprError();
683 SrcExpr = ExprError();
691 /// CheckConstCast - Check that a const_cast\<DestType\>(SrcExpr) is valid.
698 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
700 SrcExpr = Self.CheckPlaceholderExpr(SrcExpr.get());
701 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
705 if (TryConstCast(Self, SrcExpr, DestType, /*CStyle*/false, msg) != TC_Success
708 << SrcExpr.get()->getType() << DestType << OpRange;
709 SrcExpr = ExprError();
713 /// Check that a reinterpret_cast\<DestType\>(SrcExpr) is not used as upcast
715 static void DiagnoseReinterpretUpDownCast(Sema &Self, const Expr *SrcExpr,
718 QualType SrcType = SrcExpr->getType();
806 /// CheckReinterpretCast - Check that a reinterpret_cast\<DestType\>(SrcExpr) is
813 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
816 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
821 TryReinterpretCast(Self, SrcExpr, DestType,
825 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
827 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
830 << OverloadExpr::find(SrcExpr.get()).Expression->getName()
832 Self.NoteAllOverloadCandidates(SrcExpr.get());
835 diagnoseBadCast(Self, msg, CT_Reinterpret, OpRange, SrcExpr.get(),
838 SrcExpr = ExprError();
842 DiagnoseReinterpretUpDownCast(Self, SrcExpr.get(), DestType, OpRange);
847 /// CheckStaticCast - Check that a static_cast\<DestType\>(SrcExpr) is valid.
853 if (SrcExpr.isInvalid())
864 Self.ResolveAndFixSingleFunctionTemplateSpecialization(SrcExpr,
868 if (SrcExpr.isInvalid())
872 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get());
878 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
879 if (SrcExpr.isInvalid()) // if conversion failed, don't report another error
885 = TryStaticCast(Self, SrcExpr, DestType, Sema::CCK_OtherCast, OpRange, msg,
888 if (SrcExpr.isInvalid())
890 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
891 OverloadExpr* oe = OverloadExpr::find(SrcExpr.get()).Expression;
895 Self.NoteAllOverloadCandidates(SrcExpr.get());
897 diagnoseBadCast(Self, msg, CT_Static, OpRange, SrcExpr.get(), DestType,
900 SrcExpr = ExprError();
914 static TryCastResult TryStaticCast(Sema &Self, ExprResult &SrcExpr,
944 tcr = TryStaticReferenceDowncast(Self, SrcExpr.get(), DestType, CStyle,
952 tcr = TryLValueToRValueCast(Self, SrcExpr.get(), DestType, CStyle, Kind,
959 tcr = TryStaticImplicitCast(Self, SrcExpr, DestType, CCK, OpRange, msg,
961 if (SrcExpr.isInvalid())
974 QualType SrcType = Self.Context.getCanonicalType(SrcExpr.get()->getType());
1022 tcr = TryStaticMemberPointerUpcast(Self, SrcExpr, SrcType, DestType, CStyle,
1078 Self.CheckTollFreeBridgeStaticCast(DestType, SrcExpr.get(), Kind))
1087 TryLValueToRValueCast(Sema &Self, Expr *SrcExpr, QualType DestType,
1097 if (!SrcExpr->isGLValue())
1106 QualType FromType = SrcExpr->getType();
1113 if (Self.CompareReferenceRelationship(SrcExpr->getLocStart(),
1126 if (!Self.IsDerivedFrom(SrcExpr->getType(), R->getPointeeType(), Paths))
1138 TryStaticReferenceDowncast(Sema &Self, Expr *SrcExpr, QualType DestType,
1156 if (!RValueRef && !SrcExpr->isLValue()) {
1168 Self.Context.getCanonicalType(SrcExpr->getType()),
1170 OpRange, SrcExpr->getType(), DestType, msg, Kind,
1325 TryStaticMemberPointerUpcast(Sema &Self, ExprResult &SrcExpr, QualType SrcType,
1336 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
1338 = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(), DestType, false,
1410 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
1419 SrcExpr = Self.FixOverloadedFunctionReference(SrcExpr, FoundOverload, Fn);
1420 if (!SrcExpr.isUsable()) {
1437 TryStaticImplicitCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
1463 Expr *SrcExprRaw = SrcExpr.get();
1487 SrcExpr = Result;
1493 static TryCastResult TryConstCast(Sema &Self, ExprResult &SrcExpr,
1497 QualType SrcType = SrcExpr.get()->getType();
1512 if (isa<LValueReferenceType>(DestTypeTmp) && !SrcExpr.get()->isLValue()) {
1520 if (isa<RValueReferenceType>(DestTypeTmp) && SrcExpr.get()->isRValue()) {
1538 if (SrcExpr.get()->refersToBitField()) {
1599 SrcExpr = new (Self.Context) MaterializeTemporaryExpr(
1600 SrcType, SrcExpr.get(), /*IsLValueReference*/ false);
1660 static void DiagnoseCastOfObjCSEL(Sema &Self, const ExprResult &SrcExpr,
1662 QualType SrcType = SrcExpr.get()->getType();
1671 Self.Diag(SrcExpr.get()->getExprLoc(),
1673 << SrcType << DestType << SrcExpr.get()->getSourceRange();
1678 const Expr *SrcExpr, QualType DestType,
1680 QualType SrcType = SrcExpr->getType();
1688 && !SrcExpr->isIntegerConstantExpr(Self.Context)
1703 static TryCastResult TryReinterpretCast(Sema &Self, ExprResult &SrcExpr,
1711 QualType SrcType = SrcExpr.get()->getType();
1719 ExprResult SingleFunctionExpr = SrcExpr;
1724 SrcExpr = SingleFunctionExpr;
1725 SrcType = SrcExpr.get()->getType();
1732 if (!SrcExpr.get()->isGLValue()) {
1749 switch (SrcExpr.get()->getObjectKind()) {
1761 << OpRange << SrcExpr.get()->getSourceRange();
1762 msg = 0; SrcExpr = ExprError();
1910 checkIntToPointerCast(CStyle, OpRange.getBegin(), SrcExpr.get(), DestType,
1942 Kind = Self.PrepareCastToObjCObjectPointer(SrcExpr);
1959 DiagnoseCastOfObjCSEL(Self, SrcExpr, DestType);
2007 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
2008 SrcExpr.get(), Kind,
2014 if (SrcExpr.isInvalid())
2026 SrcExpr, /* Decay Function to ptr */ false,
2029 if (SrcExpr.isInvalid())
2033 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get());
2038 if (DestType->isDependentType() || SrcExpr.get()->isTypeDependent() ||
2039 SrcExpr.get()->isValueDependent()) {
2046 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
2047 if (SrcExpr.isInvalid())
2054 && (SrcExpr.get()->getType()->isIntegerType()
2055 || SrcExpr.get()->getType()->isFloatingType())) {
2072 TryCastResult tcr = TryConstCast(Self, SrcExpr, DestType,
2074 if (SrcExpr.isInvalid())
2084 tcr = TryStaticCast(Self, SrcExpr, DestType, CCK, OpRange,
2086 if (SrcExpr.isInvalid())
2091 tcr = TryReinterpretCast(Self, SrcExpr, DestType, /*CStyle*/true,
2093 if (SrcExpr.isInvalid())
2102 if (SrcExpr.get()->getType() == Self.Context.OverloadTy) {
2104 FunctionDecl *Fn = Self.ResolveAddressOfOverloadedFunction(SrcExpr.get(),
2112 OverloadExpr *OE = OverloadExpr::find(SrcExpr.get()).Expression;
2116 Self.NoteAllOverloadCandidates(SrcExpr.get());
2120 OpRange, SrcExpr.get(), DestType, ListInitialization);
2126 // Clear out SrcExpr if there was a fatal error.
2128 SrcExpr = ExprError();
2134 static void DiagnoseBadFunctionCast(Sema &Self, const ExprResult &SrcExpr,
2137 SrcExpr.get()->getExprLoc()))
2140 if (!isa<CallExpr>(SrcExpr.get()))
2143 QualType SrcType = SrcExpr.get()->getType();
2162 Self.Diag(SrcExpr.get()->getExprLoc(),
2164 << SrcType << DestType << SrcExpr.get()->getSourceRange();
2173 SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
2174 SrcExpr.get(), Kind,
2183 SrcExpr = Self.IgnoredValueConversions(SrcExpr.get());
2184 if (SrcExpr.isInvalid())
2192 SrcExpr = Self.DefaultFunctionArrayLvalueConversion(SrcExpr.get());
2193 if (SrcExpr.isInvalid())
2195 QualType SrcType = SrcExpr.get()->getType();
2208 << SrcExpr.get()->getSourceRange();
2209 SrcExpr = ExprError();
2216 SrcExpr = ExprError();
2226 << DestType << SrcExpr.get()->getSourceRange();
2240 << SrcExpr.get()->getSourceRange();
2246 << SrcType << SrcExpr.get()->getSourceRange();
2247 SrcExpr = ExprError();
2256 << DestType << SrcExpr.get()->getSourceRange();
2257 SrcExpr = ExprError();
2265 Self.Diag(SrcExpr.get()->getExprLoc(),
2267 << SrcType << SrcExpr.get()->getSourceRange();
2268 SrcExpr = ExprError();
2273 SrcExpr = Self.CheckExtVectorCast(OpRange, DestType, SrcExpr.get(), Kind);
2282 SrcExpr = ExprError();
2289 SrcExpr = ExprError();
2298 if (isa<ObjCSelectorExpr>(SrcExpr.get())) {
2299 Self.Diag(SrcExpr.get()->getExprLoc(), diag::err_cast_selector_expr);
2300 SrcExpr = ExprError();
2308 Self.Diag(SrcExpr.get()->getExprLoc(),
2310 << SrcType << SrcExpr.get()->getSourceRange();
2311 SrcExpr = ExprError();
2314 checkIntToPointerCast(/* CStyle */ true, OpRange.getBegin(), SrcExpr.get(),
2319 Self.Diag(SrcExpr.get()->getLocStart(),
2321 << DestType << SrcExpr.get()->getSourceRange();
2322 SrcExpr = ExprError();
2329 Self.Diag(SrcExpr.get()->getLocStart(), diag::err_opencl_cast_to_half)
2330 << DestType << SrcExpr.get()->getSourceRange();
2331 SrcExpr = ExprError();
2339 if (SrcExpr.isInvalid())
2349 Self.Diag(SrcExpr.get()->getLocStart(),
2352 << SrcExpr.get()->getSourceRange();
2358 Self.Diag(SrcExpr.get()->getLocStart(),
2360 << 1 << SrcType << DestType << SrcExpr.get()->getSourceRange();
2361 SrcExpr = ExprError();
2366 DiagnoseCastOfObjCSEL(Self, SrcExpr, DestType);
2367 DiagnoseBadFunctionCast(Self, SrcExpr, DestType);
2368 Kind = Self.PrepareScalarCast(SrcExpr, DestType);
2369 if (SrcExpr.isInvalid())
2391 if (Op.SrcExpr.isInvalid())
2395 Op.ValueKind, Op.Kind, Op.SrcExpr.get(),
2409 if (Op.SrcExpr.isInvalid())
2412 if (CXXConstructExpr *ConstructExpr = dyn_cast<CXXConstructExpr>(Op.SrcExpr.get()))
2417 Op.SrcExpr.get(), &Op.BasePath, LPLoc, RPLoc));