ifc

ifc

Bild des Benutzers meteo

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

5 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Steve Lionel (Intel)

Which debugger are you using? idb should understand this.

Steve

Steve
Bild des Benutzers meteo

Intel's debugger, idb.
You've not experienced this problem with your
character strings?

Bild des Benutzers Steve Lionel (Intel)

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

Steve
Bild des Benutzers Martyn Corden (Intel)

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

Melden Sie sich an, um einen Kommentar zu hinterlassen.