[Bug fortran/92956] New: 'libgomp.fortran/examples-4/async_target-2.f90' offloading compilation regression

tschwinge at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 16 17:12:00 GMT 2019


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.


More information about the Gcc-bugs mailing list