[clang] [Bounds-Safety] Add sized_by, counted_by_or_null & sized_by_or_null (PR #93231)

Dan Liew via cfe-commits cfe-commits at lists.llvm.org
Thu May 23 22:16:41 PDT 2024


================
@@ -425,6 +425,12 @@ Attribute Changes in Clang
        size_t count;
      };
 
+- The attributes ``sized_by``, ``counted_by_or_null`` and ``sized_by_or_null```
+  have been added as variants on ``counted_by``, each with slightly different semantics.
+  ``sized_by`` takes a byte size parameter instead of an element count, allowing pointees
+  with unknown size. The ``counted_by_or_null`` and ``sized_by_or_null`` variants are equivalent
+  to their base variants, except the pointer can be null regardless of count/size value.
----------------
delcypher wrote:

Nit: The description of the behavior of `counted_by` with a `nullptr` is the `-fbound-safety` behavior. I'm not sure if that restriction exists for `counted_by` outside that mode.

https://github.com/llvm/llvm-project/pull/93231


More information about the cfe-commits mailing list