http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59678
Bug ID: 59678
Summary: Segmentation fault on equalizing variables of a
complex derived data type
Product: gcc
Version: 4.8.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: talebi.hossein at gmail dot com
Hi,
Unfortunetely I could not repeat this with a simpler test example. So this code
below runs fine with Intel compiler but fails with Gfortan. The is the main
file can be replaced in my code from here:
http://sourceforge.net/p/permix/git_pub/ci/master/tree/
The minimalitsic serial version can be compiled with 'make minimal_serial'.
program permix
use permix_cmd_handling_mod
use prx_class, only: ty_prx
implicit none
! ty_prx is a complex derived data type
type(ty_prx) :: prx, prx2
! initializing prx
Call prx_init(prx,0,'mylog')
! running a simulation with giving an input
call prx%input%job('../verif/Test1/linearelastic_nonsolver.prx ')
! prininting a part of the data
print *,prx%parts%parts_fem(1)%OBJ%femmesh%X
prx2=prx ! ERROR: Segmentation fault occurs here
end program permix
Here is the definition of ty_prx:
type :: ty_prx
character(200) :: title
logical :: isInit=.false.
integer :: revision=1183
type(ty_input) :: input
type(ty_part) :: parts
type(ty_interaction) :: interactions
type(ty_define) :: define
type(ty_analysis) :: analysis
type(ty_modify) :: modify
type(ty_initial_condition) :: initial_conditions
type(ty_solver) :: solver
type(ty_output) :: output
type(ty_tools) :: tools
type(ty_restart) :: restart
type(ty_timer) :: timer
type(ty_universe) :: universe
type(ty_error) :: error
type(ty_prx_pointers) :: pointers
contains
!procedure :: init => prx_init
procedure :: finalize => prx_finalize !
end type ty_prx