where20.f90

来自「用于进行gcc测试」· F90 代码 · 共 55 行

F90
55
字号
! Test the dependency checking in simple where. This! did not work and was fixed as part of the patch for! pr24519.!program where_20   integer :: a(4)   integer :: b(3)   integer :: c(3)   integer :: d(3) = (/1, 2, 3/)   equivalence (a(1), b(1)), (a(2), c(1))! This classic case worked before the patch.   a = (/1, 2, 3, 4/)   where (b .gt. 1) a(2:4) = a(1:3)   if (any(a .ne. (/1,2,2,3/))) call abort ()! This is the original manifestation of the problem! and is repeated in where_19.f90.   a = (/1, 2, 3, 4/)   where (b .gt. 1)     c = b   endwhere   if (any(a .ne. (/1,2,2,3/))) call abort ()! Mask to.destination dependency.   a = (/1, 2, 3, 4/)   where (b .gt. 1)     c = d   endwhere   if (any(a .ne. (/1,2,2,3/))) call abort ()! Source to.destination dependency.   a = (/1, 2, 3, 4/)   where (d .gt. 1)     c = b   endwhere   if (any(a .ne. (/1,2,2,3/))) call abort ()! Check the simple where.   a = (/1, 2, 3, 4/)   where (b .gt. 1) c = b   if (any(a .ne. (/1,2,2,3/))) call abort ()! This was OK before the patch.   a = (/1, 2, 3, 4/)   where (b .gt. 1)     where (d .gt. 1)       c = b     end where   endwhere   if (any(a .ne. (/1,2,2,3/))) call abort ()end program

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?