Lines Matching defs:annotations

19 The ``-fbounds-safety`` extension offers bounds annotations that programmers can
35 programmer's annotation burden by reconciling bounds annotations at ABI
37 carry bounds information on local variables without the need for annotations. We
56 requires inclusion of a header file macro-defining bounds annotations to
101 `Maintaining correctness of bounds annotations`_ provides more details about
120 information internally and eliminates the need for explicit bounds annotations.
130 annotations. Please note that this approach doesn't apply to function parameters
135 annotations`_). Pointers associated with any other variables, including function
140 By implementing default bounds annotations based on ABI visibility, a
144 The rest of the section will discuss individual bounds annotations and the
147 Bounds annotations
187 External bounds annotations
190 "External" bounds annotations provide a way to express a relationship between a
207 External bounds annotations include ``__counted_by``, ``__sized_by``, and
208 ``__ended_by``. These annotations do not change the pointer representation,
233 compile-time error. Also, the model maintains correctness of bounds annotations
236 run-time checks (see `Maintaining correctness of bounds annotations`_
256 annotations will require an extra null check to avoid a null pointer
259 Internal bounds annotations
284 ``-fbounds-safety`` has a set of "internal" bounds annotations to turn pointers
286 pointer has either of these annotations, the compiler changes the pointer to the
287 corresponding wide pointer. This means these annotations will break the ABI and
322 annotations in this model, as ``__bidi_indexable`` pointers can be used for
324 memory cost out of the available pointer annotations in this model. In some
327 external bounds annotations may be a better choice.
393 ABI visibility and default annotations
396 Requiring ``-fbounds-safety`` adopters to add bounds annotations to all pointers
399 annotations to pointer types.
400 Default annotations apply to pointer types of declarations
402 ``-fbounds-safety`` applies default bounds annotations to pointer types used in
403 declarations. The default annotations are determined by the ABI visibility of
432 The same applies to other annotations.
455 ABI implications of default bounds annotations
537 .. TODO: add a section describing constraints on external bounds annotations
622 Pointer casts can have explicit bounds annotations. For instance, ``(int
632 bounds annotations.
637 Pointer types in ``typedef``\s do not have implicit default bounds annotations.
653 Pointer types in a ``typedef`` can still have explicit annotations, e.g.,
735 Maintaining correctness of bounds annotations
738 ``-fbounds-safety`` maintains correctness of bounds annotations by performing
830 Two pointers that have different bounds annotations on their nested pointer
833 *__single``. Such a conversion between incompatible nested bounds annotations
948 (``ptrcheck.h``) that macro-defines the annotations as type attributes when
952 macros to define the annotations to empty. For example, the toolchain not
961 // ... other bounds annotations
963 // ... other bounds annotations
970 Other potential applications of bounds annotations
973 The bounds annotations provided by the ``-fbounds-safety`` programming model
977 The bounds annotations could be used to improve C interoperability with
979 safe language interface. The bounds annotations can also serve as documentation