summaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-22 18:23:43 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-22 18:23:43 +0000
commit51d7446c267aeee2ec68a42c904aa4079d01f401 (patch)
tree741a6404b43521797001c198018498d7589d9458 /gcc/fortran/module.c
parent38224abca2c29873048acd1f9d7444b31de87814 (diff)
downloadgcc-51d7446c267aeee2ec68a42c904aa4079d01f401.tar.gz
2005-01-22 Paul Brook <paul@codesourcery.com>
* gfortran.h (gfc_check_access): Add prototype. * match.c (gfc_match_namelist): Remove TODO. * module.c (check_access): Rename ... (gfc_check_access): ... to this. Boolify. Update callers. * resolve.c (resolve_symbol): Check for private objects in public namelists. testsuite/ * namelist_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94073 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 7c736548d96..3670a3a49ad 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -3136,29 +3136,23 @@ read_module (void)
/* Given an access type that is specific to an entity and the default
- access, return nonzero if we should write the entity. */
+ access, return nonzero if the entity is publicly accessible. */
-static int
-check_access (gfc_access specific_access, gfc_access default_access)
+bool
+gfc_check_access (gfc_access specific_access, gfc_access default_access)
{
if (specific_access == ACCESS_PUBLIC)
- return 1;
+ return TRUE;
if (specific_access == ACCESS_PRIVATE)
- return 0;
+ return FALSE;
if (gfc_option.flag_module_access_private)
- {
- if (default_access == ACCESS_PUBLIC)
- return 1;
- }
+ return default_access == ACCESS_PUBLIC;
else
- {
- if (default_access != ACCESS_PRIVATE)
- return 1;
- }
+ return default_access != ACCESS_PRIVATE;
- return 0;
+ return FALSE;
}
@@ -3230,7 +3224,7 @@ write_symbol0 (gfc_symtree * st)
&& !sym->attr.subroutine && !sym->attr.function)
return;
- if (!check_access (sym->attr.access, sym->ns->default_access))
+ if (!gfc_check_access (sym->attr.access, sym->ns->default_access))
return;
p = get_pointer (sym);
@@ -3289,7 +3283,7 @@ write_operator (gfc_user_op * uop)
static char nullstring[] = "";
if (uop->operator == NULL
- || !check_access (uop->access, uop->ns->default_access))
+ || !gfc_check_access (uop->access, uop->ns->default_access))
return;
mio_symbol_interface (uop->name, nullstring, &uop->operator);
@@ -3303,7 +3297,7 @@ write_generic (gfc_symbol * sym)
{
if (sym->generic == NULL
- || !check_access (sym->attr.access, sym->ns->default_access))
+ || !gfc_check_access (sym->attr.access, sym->ns->default_access))
return;
mio_symbol_interface (sym->name, sym->module, &sym->generic);
@@ -3317,7 +3311,7 @@ write_symtree (gfc_symtree * st)
pointer_info *p;
sym = st->n.sym;
- if (!check_access (sym->attr.access, sym->ns->default_access)
+ if (!gfc_check_access (sym->attr.access, sym->ns->default_access)
|| (sym->attr.flavor == FL_PROCEDURE && sym->attr.generic
&& !sym->attr.subroutine && !sym->attr.function))
return;
@@ -3348,8 +3342,8 @@ write_module (void)
if (i == INTRINSIC_USER)
continue;
- mio_interface (check_access (gfc_current_ns->operator_access[i],
- gfc_current_ns->default_access)
+ mio_interface (gfc_check_access (gfc_current_ns->operator_access[i],
+ gfc_current_ns->default_access)
? &gfc_current_ns->operator[i] : NULL);
}