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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
! ICE with gfortran 4.5 at -O1:
!gfcbug98.f90: In function ‘convert_cof’:
!gfcbug98.f90:36:0: internal compiler error: in pt_solutions_same_restrict_base,
!at tree-ssa-structalias.c:5072
module foo
implicit none
type t_time
integer :: secs = 0
end type t_time
contains
elemental function time_cyyyymmddhh (cyyyymmddhh) result (time)
type (t_time) :: time
character(len=10),intent(in) :: cyyyymmddhh
end function time_cyyyymmddhh
function nf90_open(path, mode, ncid)
character(len = *), intent(in) :: path
integer, intent(in) :: mode
integer, intent(out) :: ncid
integer :: nf90_open
end function nf90_open
end module foo
!==============================================================================
module gfcbug98
use foo
implicit none
type t_fileinfo
character(len=10) :: atime = ' '
end type t_fileinfo
type t_body
real :: bg(10)
end type t_body
contains
subroutine convert_cof (ifile)
character(len=*) ,intent(in) :: ifile
character(len=5) :: version
type(t_fileinfo) :: gattr
type(t_time) :: atime
type(t_body),allocatable :: tmp_dat(:)
real ,allocatable :: BDA(:, :, :)
call open_input
call convert_data
contains
subroutine open_input
integer :: i,j
version = ''
j = nf90_open(ifile, 1, i)
end subroutine open_input
!--------------------------------------------------------------------------
subroutine convert_data
BDA(1,:,1) = tmp_dat(1)% bg(:)
atime = time_cyyyymmddhh (gattr% atime)
end subroutine convert_data
end subroutine convert_cof
end module gfcbug98
|