Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

ifc

meteo
Beginner
1,005 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
1,005 Views
Which debugger are you using? idb should understand this.

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

0 Kudos
Steven_L_Intel1
Employee
1,005 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
1,005 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