aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2008-11-22 19:18:05 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2008-11-22 19:18:05 +0100
commit2ec855f1f74eb35dc8e2909b837ff7d8888d2220 (patch)
tree9b55d331fc080cfba7104b909bfed362f85a302e /gcc/fortran/resolve.c
parent9d50ba211c7363f3f693a33a0000219af56fc46e (diff)
downloadgcc-2ec855f1f74eb35dc8e2909b837ff7d8888d2220.zip
gcc-2ec855f1f74eb35dc8e2909b837ff7d8888d2220.tar.gz
gcc-2ec855f1f74eb35dc8e2909b837ff7d8888d2220.tar.bz2
re PR fortran/38160 (C Binding: Kind parameter checking too strict and too late)
2008-11-22 Tobias Burnus <burnus@net-b.de> PR fortran/38160 * trans-types.c (gfc_validate_c_kind): Remove function. * decl.c (gfc_match_kind_spec): Add C kind parameter check. (verify_bind_c_derived_type): Remove gfc_validate_c_kind call. (verify_c_interop_param): Update call. * gfortran.h (verify_bind_c_derived_type): Update prototype. (gfc_validate_c_kind): Remove. * symbol.c (verify_bind_c_derived_type): Update verify_c_interop * call. * resolve.c (gfc_iso_c_func_interface): Ditto. 2008-11-22 Tobias Burnus <burnus@net-b.de> PR fortran/38160 * gfortran.dg/bind_c_usage_18.f90: New test. * gfortran.dg/c_kind_tests_2.f03: Update dg-messages. * gfortran.dg/interop_params.f03: Ditto. From-SVN: r142124
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index e4766d6..0f0644f 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -2073,10 +2073,7 @@ gfc_iso_c_func_interface (gfc_symbol *sym, gfc_actual_arglist *args,
}
/* See if we have interoperable type and type param. */
- if (verify_c_interop (arg_ts,
- (parent_ref ? parent_ref->u.c.component->name
- : args_sym->name),
- &(args->expr->where)) == SUCCESS
+ if (verify_c_interop (arg_ts) == SUCCESS
|| gfc_check_any_c_kind (arg_ts) == SUCCESS)
{
if (args_sym->attr.target == 1)