On Tue, Jan 11, 2022 at 02:27:50PM +0530, Siddhesh Poyarekar wrote:
> Allow returning dynamic expressions from ADDR_EXPR for
> __builtin_dynamic_object_size and also allow offsets to be dynamic.
> 
> gcc/ChangeLog:
> 
>       * tree-object-size.c (size_valid_p): New function.
>       (size_for_offset): Remove OFFSET constness assertion.
>       (addr_object_size): Build dynamic expressions for object
>       sizes and use size_valid_p to decide if it is valid for the
>       given OBJECT_SIZE_TYPE.
>       (compute_builtin_object_size): Allow dynamic offsets when
>       computing size at O0.
>       (call_object_size): Call size_valid_p.
>       (plus_stmt_object_size): Allow non-constant offset and use
>       size_valid_p to decide if it is valid for the given
>       OBJECT_SIZE_TYPE.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests.
>       * gcc.dg/builtin-object-size-1.c (test1)
>       [__builtin_object_size]: Adjust expected output for dynamic
>       object sizes.
>       * gcc.dg/builtin-object-size-2.c (test1)
>       [__builtin_object_size]: Likewise.
>       * gcc.dg/builtin-object-size-3.c (test1)
>       [__builtin_object_size]: Likewise.
>       * gcc.dg/builtin-object-size-4.c (test1)
>       [__builtin_object_size]: Likewise.

> +/* Return true if VAL is represents a valid size for OBJECT_SIZE_TYPE.  */

s/is / as in the other patch.

Otherwise LGTM.

        Jakub

Reply via email to