diff options
author | Tobias Burnus <burnus@net-b.de> | 2008-11-22 19:18:05 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2008-11-22 19:18:05 +0100 |
commit | 2ec855f1f74eb35dc8e2909b837ff7d8888d2220 (patch) | |
tree | 9b55d331fc080cfba7104b909bfed362f85a302e /gcc/fortran/resolve.c | |
parent | 9d50ba211c7363f3f693a33a0000219af56fc46e (diff) | |
download | gcc-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.c | 5 |
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) |