summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/extends_9.f03
blob: f59b97396b3e0b77bc7381e052b0b0965f48b2b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
! { dg-do compile }
!
! PR42257: [OOP] Compiler segmentation fault due missing public statement
!
! Contributed by Oystein Olsen <oystein.olsen@astro.uio.no>

MODULE run_example_fortran03
  IMPLICIT NONE
  PRIVATE
  PUBLIC :: epoch

  INTEGER, PARAMETER :: I4B = SELECTED_INT_KIND(9)
  INTEGER, PARAMETER :: DP = SELECTED_REAL_KIND(15,307)

  TYPE epoch
     INTEGER(I4B) :: i = 2451545
     REAL(DP)     :: f = 0.5_DP
  END TYPE

  TYPE, EXTENDS(epoch) :: time
     REAL(DP) :: t = 0.0_DP   
  END TYPE
END MODULE


  USE  run_example_fortran03
  IMPLICIT NONE

  CLASS(epoch), ALLOCATABLE :: e4

  ALLOCATE(epoch::e4)
  WRITE(*,*) e4%i, e4%f

END
 
! { dg-final { cleanup-modules "run_example_fortran03" } }