[PATCH] D12123: [analyzer] Skip Pre/Post handlers for ObjC calls when receiver is nil.

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 2 11:51:58 PDT 2015


dcoughlin updated this revision to Diff 33836.
dcoughlin added a comment.

I've updated ExprEngine::VisitObjCMessage to create a pre-statement program point node for the ObjCMessageExpr when the receiver is definitely nil and changed the MessageNil checker handlers to run on a post-statement program point node. This makes sure we always have both a pre- and a post-statement program point for the message expression -- an invariant the path diagnostic machinery relies upon.


http://reviews.llvm.org/D12123

Files:
  include/clang/StaticAnalyzer/Core/Checker.h
  include/clang/StaticAnalyzer/Core/CheckerManager.h
  lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
  lib/StaticAnalyzer/Core/CheckerManager.cpp
  lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
  test/Analysis/NSContainers.m
  test/Analysis/objc-message.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12123.33836.patch
Type: text/x-patch
Size: 18130 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150902/258bda4e/attachment-0001.bin>


More information about the cfe-commits mailing list