https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92956
Bug ID: 92956 Summary: 'libgomp.fortran/examples-4/async_target-2.f90' offloading compilation regression Product: gcc Version: unknown Status: UNCONFIRMED Keywords: openmp Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: burnus at gcc dot gnu.org, jakub at gcc dot gnu.org, msebor at gcc dot gnu.org Target Milestone: --- The recent PR91582 "missing heap overflow detection for strcpy", PR92868 "ICE: tree check: expected integer_cst, have ssa_name" commit r279392 causes a regression in (all?) OpenMP 'target' offloading compilation testing, for example with 64-bit nvptx: @@ -2537,9 +2537,9 @@ PASS: libgomp.fortran/examples-4/async_target-2.f90 -O1 (test for excess erro PASS: libgomp.fortran/examples-4/async_target-2.f90 -O1 execution test PASS: libgomp.fortran/examples-4/async_target-2.f90 -O2 (test for excess errors) PASS: libgomp.fortran/examples-4/async_target-2.f90 -O2 execution test [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) PASS: libgomp.fortran/examples-4/async_target-2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test [-PASS:-]{+FAIL:+} libgomp.fortran/examples-4/async_target-2.f90 -O3 -g (test for excess errors) PASS: libgomp.fortran/examples-4/async_target-2.f90 -O3 -g execution test PASS: libgomp.fortran/examples-4/async_target-2.f90 -Os (test for excess errors) PASS: libgomp.fortran/examples-4/async_target-2.f90 -Os execution test Note: '-O3' only, and execution testing not affected. [...]/libgomp.fortran/examples-4/async_target-2.f90: In function 'vec_mult_._omp_fn.2': [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here [...]/libgomp.fortran/examples-4/async_target-2.f90: In function 'vec_mult_._omp_fn.2': [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here [...]/libgomp.fortran/examples-4/async_target-2.f90:34: warning: writing 2 bytes into a region of size 1 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow=^G-Wstringop-overflow=8;;^G] lto1: note: at offset 0 to object 'rank' with size 1 declared here Similarly for 32-bit Intel MIC (emulated) offloading. As this cites gfortran internals ("object 'rank'"), tentatively setting "Component: fortran", and CCing Tobias.