Fix 'char' initialization, copy, check in 'libgomp.oacc-fortran/acc-memcpy.f90'

Our dear friend '-Wuninitialized' reported:

    [...]/libgomp.oacc-fortran/acc-memcpy.f90:18:27:

       18 |     char(j) = int (j, int8)
          |                           ^
    Warning: ‘j’ may be used uninitialized [-Wmaybe-uninitialized]
    [...]/libgomp.oacc-fortran/acc-memcpy.f90:14:20:

       14 |   integer(int8) :: j
          |                    ^
    note: ‘j’ was declared here

..., but actually there were other issues.

	libgomp/
	* testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char'
	initialization, copy, check.
This commit is contained in:
Thomas Schwinge 2024-03-06 23:18:08 +01:00
parent 9349aefa1d
commit 25242ed8eb

View file

@ -11,15 +11,14 @@ program main
integer(int8), allocatable :: char(:)
type(c_ptr) :: dptr
integer(c_intptr_t) :: i
integer(int8) :: j
allocate(char(-128:127))
do i = -128, 127
char(j) = int (j, int8)
char(i) = int (i, int8)
end do
dptr = acc_malloc (256_c_size_t)
call acc_memcpy_to_device (dptr, char, 255_c_size_t)
call acc_memcpy_to_device (dptr, char, 256_c_size_t)
do i = 0, 255
if (acc_is_present (transfer (transfer(char, i) + i, dptr), 1)) &
@ -31,8 +30,7 @@ program main
call acc_memcpy_from_device (char, dptr, 256_c_size_t)
do i = -128, 127
char(i) = int (j, int8)
if (char(i) /= j) &
if (char(i) /= i) &
stop 2
end do