aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2008-05-18 13:10:11 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2008-05-18 13:10:11 +0200
commite7bff0d1d5a2ca472ab99eba22e006a34ad37c56 (patch)
treeb5aae94d05b87de03144816296f9b337ec01f650 /gcc/fortran/resolve.c
parente29cc9b40265813f66eaf8a0e783d7a8a0c5037d (diff)
downloadgcc-e7bff0d1d5a2ca472ab99eba22e006a34ad37c56.zip
gcc-e7bff0d1d5a2ca472ab99eba22e006a34ad37c56.tar.gz
gcc-e7bff0d1d5a2ca472ab99eba22e006a34ad37c56.tar.bz2
re PR fortran/36251 (PUBLIC and PRIVATE abuse)
2008-05-18 Steven G. Kargl <kargls@comcast.net> PR fortran/36251 * symbol.c (check_conflict): Issue errors for abuse of PUBLIC, * PRIVATE, and BIND(C). * resolve.c (gfc_verify_binding_labels): Fix NULL pointer * dereference. 2008-05-18 Steven G. Kargl <kargls@comcast.net> PR fortran/36251 gfortran.dg/public_private_module.f90: new test. gfortran.dg/bind_c_module.f90: new test. From-SVN: r135495
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index bf88624..dd251af 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -6612,10 +6612,10 @@ gfc_verify_binding_labels (gfc_symbol *sym)
has_error = 1;
}
else if (sym->attr.contained == 0
- && (sym->attr.if_source == IFSRC_UNKNOWN))
- if ((sym->attr.use_assoc
- && (strcmp (bind_c_sym->mod_name, sym->module) != 0))
- || sym->attr.use_assoc == 0)
+ && sym->attr.if_source == IFSRC_UNKNOWN)
+ if ((sym->attr.use_assoc && bind_c_sym->mod_name
+ && strcmp (bind_c_sym->mod_name, sym->module) != 0)
+ || sym->attr.use_assoc == 0)
{
gfc_error ("Binding label '%s' at %L collides with global "
"entity '%s' at %L", sym->binding_label,