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

Unexpected Submodule Behavior

Blane_J_
新規コントリビューター I
1,092件の閲覧回数

Someone please look into the case. These USE statements in MODULE scope (Tip 1) were correctly compiled but those in SUBMODULE scope(Tip 2) were not. The error for those in SUBMODULE scope is:

error #6580: Name in only-list does not exist or is not accessible.   [FUNC]

Compiler version: 2018 initial.

BTW, only one scope of USE statements were used when testing. Appreciate any replies.

0 件の賞賛
6 返答(返信)
Andrew_Smith
高評価コントリビューター I
1,092件の閲覧回数

Looks like a bug

Johannes_Rieke
新規コントリビューター III
1,092件の閲覧回数

Is this legal to have multiple definitions in the use.... only statement?

module test
    use test1, only: func   ! <---1
    use test2, only: func   ! <---1
    use test3, only: func   ! <---1
    use test4, only: func   ! <---1
    implicit none
    
    interface
        module subroutine sub()
        end subroutine sub
    end interface

end module test

and the same for the submodule

submodule(test) testsubmodule
    use test1, only: func   ! <---2
    use test2, only: func   ! <---2
    use test3, only: func   ! <---2
    use test4, only: func   ! <---2
    implicit none
    
    contains
    
    module procedure sub
    end procedure sub
    
end submodule testsubmodule

PSXE 18 update one delivers the same error:

Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on Intel(R
) 64, Version 18.0.1.156 Build 20171018
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

test.f90(102): error #6580: Name in only-list does not exist or is not accessibl
e.   [FUNC]
    use test1, only: func   ! <---2
---------------------^
compilation aborted for test.f90 (code 1)

If you comment out the multiple definition of 'use... only: func' in the submodule, there is no error. The multiple definition in the module seems be be accepted.

 

Steve_Lionel
名誉コントリビューター III
1,092件の閲覧回数

This is a known bug in that version (also 18.0.1). I would have expected 18.0.2 to be out by now, not sure what the delay is.

Johannes_Rieke
新規コントリビューター III
1,092件の閲覧回数

Hi Steve, do you refer to the submodule bug introduced with 18.0.1 (e.g. https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/755658) or is this a different issue?

ps: got it, func is generic, defined with different integer kinds in each module. Never saw it distributed over different modules. Nice feature.

Steve_Lionel
名誉コントリビューター III
1,092件の閲覧回数

All I know is that the symptom is similar to what has been reported before. Someone from Intel will want to check on it.

Blane_J_
新規コントリビューター I
1,092件の閲覧回数

Thanks Johannes, Steve. Hope it will be fixed in 18.0.2.

返信