On 1/2/26 9:15 AM, Thomas Koenig wrote:
Hi Jerry,
I committed this and of course I get this a bit too late. One of the tests
that fail is this one:
! { dg-do run }
SUBROUTINE SUB()
COMMON /BLOCK/ X
PRINT *,X ! X is undefined
END SUBROUTINE SUB
PROGRAM A28_1
COMMON /BLOCK/ X
X = 1.0
!$OMP PARALLEL PRIVATE (X)
X = 2.0
CALL SUB()
!$OMP END PARALLEL
END PROGRAM A28_1
I am not a gomp master. I want to think calling a procedure like this should
be invalid because more than one thread is trying to write to the same unit.
However, I am probably wrong. I need some advice.
I do not think you are wrong, IMHO the code is invalid as it stands.
I/O to the same unit should be serialized by the user program.
(But I have to confess that I am confused by the comment).
Best regards
Thomas
I am tempted to revert it. However, I will wait for more feedback.
Thanks Thomas.
Jerry