Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

What is IMPLICIT UNDEFINED?

avinashs
New Contributor I
170 Views

I am reviewing some legacy Fortran code implementing a numerical algorithm and it contains the statement IMPLICIT UNDEFINED (A-H,O-Z). I have never come across such a statement before. Is it the same as IMPLICIT NONE? It should be fairly easy to comment out or replace.

0 Kudos
1 Solution
mecej4
Black Belt
170 Views

It is an old Sun Fortran extension. You can replace it by IMPLICIT NONE and move on.

View solution in original post

6 Replies
mecej4
Black Belt
171 Views

It is an old Sun Fortran extension. You can replace it by IMPLICIT NONE and move on.

View solution in original post

FortranFan
Honored Contributor II
170 Views
GVautier
New Contributor II
170 Views

Take care that

IMPLICIT UNDEFINED (A-H,O-Z)

will leave I-N implicitly defined

IMPLICIT NONE

will undefine all variables.

For me, if it is legal :

IMPLICIT NONE

IMPLICIT INTEGER (I-N)

will only be equivalent to

IMPLICIT UNDEFINED (A-H,O-Z)

Steve_Lionel
Black Belt Retired Employee
170 Views

It is legal to have multiple IMPLICIT statements as long as there is only one IMPLICIT NONE.

JAlexiou
New Contributor I
170 Views

The two statements are not equivalent. One defines I,J,K,L,M and N as INTEGER while the other doesn't.

mecej4 wrote:

It is an old Sun Fortran extension. You can replace it by IMPLICIT NONE and move on.

GVautier
New Contributor II
170 Views

Hi

I presumed that if the IMPLICIT UNDEFINED (A-H,O-Z) statement was used in this code it was because the compiler used to compile it always define implicit types (A-H,O-Z) as real and (I-N) as integer as old compilers used to. So the aim of this statement was to keep integer variables defined.

Otherwise, the IMPLICIT NONE statement would have been used.

Reply