https://gcc.gnu.org/g:e9ee0bf52c700c68fe94f0906e0909b257907415
commit e9ee0bf52c700c68fe94f0906e0909b257907415 Author: Thomas Schwinge <[email protected]> Date: Thu Jun 11 21:41:10 2026 +0200 GCN: Implement 'TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID' [PR101484] This is the proper fix to replace commit 9f2bc5077debef2b046b6c10d38591ac324ad8b5 "[gcn] Work-around libgomp 'error: array subscript 0 is outside array bounds of ‘__lds struct gomp_thread * __lds[0]’ [-Werror=array-bounds]' [PR101484]", commit 8168338684fc2bed576bb09202c63b3e9e678d92 "[gcn] Work-around libgomp 'error: array subscript 0 is outside array bounds of ‘__lds struct gomp_thread * __lds[0]’ [-Werror=array-bounds]' some more [PR101484]". PR target/101484 gcc/ * config/gcn/gcn.cc (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Implement. libgomp/ * configure.tgt [GCN] (XCFLAGS): Don't add '-Wno-error=array-bounds'. (cherry picked from commit 9e2d90074db033be5544d97f03c7d80e5623af25) Diff: --- gcc/config/gcn/gcn.cc | 10 ++++++++++ libgomp/configure.tgt | 3 --- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 4ba767c6951c..9e7907cfaf35 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -1874,6 +1874,14 @@ gcn_addr_space_subset_p (addr_space_t subset, addr_space_t superset) return false; } +static bool +gcn_addr_space_zero_address_valid (addr_space_t as) +{ + if (as == ADDR_SPACE_LDS) + return true; + return false; +} + static addr_space_t gcn_addr_space_resolve_default (addr_space_t as) { @@ -8085,6 +8093,8 @@ gcn_dwarf_register_span (rtx rtl) #define TARGET_ADDR_SPACE_POINTER_MODE gcn_addr_space_pointer_mode #undef TARGET_ADDR_SPACE_SUBSET_P #define TARGET_ADDR_SPACE_SUBSET_P gcn_addr_space_subset_p +#undef TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID +#define TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID gcn_addr_space_zero_address_valid #undef TARGET_ADDR_SPACE_CONVERT #define TARGET_ADDR_SPACE_CONVERT gcn_addr_space_convert #undef TARGET_ARG_PARTIAL_BYTES diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt index 46af75f978f8..a74e966fdfde 100644 --- a/libgomp/configure.tgt +++ b/libgomp/configure.tgt @@ -181,9 +181,6 @@ case "${target}" in amdgcn*-*-*) config_path="gcn accel" - - #TODO PR101484 - XCFLAGS="$XCFLAGS -Wno-error=array-bounds" ;; *)
