diff options
author | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-01-22 18:23:43 +0000 |
---|---|---|
committer | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-01-22 18:23:43 +0000 |
commit | 51d7446c267aeee2ec68a42c904aa4079d01f401 (patch) | |
tree | 741a6404b43521797001c198018498d7589d9458 /gcc/fortran/module.c | |
parent | 38224abca2c29873048acd1f9d7444b31de87814 (diff) | |
download | gcc-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.c | 34 |
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); } |