| -qlanglvl=77std |
| 90std | 90pure
| 95std | 95pure
| extended
bewirkt die Kennzeichnung aller verwendeten Sprachelemente, die nicht Bestandteil bestimmter Standards sind. 77std: ANSI FORTRAN 77. 95std: ISO/IEC Fortran 95. 95pure: bei veralteten (obsoleten) Sprachelementen (z.B. ASSIGN) wird gewarnt. extended: alle Erweiterungen von IBM werden akzeptiert.
| ||||
| -qintsize=bytes |
Die Länge von Standard-Integer soll bytes sein.
Diese Option kann nützlich sein, wenn das Programm für einen 64-Bit-Rechner,
z.B. CRAY, entwickelt wurde. Erlaubt sind die Zahlen 2,4,8. Zu diesem Thema
gibt es auch die recht komplexe Option -qautodble, bei der auf die
Originalliteratur verwiesen sei. Man kann Probleme dieser Art durch Verwendung
von Typparametern im Fortran-Programm vermeiden.
| ||||
| -qrealsize=bytes |
Die Länge von Standard-Real soll bytes sein. Diese Option kann nützlich sein, wenn das Programm für einen 64-Bit-Rechner, z.B. CRAY, entwickelt wurde. Erlaubt sind die Zahlen 4,8. Zu diesem Thema gibt es auch die recht komplexe Option -qautodble, bei der auf die Originalliteratur verwiesen sei. Man kann Probleme dieser Art durch Verwendung von Typparametern im Fortran-Programm vermeiden.
| ||||
| -qdpc[=e] |
einfach genaue reelle Konstanten werden doppelt genau
Bei der Grundversion ohne =e werden alle reelle Konstanten ohne Exponentenangabe (z.B. 1.0000000001) wie doppelt genau interpretiert, bei Angabe von =e auch Konstanten mit Exponent (z.B. 2.0000000002E0 ). Ohne diese Option ist bei folgender Initialisierung die Ziffer am Ende nicht mit abgespeichert: REAL*8 a DATA a/1.0000000001/ Bei manchen älteren Fortran-77-Compilern tritt hier kein Genauigkeitsverlust auf, natürlich auch nicht bei Cray wegen der größeren Genauigkeit von REAL-Zahlen.
| ||||
| -u |
Keine impliziten Typannahmen
Der Compiler übersetzt so, als würde in allen Geltungsbereichen IMPLICIT NONE stehen. Man muss alle Variablen und Konstantennamen mit einem Datentyp deklarieren. Besser ist natürlich, IMPLICIT NONE in den Programmen wirklich hinzuschreiben.
|