Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
10 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
Black Belt Retired Employee
10 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
10 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
Black Belt Retired Employee
11 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
10 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
Highlighted
Black Belt Retired Employee
10 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
10 Views

Thanks alot

Jump to solution

Thanks alot

0 Kudos