]> granicus.if.org Git - clang/commitdiff
Attach fixits for CFBridgingRetain/Release outside any casts.
authorJordan Rose <jordan_rose@apple.com>
Thu, 7 Jun 2012 01:10:35 +0000 (01:10 +0000)
committerJordan Rose <jordan_rose@apple.com>
Thu, 7 Jun 2012 01:10:35 +0000 (01:10 +0000)
Before, the note showed the location where you could insert __bridge variants,
but the actual fixit edit came after the cast.

No functionality change.

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

lib/Sema/SemaExprObjC.cpp

index ed1a112a7eb75050016a281bb90136e6f7b4c363..c1df87370c3ceba73207b00ba0d21f44cb3ff5f3 100644 (file)
@@ -2918,7 +2918,8 @@ diagnoseObjCARCConversion(Sema &S, SourceRange castRange,
                                    castType, castExpr, "__bridge ", 0);
     }
     {
-      DiagnosticBuilder DiagB = S.Diag(noteLoc, diag::note_arc_bridge_transfer)
+      DiagnosticBuilder DiagB = S.Diag(br ? castExpr->getExprLoc() : noteLoc,
+                                       diag::note_arc_bridge_transfer)
         << castExprType << br;
       addFixitForObjCARCConversion(S, DiagB, CCK, afterLParen,
                                    castType, castExpr, "__bridge_transfer ",
@@ -2946,7 +2947,8 @@ diagnoseObjCARCConversion(Sema &S, SourceRange castRange,
                                    castType, castExpr, "__bridge ", 0);
     }
     {
-      DiagnosticBuilder DiagB = S.Diag(noteLoc, diag::note_arc_bridge_retained)
+      DiagnosticBuilder DiagB = S.Diag(br ? castExpr->getExprLoc() : noteLoc,
+                                       diag::note_arc_bridge_retained)
         << castType << br;
       addFixitForObjCARCConversion(S, DiagB, CCK, afterLParen,
                                    castType, castExpr, "__bridge_retained ",