With current compiler version 16.0, update 1 and the integration with Visual Studio IDE, the members drop-down list appears blank with source files that make use of SUBMODULEs. I don't know if if this is just an issue with my installation: I've noticed this since last summer during the beta trial period and I've been remiss in not reporting it sooner, if it's a common problem.
I think almost any source file with SUBMODULEs will show this problem. But if that's not the case and an example is needed, here's one:
submodule(m) sm contains module subroutine set_t(this, iarr) class(t), intent(inout) :: this integer, intent(in) :: iarr(:) this%m_i = iarr return end subroutine set_t module function get_t(this) result(msg) class(t), intent(in) :: this !.. function result character(len=size(this%m_i)) :: msg integer :: i forall (i=1:size(this%m_i)) msg(i:i) = achar(this%m_i(i)) return end function get_t end submodule sm
I can confirm the observation of FortranFan at VS2015 SP1 and PSXE2016 update 1.
Also I have seen, that 'goto definition' is available but not working in conjunction with submodules. It would be fine if this will work in future updates.
I've seen just this minute that 16 update 2 is available. I will see, if this fixes it and report here later.
16.0.2 does not change the behavior. The members drop-down list is still blank and 'goto definition' doesn't work either in case of submodules.
By the way, after installing 16.0.2 I had to change manually the VS options to use Intel Compiler 16.0.2. 'Latest' points still to 16.0.0. Integration into VS2015 seems to be OK:
Intel® Parallel Studio XE 2016 Update 2 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2015, Version 16.0.0061.14, Copyright © 2002-2016 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
Dear Intel developer team,
working more and more with submodules and the malfunction or lack of useful VS integrations like 'Go To Definition' or the above mentioned drop-down list or the variable definition information by hoover over (works only for locally defined variables in the variable definition line, strange, not working for public ones included by modules) is annoying. Unfortunately PSXE 2017 has not shown an improvement. In another thread the wish for feature 'Go To Declaration' was expressed in conjunction with submodules.
It would be really helpful to have all these things and I think the mentioned features would for many users lower the barrier to use submodules.
Hopefully these feature will come within PSXE 2017 updates. I don't give up hope. Best regards, Johannes
Also, linked I guess is this item from another thread :
.....DPD200375967 which is about source folds not working with "module function" and "module subroutine" which means folds are not present with a large proportion of my code now .
Andrew Smith wrote:
I second that. I have justified upgrading because of speedier compile times using submodules but it is affecting my productivity not having any functional source browsing.
Onother issue I see when debugging into the submodule implementers is that the current line pointer always starts 2 lines above the actual entry point. Is this a related issue ?
Yes I see that as debug thing well. My work around for source browsing is to click on an item in the code and then <ctrl><shift>F to find all ocurrences in the project and then click on the hit in the search window to jump to that definition.
Any news on the status of DPD200414315? PSXE 2017 update 1 solves it not for VS2015 update 3, unfortunately
It works fine for me in VS2013 and also the subroutine/function collapse/expend (folds) work now with update 1 as well which is awesome! Thanks Intel Team :-)
Hi, VS2015 (up 3) and drop-down lists as well 'Go To Definition' is still defect with PSXE2017 update 4 (DPD200414315) and submodules. Please fix this soon. The 'new' tree view/ class view is not a real alternative but nevertheless a nice feature.