Skip to content
  • Ted Kremenek's avatar
    ProgramPoint: · 9e08ff40
    Ted Kremenek authored
    - Added four new ProgramPoint types that subclass PostStmt for use in
      GRExprEngine::EvalLocation:
      - PostOutOfBoundsCheckFailed
      - PostUndefLocationCheckFailed
      - PostNullCheckFailed
      - PostLocationChecksSucceed
      These were created because of a horribly subtle caching bug in EvalLocation
      where a node representing an "bug condition" in EvalLocation (e.g. a null
      dereference) could be re-used as the "non-bug condition" because the Store did
      not contain any information to differentiate between the two. The extra
      program points just disables any accidental caching between EvalLocation and
      its callers.
    
    GRExprEngine:
    - EvalLocation now returns a NodeTy* instead of GRState*.  This should be used as the "vetted" predecessor for EvalLoad/EvalStore.
    
    llvm-svn: 61105
    9e08ff40
Loading