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

Reply via email to