summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-18 11:10:11 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-18 11:10:11 +0000
commitd1743da1fffc7986bd0d6dfd363f1ee840f89629 (patch)
treeb5aae94d05b87de03144816296f9b337ec01f650 /gcc/fortran/resolve.c
parent5ade25c666148121dba620efbfd466f6b86cca58 (diff)
downloadppe42-gcc-d1743da1fffc7986bd0d6dfd363f1ee840f89629.tar.gz
ppe42-gcc-d1743da1fffc7986bd0d6dfd363f1ee840f89629.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135495 138bc75d-0d04-0410-961f-82ee72b054a4
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 bf886240061..dd251af37b6 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,
OpenPOWER on IntegriCloud