reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaCast.cpp
  138       Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange);
  145       if (Self.CheckObjCConversion(OpRange, DestType, src, CCK) ==
  719   QualType DestType = Self.Context.getCanonicalType(this->DestType);
  733       << this->DestType << DestRange;
  773         << CT_Dynamic << OrigSrcType << this->DestType << OpRange;
  809       << CT_Dynamic << OrigSrcType << this->DestType << OpRange;
  872   auto TCR = TryConstCast(Self, SrcExpr, DestType, /*CStyle*/ false, msg);
  875       << SrcExpr.get()->getType() << DestType << OpRange;
  989     TryReinterpretCast(Self, SrcExpr, DestType,
  998         << DestType << OpRange;
 1003                       DestType, /*listInitialization=*/false);
 1010     DiagnoseReinterpretUpDownCast(Self, SrcExpr.get(), DestType, OpRange);
 1030   if (DestType->isVoidType()) {
 1037                 OpRange, DestType, diag::err_bad_static_cast_overload);
 1046   if (ValueKind == VK_RValue && !DestType->isRecordType() &&
 1055     = TryStaticCast(Self, SrcExpr, DestType, Sema::CCK_OtherCast, OpRange, msg,
 1063         << oe->getName() << DestType << OpRange
 1067       diagnoseBadCast(Self, msg, CT_Static, OpRange, SrcExpr.get(), DestType,
 2407       SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
 2421   if (DestType->isVoidType()) {
 2427                   /* Complain */ true, DestRange, DestType,
 2438   if (DestType->isDependentType() || SrcExpr.get()->isTypeDependent() ||
 2444   if (ValueKind == VK_RValue && !DestType->isRecordType() &&
 2452   if (const VectorType *vecTy = DestType->getAs<VectorType>())
 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,
 2516                                 DestType,
 2525           << OE->getName() << DestType << OpRange
 2531                       OpRange, SrcExpr.get(), DestType, ListInitialization);
 2585     SrcExpr = Self.checkUnknownAnyCast(DestRange, DestType,
 2593   if (DestType->isVoidType()) {
 2608             SrcExpr.get(), DestType, /*Complain=*/true, DAP))
 2621   checkAddressSpaceCast(SrcType, DestType);
 2625   if (Self.RequireCompleteType(OpRange.getBegin(), DestType,
 2631   if (!DestType->isScalarType() && !DestType->isVectorType()) {
 2631   if (!DestType->isScalarType() && !DestType->isVectorType()) {
 2632     const RecordType *DestRecordTy = DestType->getAs<RecordType>();
 2634     if (DestRecordTy && Self.Context.hasSameUnqualifiedType(DestType, SrcType)){
 2637         << DestType << SrcExpr.get()->getSourceRange();
 2659     if (Self.getLangOpts().OpenCL && DestType->isEventT()) {
 2677       << DestType << SrcExpr.get()->getSourceRange();
 2693   if (DestType->isExtVectorType()) {
 2694     SrcExpr = Self.CheckExtVectorCast(OpRange, DestType, SrcExpr.get(), Kind);
 2698   if (const VectorType *DestVecTy = DestType->getAs<VectorType>()) {
 2702       SrcExpr = Self.prepareVectorSplat(DestType, SrcExpr.get());
 2703     } else if (Self.CheckVectorCast(OpRange, DestType, SrcType, Kind)) {
 2710     if (Self.CheckVectorCast(OpRange, SrcType, DestType, Kind))
 2728   if (!DestType->isArithmeticType()) {
 2737                           DestType, Self);
 2739     if (!DestType->isIntegralType(Self.Context) &&
 2740         DestType->isArithmeticType()) {
 2743           << DestType << SrcExpr.get()->getSourceRange();
 2751     if (DestType->isHalfType()) {
 2753           << DestType << SrcExpr.get()->getSourceRange();
 2765     const PointerType *CastPtr = DestType->getAs<PointerType>();
 2775               << SrcType << DestType << Sema::AA_Casting
 2781     else if (!Self.CheckObjCARCUnavailableWeakConversion(DestType, SrcType)) {
 2784           << 1 << SrcType << DestType << SrcExpr.get()->getSourceRange();
 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,
 2816   CharUnits DestSize = Self.Context.getTypeSizeInChars(DestType);
 2825   if (!DestType.isTriviallyCopyableType(Self.Context)) {
 2899   DiagnoseCastQual(Op.Self, Op.SrcExpr, Op.DestType);