public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/97920] New: [FINAL] -O2  segment fault due to extend derive type's member being partially allocated
@ 2020-11-20  2:08 xin.liu@compiler-dev.com
  2020-11-20  7:35 ` [Bug fortran/97920] " marxin at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: xin.liu@compiler-dev.com @ 2020-11-20  2:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 97920
           Summary: [FINAL] -O2  segment fault due to extend derive type's
                    member being partially allocated
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xin.liu@compiler-dev.com
  Target Milestone: ---

Consider the following Fortran testcase:
module m
  type t1
    real, dimension(:), pointer :: a
  contains
    final :: t1f
  end type

  type, extends(t1) :: t2
    real, dimension(:), pointer :: b
  contains
    final :: t2f
  end type

contains
  subroutine t1f(x)
    type(t1) :: x
    if (associated(x%a)) deallocate(x%a)
  end subroutine

  subroutine t2f(x)
    type(t2) :: x
    if (associated(x%b)) deallocate(x%b)
  end subroutine
end module

subroutine test
  use m
  implicit none
  type(t1) :: a
  type(t2) :: b

  allocate(b%a(3))
!  allocate(b%b(3))
end subroutine

program p
  use m
  call test()
end program

Compiled with gfortran 10.1.0 in -O2, the testcase prints:

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

If add a statement as 'allocate(b%b(3))', it will pass with no segment fault.I
guess this segment fault maybe due to extend derive type's member being
partially allocated.

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

end of thread, other threads:[~2020-12-16  0:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-20  2:08 [Bug fortran/97920] New: [FINAL] -O2 segment fault due to extend derive type's member being partially allocated xin.liu@compiler-dev.com
2020-11-20  7:35 ` [Bug fortran/97920] " marxin at gcc dot gnu.org
2020-12-08 17:05 ` pault at gcc dot gnu.org
2020-12-12 13:58 ` tkoenig at gcc dot gnu.org
2020-12-16  0:27 ` xin.liu@compiler-dev.com
2020-12-16  0:30 ` xin.liu@compiler-dev.com

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).