------- Comment #2 from fxcoudert at gcc dot gnu dot org 2007-08-09 09:35 ------- What about the following:
Index: gfortran.h =================================================================== --- gfortran.h (revision 127224) +++ gfortran.h (working copy) @@ -1865,6 +1865,7 @@ typedef struct int flag_d_lines; int flag_openmp; int flag_sign_zero; + int flag_module_private; int fpe; Index: lang.opt =================================================================== --- lang.opt (revision 127224) +++ lang.opt (working copy) @@ -212,6 +212,10 @@ fmax-stack-var-size= Fortran RejectNegative Joined UInteger -fmax-stack-var-size=<n> Size in bytes of the largest array that will be put on the stack +fmodule-private +Fortran +Set default accessibility of module entities to PRIVATE. + fopenmp Fortran Enable OpenMP Index: module.c =================================================================== --- module.c (revision 127224) +++ module.c (working copy) @@ -3714,7 +3714,10 @@ gfc_check_access (gfc_access specific_ac 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; } Index: options.c =================================================================== --- options.c (revision 127224) +++ options.c (working copy) @@ -93,6 +93,7 @@ gfc_init_options (unsigned int argc ATTR gfc_option.flag_preprocessed = 0; gfc_option.flag_automatic = 1; gfc_option.flag_backslash = 1; + gfc_option.flag_module_private = 0; gfc_option.flag_backtrace = 0; gfc_option.flag_allow_leading_underscore = 0; gfc_option.flag_dump_core = 0; @@ -575,6 +576,10 @@ gfc_handle_option (size_t scode, const c gfc_option.flag_max_stack_var_size = value; break; + case OPT_fmodule_private: + gfc_option.flag_module_private = value; + break; + case OPT_frange_check: gfc_option.flag_range_check = value; break; Index: invoke.texi =================================================================== --- invoke.texi (revision 127228) +++ invoke.texi (working copy) @@ -121,7 +121,7 @@ by type. Explanations are in the follow [EMAIL PROTECTED] -ffixed-line-length-none @gol [EMAIL PROTECTED] -ffree-line-length-none @gol -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 @gol --fcray-pointer -fopenmp -frange-check -fno-backslash } +-fcray-pointer -fopenmp -frange-check -fno-backslash -fmodule-private} @item Error and Warning Options @xref{Error and Warning Options,,Options to request or suppress errors @@ -238,6 +238,14 @@ Allow @samp{$} as a valid character in a Change the interpretation of backslashes in string literals from ``C-style'' escape characters to a single backslash character. [EMAIL PROTECTED] -fmodule-private [EMAIL PROTECTED] @code{fmodule-private} [EMAIL PROTECTED] module entities [EMAIL PROTECTED] private +Set the default accessibility of module entities to @code{PRIVATE}. +Use-associated entities will not be accessible unless they are explicitly +declared as @code{PUBLIC}. + @item [EMAIL PROTECTED] @opindex @[EMAIL PROTECTED] @cindex file format, fixed -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31629