Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28440 Discussions

Regression in XE2019 (19.0.117): broken host association in submodule

Mark_Lewy
Valued Contributor I
208 Views

This minimal reproducer used to compile with XE2018U3, but not in the initial XE2019 release; I have submitted a support case (#03656010) to Intel:

module engine_params
    implicit none
    public

    ! Kinds for real and doubles
    integer, parameter :: sp = kind(0.0), dp = kind(0.0d0)
end module
module m_mod
    use engine_params, only: dp

    implicit none
    private
    save

    type, public :: cubic_coeffs
        private
        real(dp) :: c(0: 3)
    end type

    type, public :: m_t
        private
        real(dp) :: var

        ! Cubic equation coefficients
        type(cubic_coeffs), allocatable, dimension(:) ::  eqn
    contains
        procedure, public :: sub
    end type

    interface
        module subroutine sub(this)
            class(m_t), intent(inout) :: this
        end subroutine sub
    end interface
end module
submodule (m_mod) m_submod
    implicit none   ! all variables must be defined
contains
    module subroutine sub(this)
        class(m_t), intent(inout) :: this

        integer :: nincs

        nincs = size(this%eqn) + 1

        call sub_sub
    contains
        subroutine sub_sub
            real(dp) :: cogtable(nincs)
            cogtable = 0

            this%var = cogtable(nincs - 1)
        end subroutine
    end subroutine
end submodule
program xe2019_1
    use m_mod
    implicit none
end program

From VS2015:

1>------ Rebuild All started: Project: XE2019_1, Configuration: Debug Win32 ------
1>Deleting intermediate files and output files for project 'XE2019_1', configuration 'Debug|Win32'.
1>Compiling with Intel(R) Visual Fortran Compiler 19.0.0.117 [IA-32]...
1>engine_params.f90
1>m_mod.f90
1>m_submod.f90
1>D:\Source\VS Projects\XE2019_1\XE2019_1\m_submod.f90(14): error #6683: A kind type parameter must be a compile-time constant.   [DP]
1>compilation aborted for D:\Source\VS Projects\XE2019_1\XE2019_1\m_submod.f90 (code 1)
1>xe2019_1.f90
1>
1>Build log written to  "file://D:\Source\VS%20Projects\XE2019_1\XE2019_1\Debug\BuildLog.htm"
1>XE2019_1 - 2 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
0 Kudos
0 Replies
Reply