This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/55207] Automatic deallocation of variables declared in the main program


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55207

--- Comment #3 from janus at gcc dot gnu.org 2012-11-04 22:48:37 UTC ---
The following patch applies the implicit SAVE attribute to variables declared
in the main program:

Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c    (revision 193137)
+++ gcc/fortran/decl.c    (working copy)
@@ -3812,9 +3812,11 @@ match_attr_spec (void)
     }
     }

-  /* Since Fortran 2008 module variables implicitly have the SAVE attribute. 
*/
-  if (gfc_current_state () == COMP_MODULE && !current_attr.save
-      && (gfc_option.allow_std & GFC_STD_F2008) != 0)
+  /* Since Fortran 2008, variables declared in a MODULE or PROGRAM
+     implicitly have the SAVE attribute.  */
+  if ((gfc_current_state () == COMP_MODULE
+       || gfc_current_state () == COMP_PROGRAM)
+      && !current_attr.save && (gfc_option.allow_std & GFC_STD_F2008) != 0)
     current_attr.save = SAVE_IMPLICIT;

   colon_seen = 1;


This also removes the automatic allocation of both variables in the test case
in comment 0. Therefore it has the same testsuite failures as the patch in
comment 1 (possibly more?).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]