On Thu, Dec 27, 2018 at 11:24:07AM +0000, Sudakshina Das wrote: > > PR fortran/45513 > > PR fortran/81509 > > * gfortran.dg/graphite/id-26.f03: Fix non-conforming use of IAND. > > * gfortran.dg/pr81509_1.f90: New test. > > * gfortran.dg/pr81509_2.f90: New test. > > > This patch has caused the following failures on aarch64-none-linux-gnu: > > FAIL: libgomp.fortran/aligned1.f03 -O0 (test for excess errors) > FAIL: libgomp.fortran/aligned1.f03 -O1 (test for excess errors) > FAIL: libgomp.fortran/aligned1.f03 -O2 (test for excess errors) > FAIL: libgomp.fortran/aligned1.f03 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for > excess errors) > FAIL: libgomp.fortran/aligned1.f03 -O3 -g (test for excess errors) > FAIL: libgomp.fortran/aligned1.f03 -Os (test for excess errors) > > With the failure as: > > Excess errors: > /build/src/gcc/libgomp/testsuite/libgomp.fortran/aligned1.f03:55:14: > Error: Arguments of 'iand' have different kind type parameters at (1) > /build/src/gcc/libgomp/testsuite/libgomp.fortran/aligned1.f03:59:14: > Error: Arguments of 'iand' have different kind type parameters at (1) >
Well, it nice to see that the patch is catching invalid Fortran. Can you test this patch? Index: libgomp/testsuite/libgomp.fortran/aligned1.f03 =================================================================== --- libgomp/testsuite/libgomp.fortran/aligned1.f03 (revision 267418) +++ libgomp/testsuite/libgomp.fortran/aligned1.f03 (working copy) @@ -52,11 +52,11 @@ ! Attempt to create 64-byte aligned allocatable do i = 1, 64 allocate (c(1023 + i)) - if (iand (loc (c(1)), 63) == 0) exit + if (iand (int(loc (c(1)), 8), int(63, 8)) == 0) exit deallocate (c) allocate (b(i)%a(1023 + i)) allocate (c(1023 + i)) - if (iand (loc (c(1)), 63) == 0) exit + if (iand (int(loc (c(1)), 8), int(63, 8)) == 0) exit deallocate (c) end do if (allocated (c)) then -- Steve 20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4 20161221 https://www.youtube.com/watch?v=IbCHE-hONow