diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-09-30 00:37:10 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-09-30 00:37:10 +0000 |
commit | 61238746aac026c5d644bdce4fc54b534b677c2f (patch) | |
tree | efd420d757350f201c6f9ead351808ca42061bf8 /lib/Checker/CallAndMessageChecker.cpp | |
parent | 2cb5520f62e52f09175f546af12b8b8fb05b81ad (diff) |
Tweak nil receiver checker to not warning about 64-bit return values.
Fixes: <rdar://problem/7513117>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/CallAndMessageChecker.cpp')
-rw-r--r-- | lib/Checker/CallAndMessageChecker.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Checker/CallAndMessageChecker.cpp b/lib/Checker/CallAndMessageChecker.cpp index 0d397a2942..be09e51b75 100644 --- a/lib/Checker/CallAndMessageChecker.cpp +++ b/lib/Checker/CallAndMessageChecker.cpp @@ -276,7 +276,9 @@ void CallAndMessageChecker::EmitNilReceiverBug(CheckerContext &C, static bool SupportsNilWithFloatRet(const llvm::Triple &triple) { return triple.getVendor() == llvm::Triple::Apple && - triple.getDarwinMajorNumber() >= 9; + (triple.getDarwinMajorNumber() >= 9 || + triple.getArch() == llvm::Triple::arm || + triple.getArch() == llvm::Triple::thumb); } void CallAndMessageChecker::HandleNilReceiver(CheckerContext &C, @@ -318,7 +320,8 @@ void CallAndMessageChecker::HandleNilReceiver(CheckerContext &C, (Ctx.FloatTy == CanRetTy || Ctx.DoubleTy == CanRetTy || Ctx.LongDoubleTy == CanRetTy || - Ctx.LongLongTy == CanRetTy))) { + Ctx.LongLongTy == CanRetTy || + Ctx.UnsignedLongLongTy == CanRetTy))) { if (ExplodedNode* N = C.GenerateSink(state)) EmitNilReceiverBug(C, ME, N); return; |