public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/98307] New: use "allocatable" instead of "pointer" (forall_3.f90)
@ 2020-12-16  3:29 xiao.liu@compiler-dev.com
  2020-12-16 20:32 ` [Bug fortran/98307] " anlauf at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: xiao.liu@compiler-dev.com @ 2020-12-16  3:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98307

            Bug ID: 98307
           Summary: use "allocatable" instead of "pointer" (forall_3.f90)
           Product: gcc
           Version: 10.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xiao.liu@compiler-dev.com
  Target Milestone: ---

in the test case "gfortran.fortran-torture/execute/forall_3.f90", if replace
"pointer" with "allocatable", the result will be different.

program evil_forall
  implicit none
  type t
    logical valid
    integer :: s
    !integer, dimension(:), pointer :: p
    integer, dimension(:), allocatable :: p
  end type
  type (t), dimension (5) :: v
  integer i

  allocate (v(1)%p(2))
  allocate (v(2)%p(8))
  !v(3)%p => NULL()
  allocate (v(4)%p(8))
  allocate (v(5)%p(2))

  v(:)%valid = (/.true., .true., .false., .true., .true./)
  v(:)%s = (/1, 8, 999, 6, 2/)
  v(1)%p(:) = (/9, 10/)
  v(2)%p(:) = (/1, 2, 3, 4, 5, 6, 7, 8/)
  v(4)%p(:) = (/13, 14, 15, 16, 17, 18, 19, 20/)
  v(5)%p(:) = (/11, 12/)


  forall (i=1:5,v(i)%valid)
    v(i)%p(1:v(i)%s) = v(6-i)%p(1:v(i)%s)
  end forall

  if (any(v(1)%p(:) .ne. (/11, 10/))) STOP 1
  if (any(v(2)%p(:) .ne. (/13, 14, 15, 16, 17, 18, 19, 20/))) STOP 2
  if (any(v(4)%p(:) .ne. (/1, 2, 3, 4, 5, 6, 19, 20/))) STOP 3
  if (any(v(5)%p(:) .ne. (/9, 10/))) STOP 4

  ! I should really free the memory I've allocated.
end program

the result is "STOP 3"

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-12-23 20:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-16  3:29 [Bug fortran/98307] New: use "allocatable" instead of "pointer" (forall_3.f90) xiao.liu@compiler-dev.com
2020-12-16 20:32 ` [Bug fortran/98307] " anlauf at gcc dot gnu.org
2020-12-16 20:46 ` [Bug fortran/98307] Dependency check fails when using " anlauf at gcc dot gnu.org
2020-12-16 21:13 ` anlauf at gcc dot gnu.org
2020-12-17  9:32 ` cvs-commit at gcc dot gnu.org
2020-12-19 20:22 ` cvs-commit at gcc dot gnu.org
2020-12-23 19:54 ` cvs-commit at gcc dot gnu.org
2020-12-23 20:14 ` cvs-commit at gcc dot gnu.org
2020-12-23 20:17 ` anlauf at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).