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!
26750 Discussions

Placement of SAVE statement within a module

Honari__Siavash
Beginner
236 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
Black Belt Retired Employee
236 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

5 Replies
jimdempseyatthecove
Black Belt
236 Views

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

Jim Dempsey

Steve_Lionel
Black Belt Retired Employee
237 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

Honari__Siavash
Beginner
236 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
Steve_Lionel
Black Belt Retired Employee
236 Views

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

Honari__Siavash
Beginner
236 Views

Thanks alot

Reply