Skip to content
  • Ted Kremenek's avatar
    Add analysis support for blocks. This includes a few key changes: · 04af9f20
    Ted Kremenek authored
    - Refactor the MemRegion hierarchy to distinguish between different StackSpaceRegions for locals and parameters.
    - VarRegions for "captured" variables now have the BlockDataRegion as their super region (except those passed by reference)
    - Add transfer function support to GRExprEngine for BlockDeclRefExprs.
    
    This change also supports analyzing blocks as an analysis entry point
    (top-of-the-stack), which required pushing more context-sensitivity
    around in the MemRegion hierarchy via the use of LocationContext
    objects.  Functionally almost everything is the same, except we track
    LocationContexts in a few more areas and StackSpaceRegions now refer
    to a StackFrameContext object.  In the future we will need to modify
    MemRegionManager to allow multiple StackSpaceRegions in flight at once
    (for the analysis of multiple stack frames).
    
    llvm-svn: 90809
    04af9f20
Loading