Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29251 Обсуждение

ERRSNS, VMS compatibility

oh_moose
Начинающий
773Просмотр.

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 баллов
5 Ответы
Steven_L_Intel1
Сотрудник
773Просмотр.
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.
oh_moose
Начинающий
773Просмотр.
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.

Steven_L_Intel1
Сотрудник
773Просмотр.
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.
oh_moose
Начинающий
773Просмотр.
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.

Steven_L_Intel1
Сотрудник
773Просмотр.
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.
Ответить