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

Placement of SAVE statement within a module

Honari__Siavash
Beginner
1,356 Views

From a past forum discussion concerning the use of the SAVE statement, I know that adding a SAVE statement within the module is certainly the safest bet. However, I'm not sure where exactly to use the statement. For example, I don't know which of the following usages of SAVE statement are correct:

MODULE A
        IMPLICIT NONE
        SAVE
        INTEGER, PARAMETER:: B=0
END MODULE A

or

MODULE A
        IMPLICIT NONE
        INTEGER, PARAMETER:: B=0
        SAVE
END MODULE A

 

Thanks for any info.

0 Kudos
1 Solution
Steve_Lionel
Honored Contributor III
1,356 Views

You don't need to use SAVE in a module, but if you do, anywhere in the specification-part is fine. Note that as of F2008, the words about module data being defined as long as a USE was in scope has been removed - the reality is that module data is implicitly SAVE and the standard now reflects that.

View solution in original post

0 Kudos
5 Replies
jimdempseyatthecove
Honored Contributor III
1,356 Views

SAVE does not belong in modules. Module data is persistent and global to those that USE it.

Jim Dempsey

0 Kudos
Steve_Lionel
Honored Contributor III
1,357 Views

You don't need to use SAVE in a module, but if you do, anywhere in the specification-part is fine. Note that as of F2008, the words about module data being defined as long as a USE was in scope has been removed - the reality is that module data is implicitly SAVE and the standard now reflects that.

0 Kudos
Honari__Siavash
Beginner
1,356 Views
Thank you, Steve and Jim. I followed some of the old discussions suggesting that it is prudent to use the SAVE statement in the modules to ensure that all the variables are saved. Now if I understand correctly, it is not necessary but hopefully doesn't really hurt, right? Thanks
0 Kudos
Steve_Lionel
Honored Contributor III
1,356 Views

It doesn’t hurt and is still allowed by the standard.

0 Kudos
Honari__Siavash
Beginner
1,356 Views

Thanks alot

0 Kudos
Reply