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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tobias Burnus <bur...@gcc.gnu.org>:

https://gcc.gnu.org/g:14c47e7eb06e8b95913794f6059560fc2fa6de91

commit r15-2377-g14c47e7eb06e8b95913794f6059560fc2fa6de91
Author: Tobias Burnus <tbur...@baylibre.com>
Date:   Mon Jul 29 11:40:38 2024 +0200

    libgomp: Fix declare target link with offset array-section mapping
[PR116107]

    Assume that 'int var[100]' is 'omp declare target link(var)'. When now
    mapping an array section with offset such as 'map(to:var[20:10])',
    the device-side link pointer has to store &<device-storage-data>[0] minus
    the offset such that var[20] will access <device-storage-data>[0]. But
    the offset calculation was missed such that the device-side 'var' pointed
    to the first element of the mapped data - and var[20] points beyond at
    some invalid memory.

            PR middle-end/116107

    libgomp/ChangeLog:

            * target.c (gomp_map_vars_internal): Honor array mapping offsets
            with declare-target 'link' variables.
            * testsuite/libgomp.c-c++-common/target-link-2.c: New test.
  • [Bug middle-end/116107] [OpenMP... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to