https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95546
--- Comment #5 from Steve Kargl ---
On Fri, Jun 05, 2020 at 03:46:18PM +, jvdelisle at charter dot net wrote:
>
> I am curious, did this just start happening or is it a long time issue just
> reported. Locking mecahnisms were adjusted recently I believe.
>
What locking are you referring to? If it some recent changes
to libgfortran's pthread locking, then I think that has nothing
to do with the problem reported here.
The code eof_4.f90 runs multiple tests. The looks like
open(unit=99, file='test.dat', status='new')
!
! Test 1
!
close(99, status='delete')
open(unit=99, file='test.dat', status='new')
!
! Test 2
!
close(99, status='delete')
open(unit=99, file='test.dat', status='new')
!
! Test 3
!
close(99, status='delete')
The above is actually testing Fortran feature.
HJ Lu reported problems with 'make -jN', which suggests that
eof_4.f90 is being compiled and executed in parallel. That
is subject to races. Dejagnu needs to be told that eof_4.f90
cannot be run in parallel. If it is not possible to defeat
dejagnu, then the test will need to changed to use a unique
file name
character(len=20) name
write(name, '(A,I0,A)') 'tmp', getpid(), '.dat'
open(unit=99, file=name, status='new')
!
! Test 1
!
close(99, status='delete')
The test could also be adjusted to use inquire() and sleep()
(need to check syntax)
1 inquire(file='test.dat', exists=stat)
if (stat == 1) then
call sleep(2)
goto 1
end if