From 966e7f731ef7ea019e681b7b53421c6857315c4a Mon Sep 17 00:00:00 2001 From: "Steven G. Kargl" Date: Thu, 20 Jun 2019 21:39:43 +0000 Subject: re PR fortran/86587 (Derived-type with attributes BIND(C) and PRIVATE raises an error but standard accepts it) 2019-06-20 Steven G. Kargl PR fortran/86587 * symbol.c (verify_bind_c_derived_type): Remove erroneous error checking for BIND(C) and PRIVATE attributes. 2019-06-20 Steven G. Kargl PR fortran/86587 * gfortran.dg/pr86587.f90: New test. From-SVN: r272524 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/symbol.c | 10 ---------- 2 files changed, 6 insertions(+), 10 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 30bf112..7b71ee4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2019-06-20 Steven G. Kargl + + PR fortran/86587 + * symbol.c (verify_bind_c_derived_type): Remove erroneous error + checking for BIND(C) and PRIVATE attributes. + 2019-06-20 Thomas Koenig PR fortran/90937 diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index ec75322..f427363 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -4529,16 +4529,6 @@ verify_bind_c_derived_type (gfc_symbol *derived_sym) curr_comp = curr_comp->next; } while (curr_comp != NULL); - - /* Make sure we don't have conflicts with the attributes. */ - if (derived_sym->attr.access == ACCESS_PRIVATE) - { - gfc_error ("Derived type %qs at %L cannot be declared with both " - "PRIVATE and BIND(C) attributes", derived_sym->name, - &(derived_sym->declared_at)); - retval = false; - } - if (derived_sym->attr.sequence != 0) { gfc_error ("Derived type %qs at %L cannot have the SEQUENCE " -- cgit v1.1