Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
5 Views

Placement of SAVE statement within a module

Jump to solution

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

Accepted Solutions
Highlighted
Retired Employee
5 Views

You don't need to use SAVE in

Jump to solution

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.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos
5 Replies
Highlighted
5 Views

SAVE does not belong in

Jump to solution

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

Jim Dempsey

0 Kudos
Highlighted
Retired Employee
6 Views

You don't need to use SAVE in

Jump to solution

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.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran

View solution in original post

0 Kudos
Highlighted
5 Views

Thank you, Steve and Jim. I

Jump to solution
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
Retired Employee
5 Views

It doesn’t hurt and is still

Jump to solution

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

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
5 Views

Thanks alot

Jump to solution

Thanks alot

0 Kudos