diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2011-06-21 17:38:29 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-06-21 17:38:29 +0000 |
commit | 7887637c8227be27a4f1fc2a745ec992a1f24341 (patch) | |
tree | 43669b63864c35c232d4434aa109dc10ed48546f /clang/lib/Sema/SemaCXXCast.cpp | |
parent | 646dd0f4d18e50c2d1abc94e24232861be1805aa (diff) | |
download | bcm5719-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.cpp | 9 |
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); |