Variables in read statement io-list - intellisense not working

Variables in read statement io-list - intellisense not working

Intel(R) Visual Fortran     Package ID: w_fcompxe_2013.4.190
Intel(R) Visual Fortran Composer XE 2013 Update 4 Integration for Microsoft Visual Studio* 2010, 13.0.3624.2010

Apologies if this has already been raised but could not see anything from a quick scan of the first few pages.

Recent versions now have implemented intellisense features such as 'go to definition' and 'find all references' in the text editior.  Very handy.

But I am seeing one anomaly.  The intellisense does not appear to recognise variables in a read statement io-list as variables; eg.

  • Normally hover mouse over a variable the variable definition is displayed (or rather partly display the definition - would be nice if for example it showed the declared length of character variables) 
  • However, if the variable is in the io-list of a read statement this does not occur (yet does when in the io-list of a write statement!)
  • If right click on the variable in the io-list of a read statement it brings up all the standard options, but 'go to definition' does not work
  • 'find all references' does - partly.  It locates all references except those in read statement io-lists

I assume this is not intended behaviour? 

Any fix in site?

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I can reproduce this - other than the character length which does work for me. I will report it to the developers.

Steve - Intel Developer Support

The following do work:

WRITE (unit,fmt)
PRINT fmt
READ fmt

the following don't work:

READ (unit, fmt)
ACCEPT fmt

Escalated as issue DPD200249465

Steve - Intel Developer Support

Thanks for quick response Steve

Following up on the 'character' issue.

As per the attached image, intellisense does not display the length of character variables on my system. 

Is there some option I have to turn on to get this to work?

Attachments: 

The issue with READ is fixed for a future update. David, this image doesn't tell me very much. I don't know what the declaration of the variable is nor which version you're using.

Steve - Intel Developer Support

Version given in my first post; ie.

Intel(R) Visual Fortran     Package ID: w_fcompxe_2013.4.190
Intel(R) Visual Fortran Composer XE 2013 Update 4 Integration for Microsoft Visual Studio* 2010, 13.0.3624.2010
VS has SP1 (& SP1 updates!) applied

OS is Vista.  Also I have a new PC in the process of 'commissioning' running Windows 8.1 (same compiler version).  Get the same behaviour.

======
Yes, I realised later I had forgotten to give the declaration. 

Declaration for 'gline' is:

character(300) gline

Would be good if the intellisense displayed this as 'CHARACTER(30) :: gline' rather than just 'CHARACTER :: gline'

======
A similar behaviour occurs for other types of variables; eg. have a variable 'car' declared as

real(dp) car
, where dp is declared in a module as

 

   integer, parameter :: dp = selected_real_kind(14) 

Intellisense displays car as 'REAL :: car'   ['REAL(dp) :: car' would be better :)]

======
I just found another set of cases where intellisense does not work; eg. in my example above (

real(dp) car
), intellisense does not work for variable 'dp'. 

eg. hover mouse above 'dp' displays nothing, go to definition does nothing, find all references finds only the declaration of 'dp' in the module - not the multiple other uses of 'dp' for variable declarations throughout the program.

Similar applies for integer; eg. does not work for variable 'i2b' in

integer(i2b) OB
.

I have not investigated all the permutations on this case

Leave a Comment

Please sign in to add a comment. Not a member? Join today