]> granicus.if.org Git - clang/commitdiff
Explain why ACC_bottom should never occur in diagnosing ARC casts.
authorJordan Rose <jordan_rose@apple.com>
Tue, 31 Jul 2012 01:07:43 +0000 (01:07 +0000)
committerJordan Rose <jordan_rose@apple.com>
Tue, 31 Jul 2012 01:07:43 +0000 (01:07 +0000)
This is just a clarification on Fariborz's original patch, per e-mail
discussion. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161016 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaExprObjC.cpp

index a50054405e6e5401dd37905bcae9ed216c0ac56d..d57329b69ecd87b5437294a729ce6970ae3a8cfd 100644 (file)
@@ -2860,15 +2860,15 @@ diagnoseObjCARCConversion(Sema &S, SourceRange castRange,
       << castRange
       << castExpr->getSourceRange();
     bool br = S.isKnownName("CFBridgingRelease");
-    ACCResult  CreateRule = 
+    ACCResult CreateRule = 
       ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr);
+    assert(CreateRule != ACC_bottom && "This cast should already be accepted.");
     if (CreateRule != ACC_plusOne)
     {
       DiagnosticBuilder DiagB = S.Diag(noteLoc, diag::note_arc_bridge);
       addFixitForObjCARCConversion(S, DiagB, CCK, afterLParen,
                                    castType, castExpr, "__bridge ", 0);
     }
-    assert (CreateRule != ACC_bottom);
     if (CreateRule != ACC_plusZero)
     {
       DiagnosticBuilder DiagB = S.Diag(br ? castExpr->getExprLoc() : noteLoc,
@@ -2895,13 +2895,13 @@ diagnoseObjCARCConversion(Sema &S, SourceRange castRange,
       << castExpr->getSourceRange();
     ACCResult CreateRule = 
       ARCCastChecker(S.Context, exprACTC, castACTC, true).Visit(castExpr);
+    assert(CreateRule != ACC_bottom && "This cast should already be accepted.");
     if (CreateRule != ACC_plusOne)
     {
       DiagnosticBuilder DiagB = S.Diag(noteLoc, diag::note_arc_bridge);
       addFixitForObjCARCConversion(S, DiagB, CCK, afterLParen,
                                    castType, castExpr, "__bridge ", 0);
     }
-    assert (CreateRule != ACC_bottom);
     if (CreateRule != ACC_plusZero)
     {
       DiagnosticBuilder DiagB = S.Diag(br ? castExpr->getExprLoc() : noteLoc,