Pointer Effect Specifications
The include/Annotation/Pointer/ headers define summary objects for pointer
allocation, copy, and exit effects of external APIs.
Location: include/Annotation/Pointer/
Main APIs:
PointerEffectis the tagged union for allocation, copy, and exit effects.PointerEffectSummarygroups effects for one function.ExternalPointerTablestores summaries keyed by function name.ExternalPointerTablePrinterprints loaded summaries.
What it models:
Allocation sites and optional size arguments.
Copy flows between values, direct memory, reachable memory, and special sources such as null or universal.
Functions that terminate the process.
These summaries are the main bridge between external API specifications and the pointer-analysis pipeline.
Modeling guidance
Represent effects at the level visible to callers: an allocation creates a fresh abstract object, while a copy records the source-to-destination flow and its memory indirection. Use the special source kinds only when no ordinary argument represents the flow. A concise external summary is preferable to duplicating library-specific handling in each analysis.
See also Annotation Framework, Alias Specification Manager, and AllocAA — Allocation-Based AA.