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

ERRSNS, VMS compatibility

oh_moose
Beginner
427 Views

Is there an option to make the Intel Fortran version of ERRSNS compatible with the VMS version of ERRSNS? All I get are zeros for the VMS RMS and Fortran status words (not to be confused with the IOSTAT value). I know that $FORIOSDEF was inherited by the Linux version of the compiler from the VMS version (good!), but what I need is the VMS Message-style status word. All my routines return a VMS-style status word and know how to treat them (LIB$SIGNAL, $STS et al.). So it would make perfect sense to have ERRSNS consistent. For example, I am more interested in FOR$_LISIO_SYN instead of FOR$IOS_LISIO_SYN (FOR$_LISIO_SYN is not just a number like FOR$IOS_LISIO_SYN).

Steve, you are right, I am missing a lot of VMS features in Unix (BTW I use Unix since long before the Linux-clone popped up).
 

0 Kudos
5 Replies
Steven_L_Intel1
Employee
427 Views
ERRSNS does return a "system" status. similar to the RMS status, when there is one. There is no VMS-style message status value on Linux. Yet another VMS good idea not taken up by other operating systems.
0 Kudos
oh_moose
Beginner
427 Views
I noticed that there are a few things missing on Linux.smiley [:-)] But I want to know if the Intel Fortran compiler does or could provide this feature for VMS compatibility (I presume the answer is "not yet"). There are a lot of nice VMS features already in the Intel Fortran compiler (because of its history and your work). This would be just another useful one.

0 Kudos
Steven_L_Intel1
Employee
427 Views
No, we're not going to create a message status that does not exist in the platform. We support syntax features from the VMS compilers, but we don't try to pretend that Linux (or Windows) is VMS. The OS is returning a different status than VMS does.
0 Kudos
oh_moose
Beginner
427 Views
Actually I am more interested in the last argument, the Fortran status, not the system/RMS status (I do not expect you to implement RMS). Never mind.

BTW the second word should return the Unix errno value. At least for the end-of-file condition, Intel Fortran for Linux returns a zero for the second argument.

0 Kudos
Steven_L_Intel1
Employee
427 Views
It may be that the last file operation did not result in an end-of-file. I'd have to try some tests to see. Sometimes the Fortran RTL can detect EOF on its own.

If you think there is a bug, please submit a test case to Intel Premier Support.
0 Kudos
Reply