https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70090

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Siddhesh Poyarekar
<siddh...@gcc.gnu.org>:

https://gcc.gnu.org/g:06bc1b0c539e3a60692d7432d15e701c38610f80

commit r12-6482-g06bc1b0c539e3a60692d7432d15e701c38610f80
Author: Siddhesh Poyarekar <siddh...@gotplt.org>
Date:   Tue Jan 11 08:08:27 2022 +0530

    tree-object-size: Dynamic sizes for ADDR_EXPR

    Allow returning dynamic expressions from ADDR_EXPR for
    __builtin_dynamic_object_size and also allow offsets to be dynamic.

    gcc/ChangeLog:

            PR middle-end/70090
            * 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:

            PR middle-end/70090
            * 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.

    Signed-off-by: Siddhesh Poyarekar <siddh...@gotplt.org>

Reply via email to