summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCXXCast.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-06-21 17:38:29 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-06-21 17:38:29 +0000
commit7887637c8227be27a4f1fc2a745ec992a1f24341 (patch)
tree43669b63864c35c232d4434aa109dc10ed48546f /clang/lib/Sema/SemaCXXCast.cpp
parent646dd0f4d18e50c2d1abc94e24232861be1805aa (diff)
downloadbcm5719-llvm-7887637c8227be27a4f1fc2a745ec992a1f24341.tar.gz
bcm5719-llvm-7887637c8227be27a4f1fc2a745ec992a1f24341.zip
objc-arc: CodeGen part of unbridged cast of CF types.
// rdar://9474349 llvm-svn: 133525
Diffstat (limited to 'clang/lib/Sema/SemaCXXCast.cpp')
-rw-r--r--clang/lib/Sema/SemaCXXCast.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaCXXCast.cpp b/clang/lib/Sema/SemaCXXCast.cpp
index 0b3083aaa62..5f1a355c8af 100644
--- a/clang/lib/Sema/SemaCXXCast.cpp
+++ b/clang/lib/Sema/SemaCXXCast.cpp
@@ -641,8 +641,9 @@ CheckReinterpretCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
diagnoseBadCast(Self, msg, CT_Reinterpret, OpRange, SrcExpr.get(), DestType);
}
} else if (tcr == TC_Success && Self.getLangOptions().ObjCAutoRefCount) {
+ Expr *Exp = SrcExpr.get();
Self.CheckObjCARCConversion(OpRange, DestType,
- SrcExpr.get(), Sema::CCK_OtherCast);
+ Exp, Sema::CCK_OtherCast);
}
}
@@ -704,9 +705,11 @@ CheckStaticCast(Sema &Self, ExprResult &SrcExpr, QualType DestType,
} else if (tcr == TC_Success) {
if (Kind == CK_BitCast)
Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange);
- if (Self.getLangOptions().ObjCAutoRefCount)
+ if (Self.getLangOptions().ObjCAutoRefCount) {
+ Expr *Exp = SrcExpr.get();
Self.CheckObjCARCConversion(OpRange, DestType,
- SrcExpr.get(), Sema::CCK_OtherCast);
+ Exp, Sema::CCK_OtherCast);
+ }
}
else if (Kind == CK_BitCast)
Self.CheckCastAlign(SrcExpr.get(), DestType, OpRange);
OpenPOWER on IntegriCloud