aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-07-28 17:21:28 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-07-28 17:21:28 -0400
commit9cac6811cf0d6c1437426aaf13ea52c16c16fc80 (patch)
treeec52a8f94a5ffd28994b0159de9efe821a7451f5
parentb8ce0c4361c267406d5eba1901e42fc5942dc775 (diff)
downloadgcc-9cac6811cf0d6c1437426aaf13ea52c16c16fc80.zip
gcc-9cac6811cf0d6c1437426aaf13ea52c16c16fc80.tar.gz
gcc-9cac6811cf0d6c1437426aaf13ea52c16c16fc80.tar.bz2
analyzer: expand the comment in region.h
gcc/analyzer/ChangeLog: * region.h: Add notes to the comment describing the region class hierarchy. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
-rw-r--r--gcc/analyzer/region.h52
1 files changed, 31 insertions, 21 deletions
diff --git a/gcc/analyzer/region.h b/gcc/analyzer/region.h
index 1067748..a5b3029 100644
--- a/gcc/analyzer/region.h
+++ b/gcc/analyzer/region.h
@@ -72,27 +72,37 @@ enum region_kind
region
space_region
- frame_region (RK_FRAME)
- globals_region (RK_GLOBALS)
- code_region (RK_CODE)
- stack_region (RK_STACK)
- heap_region (RK_HEAP)
- root_region (RK_ROOT)
- function_region (RK_FUNCTION)
- label_region (RK_LABEL)
- symbolic_region (RK_SYMBOLIC)
- decl_region (RK_DECL),
- field_region (RK_FIELD)
- element_region (RK_ELEMENT)
- offset_region (RK_OFFSET)
- sized_region (RK_SIZED)
- cast_region (RK_CAST)
- heap_allocated_region (RK_HEAP_ALLOCATED)
- alloca_region (RK_ALLOCA)
- string_region (RK_STRING)
- bit_range_region (RK_BIT_RANGE)
- var_arg_region (RK_VAR_ARG)
- unknown_region (RK_UNKNOWN). */
+ frame_region (RK_FRAME): a function frame on the stack
+ globals_region (RK_GLOBALS): holds globals variables (data and bss)
+ code_region (RK_CODE): represents the code segment, containing functions
+ stack_region (RK_STACK): a stack, containing all stack frames
+ heap_region (RK_HEAP): the heap, containing heap_allocated_regions
+ root_region (RK_ROOT): the top-level region
+ function_region (RK_FUNCTION): the code for a particular function
+ label_region (RK_LABEL): a particular label within a function
+ symbolic_region (RK_SYMBOLIC): dereferencing a symbolic pointer
+ decl_region (RK_DECL): the memory occupied by a particular global, local,
+ or SSA name
+ field_region (RK_FIELD): the memory occupied by a field within a struct
+ or union
+ element_region (RK_ELEMENT): an element within an array
+ offset_region (RK_OFFSET): a byte-offset within another region, for
+ handling pointer arithmetic as a region
+ sized_region (RK_SIZED): a subregion of symbolic size (in bytes)
+ within its parent
+ cast_region (RK_CAST): a region that views another region using a
+ different type
+ heap_allocated_region (RK_HEAP_ALLOCATED): an untyped region dynamically
+ allocated on the heap via
+ "malloc" or similar
+ alloca_region (RK_ALLOCA): an untyped region dynamically allocated on the
+ stack via "alloca"
+ string_region (RK_STRING): a region for a STRING_CST
+ bit_range_region (RK_BIT_RANGE): a region for a specific range of bits
+ within another region
+ var_arg_region (RK_VAR_ARG): a region for the N-th vararg within a
+ frame_region for a variadic call
+ unknown_region (RK_UNKNOWN): for handling unimplemented tree codes. */
/* Abstract base class for representing ways of accessing chunks of memory.