This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [PATCH,fortran]: fix PR 32804, update PR 32801
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: "Christopher D. Rickett" <crickett at lanl dot gov>
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sat, 21 Jul 2007 13:34:19 -0700
- Subject: Re: [PATCH,fortran]: fix PR 32804, update PR 32801
- References: <Pine.LNX.4.64.0707191304290.27105@lennox.lanl.gov>
On Thu, Jul 19, 2007 at 01:13:51PM -0600, Christopher D. Rickett wrote:
>
> 2007-07-19 Christopher D. Rickett <crickett@lanl.gov>
>
> PR fortran/32801
> * symbol.c (generate_isocbinding_symbol): Remove unnecessary
> conditional.
>
> PR fortran/32804
> * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
> deferred-shape arrays as args to C_LOC. Fix bug in testing
> character args to C_LOC.
>
> 2007-07-19 Christopher D. Rickett <crickett@lanl.gov>
>
> PR fortran/32804
> * gfortran.dg/pr32804_1.f03: New test case.
> * gfortran.dg/pr32804_2.f03: Ditto.
>
Committed with a few minor chnages. First, the testsuite
files were renamed to c_loc_tests_9.f03 and c_loc_tests_10.f03.
Second,
> + /* A non-allocatable target variable with C
> + interoperable type and type parameters must be
> + interoperable. */
> + if (args_sym->attr.dimension && args_sym != NULL)
I changed this to
if (args_sym && args_sym->attr.dimension)
> + if (args_sym->ts.cl != NULL
> + && (args_sym->ts.cl->length == NULL
> + || args_sym->ts.cl->length->expr_type
> + != EXPR_CONSTANT
> + || mpz_cmp_si
> + (args_sym->ts.cl->length->value.integer, 1)
> + != 0)
> + && is_scalar_expr_ptr (args->expr) != SUCCESS)
I fixed some whitespace here.
Thanks, Chris.
--
Steve