This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/61766] New: [4.9 regression] ICE on trans-array.c
- From: "juergen.reuter at desy dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 10 Jul 2014 00:05:28 +0000
- Subject: [Bug fortran/61766] New: [4.9 regression] ICE on trans-array.c
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61766
Bug ID: 61766
Summary: [4.9 regression] ICE on trans-array.c
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: juergen.reuter at desy dot de
The following code triggers an ICE with 4.9.0 but seems to work with 4.7.X,
4.8.X, and 4.10:
gfortran -c prc_gosam.f90
prc_gosam.f90: In function â__final_prc_gosam_Gosam_writer_tâ:
prc_gosam.f90:62:0: internal compiler error: in gfc_conv_descriptor_data_get,
at fortran/trans-array.c:145
end module prc_gosam
^
prc_gosam.f90:62:0: internal compiler error: Abort trap: 6
gfortran: internal compiler error: Abort trap: 6 (program f951)
The code is (with the standard iso_varying_string.f90):
1 module prclib_interfaces
2 use iso_varying_string, string_t => varying_string !NODEP!
3 implicit none
4 private
5 public :: prc_writer_f_module_t
6
7 type, abstract :: prc_writer_t
8 contains
9 procedure(get_const_string), nopass, deferred :: type_name
10 end type prc_writer_t
11
12 type, extends (prc_writer_t), abstract :: prc_writer_f_module_t
13 end type prc_writer_f_module_t
14
15 abstract interface
16 function get_const_string () result (string)
17 import
18 type(string_t) :: string
19 end function get_const_string
20 end interface
21
22 end module prclib_interfaces
23
24 !!!!!
25
26 module blha_config
27 use iso_varying_string, string_t => varying_string !NODEP!
28 implicit none
29 private
30 public :: blha_configuration_t
31 type :: blha_configuration_t
32 type(string_t), dimension (2) ::
matrix_element_square_type_other
33 end type blha_configuration_t
34 end module blha_config
35
36 !!!!!
37
38 module prc_gosam
39 use iso_varying_string, string_t => varying_string !NODEP!
40 use prclib_interfaces
41 use blha_config
42 implicit none
43 private
44 type, extends (prc_writer_f_module_t) :: gosam_writer_t
45 type(blha_configuration_t) :: blha_cfg
46 contains
47 procedure, nopass :: type_name => gosam_writer_type_name
48 end type gosam_writer_t
49
50 contains
51
52 function gosam_writer_type_name () result (string)
53 type(string_t) :: string
54 string = "gosam"
55 end function gosam_writer_type_name
56
57 function gosam_writer_get_process_string (writer) result (s_proc)
58 class(gosam_writer_t), intent(in) :: writer
59 type(string_t) :: s_proc
60 end function gosam_writer_get_process_string
61
62 end module prc_gosam