--- /dev/null
+! { dg-do compile }
+
+ SUBROUTINE SUB1(X)
+ DIMENSION X(10)
+ ! This use of X does not conform to the
+ ! specification. It would be legal Fortran 90,
+ ! but the OpenMP private directive allows the
+ ! compiler to break the sequence association that
+ ! A had with the rest of the common block.
+ FORALL (I = 1:10) X(I) = I
+ END SUBROUTINE SUB1
+ PROGRAM A28_5
+ COMMON /BLOCK5/ A
+ DIMENSION B(10)
+ EQUIVALENCE (A,B(1))
+ ! the common block has to be at least 10 words
+ A=0
+!$OMP PARALLEL PRIVATE(/BLOCK5/)
+ ! Without the private clause,
+ ! we would be passing a member of a sequence
+ ! that is at least ten elements long.
+ ! With the private clause, A may no longer be
+ ! sequence-associated.
+ CALL SUB1(A)
+!$OMP MASTER
+ PRINT *, A
+!$OMP END MASTER
+!$OMP END PARALLEL
+ END PROGRAM A28_5