Nested constructor calls with pointer results

Nested constructor calls with pointer results

The following program does not compile with ifort 13.0.1 20121010 due to internal compiler error:

module nest_cons

  type :: a
  end type a

  type :: b
  end type b

  interface a
     module procedure :: a_new
  end interface a

  interface b
     module procedure :: b_new
  end interface b

contains

  function a_new()
    type(a), pointer :: a_new
    allocate(a_new)
    print *, "a_new()"
  end function a_new

  function b_new(a_old)
    class(a), target :: a_old
    type(b), pointer :: b_new
    allocate(b_new)
    print *, "b_new()"
  end function b_new

end module nest_cons

program nest_cons_prog

  use nest_cons

  class(b), pointer :: bb

  bb => b(a())

end program nest_cons_prog

Best regards,
Paweł Biernat.

3 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Thanks for the interesting example. I can reproduce the problem and have escalated this as issue DPD200238281. I will update this thread with any news.

Steve - Intel Developer Support

It turns out that this problem (in a different guise) was previously reported and has already been fixed. The issue ID is DPD200236395 and the fix should appear in update 2.

Steve - Intel Developer Support

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!