]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.fortran / appendix-a / a.28.4.f90
diff --git a/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90 b/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90
new file mode 100644 (file)
index 0000000..c5a5cd7
--- /dev/null
@@ -0,0 +1,24 @@
+! { dg-do run }
+
+       PROGRAM A28_4
+         INTEGER I, J
+         INTEGER A(100), B(100)
+         EQUIVALENCE (A(51), B(1))
+!$OMP PARALLEL DO DEFAULT(PRIVATE) PRIVATE(I,J) LASTPRIVATE(A)
+           DO I=1,100
+               DO J=1,100
+                 B(J) = J - 1
+               ENDDO
+               DO J=1,100
+                 A(J) = J    ! B becomes undefined at this point
+               ENDDO
+               DO J=1,50
+                 B(J) = B(J) + 1 ! B is undefined
+                            ! A becomes undefined at this point
+               ENDDO
+           ENDDO
+!$OMP END PARALLEL DO          ! The LASTPRIVATE write for A has
+                               ! undefined results
+        PRINT *, B  ! B is undefined since the LASTPRIVATE
+                    ! write of A was not defined
+        END PROGRAM A28_4