http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59678
--- Comment #9 from Hossein Talebi <talebi.hossein at gmail dot com> ---
I looked at it in more details by overloading the automatic assignment (=) with
a self written one and I found the problem. This is a minimalistic example
that the program crashes. Funny thing is that when I put MAX_PART_FEM=2, it
runs but not with any other number. I use ubuntu 13.1, GCC 4.8.1.
module module1
integer,parameter :: MAX_PART_FEM=32
type ty_type3
integer a,b
integer, allocatable :: vec1(:)
end type ty_type3
type ptr_ty_part_fem
type(ty_type3), allocatable :: OBJ
end type ptr_ty_part_fem
type ty_type2
type(ptr_ty_part_fem) :: parts_fem(MAX_PART_FEM)
integer :: a2=1
end type ty_type2
end module module1
program hello
use module1
implicit none
type(ty_type2):: m2, m3
m3=m2
print *,m2%a2
end program