https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52846
--- Comment #25 from Paul Thomas <pault at gcc dot gnu.org> --- Author: pault Date: Wed Aug 5 12:06:25 2015 New Revision: 226622 URL: https://gcc.gnu.org/viewcvs?rev=226622&root=gcc&view=rev Log: 2015-08-05 Paul Thomas <pa...@gcc.gnu.org> PR fortran/52846 * module.c (check_access): Return true if new static flag 'dump_smod' is true.. (gfc_dump_module): Rename original 'dump_module' and call from new version. Use 'dump_smod' rather than the stack state to determine if a submodule is being processed. The new version of this procedure sets 'dump_smod' depending on the stack state and then writes both the mod and smod files if a module is being processed or just the smod for a submodule. (gfc_use_module): Eliminate the check for module_name and submodule_name being the same. * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array, get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use the conditions to set DECL_VISIBILITY as hidden and to set as true DECL_VISIBILITY_SPECIFIED. 2015-08-05 Paul Thomas <pa...@gcc.gnu.org> PR fortran/52846 * lib/fortran-modules.exp: Call cleanup-submodules from cleanup-modules. * gfortran.dg/public_private_module_2.f90: Add two XFAILS to cover the cases where private entities are no longer optimized away. * gfortran.dg/public_private_module_6.f90: Add an XFAIL for the same reason. * gfortran.dg/submodule_1.f08: Change cleanup module names. * gfortran.dg/submodule_5.f08: The same. * gfortran.dg/submodule_9.f08: The same. * gfortran.dg/submodule_10.f08: New test Added: trunk/gcc/testsuite/gfortran.dg/submodule_10.f08 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/module.c trunk/gcc/fortran/trans-decl.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/public_private_module_2.f90 trunk/gcc/testsuite/gfortran.dg/public_private_module_6.f90 trunk/gcc/testsuite/gfortran.dg/submodule_1.f08 trunk/gcc/testsuite/gfortran.dg/submodule_5.f08 trunk/gcc/testsuite/gfortran.dg/submodule_9.f08 trunk/gcc/testsuite/lib/fortran-modules.exp