Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26758 Discussions

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

Mark_Lewy
New Contributor III
55 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