aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-08-12 20:19:59 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-08-12 20:19:59 +0000
commit654b60732e6a604471862085f0037fd05df86887 (patch)
tree412c4a82e24e651226e265eae27b203315512a79 /gcc/fortran/module.c
parent5cda5098057c002cf332708f0e5b53bb35d49d76 (diff)
downloadgcc-654b60732e6a604471862085f0037fd05df86887.zip
gcc-654b60732e6a604471862085f0037fd05df86887.tar.gz
gcc-654b60732e6a604471862085f0037fd05df86887.tar.bz2
re PR fortran/31629 (option to make module entities PRIVATE by default)
PR fortran/31629 * lang.opt (-fmodule-private): New option. * gfortran.h (gfc_option_t): Add flag_module_private member. * invoke.texi (-fmodule-private): Document the new option. * module.c (gfc_check_access): Allow the -fmodule-private option to modify the default behaviour. * options.c (gfc_init_options): Initialize flag_module_private. (gfc_handle_option): Handle -fmodule-private. * gfortran.dg/module_private_1.f90: New test. From-SVN: r127381
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index baba5c7..9ef0f40 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -3714,7 +3714,10 @@ gfc_check_access (gfc_access specific_access, gfc_access default_access)
if (specific_access == ACCESS_PRIVATE)
return FALSE;
- return default_access != ACCESS_PRIVATE;
+ if (gfc_option.flag_module_private)
+ return default_access == ACCESS_PUBLIC;
+ else
+ return default_access != ACCESS_PRIVATE;
}