[PATCH] fortran/36153 -- Fix complicationn due to KIND in SIZE

Steve Kargl sgk@troutmask.apl.washington.edu
Tue Sep 2 20:54:00 GMT 2008


On Sat, Aug 30, 2008 at 12:59:22PM +0200, Tobias Burnus wrote:
> > The attached patch fixes the problem in PR fortran/36153.
> >
> > +	      if (strncmp(arg->next->name, "kind", 4) == 0)
> > +		break;
> > +
> 
> The patch cases an ICE (segfault) for several testcases, e.g.:
>   libgomp.fortran/allocatable1.f90
> 
> $ gfortran  libgomp.fortran/allocatable4.f90
> 
> shows in valgrind:
> 
> ==23517== Invalid read of size 1
> ==23517==    at 0x4680D7: gfc_resolve_expr (resolve.c:2311)
> ==23517==    by 0x46C1B2: resolve_operator (resolve.c:2921)
> ==23517==    by 0x4673AC: gfc_resolve_expr (resolve.c:4549)
> ==23517==    by 0x46C213: resolve_operator (resolve.c:2912)
> 
> Line 2311 is:
> +	      if (strncmp(arg->next->name, "kind", 4) == 0)
> 

The attached patch fixes the PR and fixes the regression.
The patch was regtested on x86_64-*-freebsd8.0 with
no new failures except for some unrelated graphite failures.

-- 
Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr36153.diff
Type: text/x-diff
Size: 962 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20080902/93a4e633/attachment.bin>


More information about the Fortran mailing list