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

ifc

meteo
Beginner
957 Views

Hi,
We have ifc7-7.0.64 and we cannot print character strings which are passed to subroutines and have been declared as

CHARACTER*(*) SOMESTRING

in the subroutines.

The debugger seems to interpret this as a zero-length
array when, in fact, it is not. Do we have to resort to
PRINT statements to see the contents of the strings within the subroutines?

TIA,
mgo

0 Kudos
4 Replies
Steven_L_Intel1
Employee
957 Views
Which debugger are you using? idb should understand this.

Steve
0 Kudos
meteo
Beginner
957 Views
Intel's debugger, idb.
You've not experienced this problem with your
character strings?

0 Kudos
Steven_L_Intel1
Employee
957 Views
I don't tend to use Linux, so I'm not familiar with the issues there. I suggest reporting the problem through Premier Support, where someone will get back to you with an informed response.

Steve
0 Kudos
Martyn_C_Intel
Employee
957 Views
Just a thought, you might try using null-terminated strings as in C. E.g.
character(len=12)HELLOWORLD
data_HELLOWORLD/'Hello World'C/

Then when this is passed to a subroutine as CHARACTER*(*), the debugger might be more likely to figure out the string length, which it can't do from the declaration.
Only a speculation, you should follow Steve's advice and report this to Premier Support.
Otherwise, you could try copying the argument, or some limited number of characters, into a local character variable of fixed length.

Martyn
0 Kudos
Reply