Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
27663 Discussions

Compiler Bug: parameterized derived type - omitted field in initialization



I am facing a compiler error when trying to initialize a parameterized derived type omitting a component with default value.

This only happens when the derived type is accessed by host association, and also in a default initialization in the declaration statement.


module pdt
  implicit none

  type :: host_pdt(n)
    integer, len :: n
    integer :: x = 99
  end type

program test
  use :: pdt
  implicit none

  type :: prog_pdt(n)
    integer, len :: n
    integer :: x = 99
  end type

  type(prog_pdt(5)) :: p = prog_pdt(5)()  ! it works with locally declared type
  type(host_pdt(5)) :: h1 = host_pdt(5)()  ! error #8212: Omitted field is not initialized. Field initialization missing:   
  type(host_pdt(5)) :: h2
  h2 = host_pdt(5)()  ! this works, though

My compiler version is Intel Compiler 18.0 x64 on windows 10, and I am not using any compiler option.

0 Kudos
0 Replies