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

--- Comment #33 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Senthil Kumar Selvaraj
<saaa...@gcc.gnu.org>:

https://gcc.gnu.org/g:58e1bc2b1c8420773b16452d47932a6ca0d003fb

commit r14-1933-g58e1bc2b1c8420773b16452d47932a6ca0d003fb
Author: Senthil Kumar Selvaraj <saaa...@gcc.gnu.org>
Date:   Mon Jun 19 12:23:25 2023 +0530

    avr: Fix wrong array bounds warning on SFR access

    The warning was raised on accessing SFRs at addresses below the default
    page size, as gcc considers accessing addresses in the first page of
    memory as suspicious. This doesn't apply to an embedded target like the
    avr, where both flash and RAM have zero as a valid address. Zero is also
    a valid address in named address spaces (__memx, flash<n> etc..).

    This commit implements TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID for the avr
    target and reports to gcc that zero is a valid address on all
    address spaces. It also disables flag_delete_null_pointer_checks
    based on the target hook, and modifies target-supports.exp to add avr
    to the list of targets that always keep null pointer checks. This fixes
    a bunch of DejaGNU failures that occur otherwise.

            PR target/105523

    gcc/ChangeLog:

            * common/config/avr/avr-common.cc: Remove setting
            of OPT_fdelete_null_pointer_checks.
            * config/avr/avr.cc (avr_option_override): Clear
            flag_delete_null_pointer_checks if zero_address_valid.
            (avr_addr_space_zero_address_valid): New function.
            (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Provide target
            hook.

    gcc/testsuite/ChangeLog:

            * lib/target-supports.exp
            (check_effective_target_keeps_null_pointer_checks): Add
            avr.
            * gcc.target/avr/pr105523.c: New test.

Reply via email to