diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp')
-rw-r--r-- | contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp b/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp index a0994a6..544cb0a 100644 --- a/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp +++ b/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp @@ -66,8 +66,7 @@ public: selName = "getArgument"; else if (E->getSelector() == setArgumentSel) selName = "setArgument"; - - if (selName.empty()) + else return true; Expr *parm = E->getArg(0)->IgnoreParenCasts(); @@ -75,13 +74,12 @@ public: if (pointee.isNull()) return true; - if (pointee.getObjCLifetime() > Qualifiers::OCL_ExplicitNone) { - std::string err = "NSInvocation's "; - err += selName; - err += " is not safe to be used with an object with ownership other " - "than __unsafe_unretained"; - Pass.TA.reportError(err, parm->getLocStart(), parm->getSourceRange()); - } + if (pointee.getObjCLifetime() > Qualifiers::OCL_ExplicitNone) + Pass.TA.report(parm->getLocStart(), + diag::err_arcmt_nsinvocation_ownership, + parm->getSourceRange()) + << selName; + return true; } |