[PATCH] [analyzer][Review request] Fix for PR18394.

Jordan Rose jordan_rose at apple.com
Fri Feb 28 13:55:37 PST 2014


  Oh. That's not actually what I meant. The purpose of condition 10 is to preserve the last node before a call starts being processed, which is really a condition about the successor node. We know the successor node concerns a call when:
  - it's a StmtPoint where the statement is a known call statement
  - it's a CallEnter (as you just found)
  - it's a PreImplicitCall point

  The condition you wrote will correctly discard PreImplicitCall points, but won't preserve the first node //before// the PreImplicitCall points, which is really the important one. This also doesn't //force// PreImplicitCalls to be discarded, so the comment doesn't really apply.

  (I don't think we need to worry about throwing away PreImplicitCall points right now. That goes hand in hand with the FIXME in the conditions list, but right now all the Pre*Call and Post*Call points are generated by checkers anyway, so we won't actually reclaim any of them.)

http://llvm-reviews.chandlerc.com/D2899



More information about the cfe-commits mailing list