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

Reply via email to