Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26748 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