diff options
author | Tobias Burnus <burnus@gcc.gnu.org> | 2008-05-18 13:10:11 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2008-05-18 13:10:11 +0200 |
commit | e7bff0d1d5a2ca472ab99eba22e006a34ad37c56 (patch) | |
tree | b5aae94d05b87de03144816296f9b337ec01f650 /gcc/fortran/resolve.c | |
parent | e29cc9b40265813f66eaf8a0e783d7a8a0c5037d (diff) | |
download | gcc-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.c | 8 |
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, |