This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch, fortran] PR28600 - ICE on character pointer assignment


:ADDPATCH fortran:

This is a regression relative to 4.1.  I have not had time
to investigate where it creapt in and it is rather surprising
that it has only now come to light.

Fortunately, the code produced by the testcase makes it very
clear what is happening; the declaration of .s, the string
length is occurring in 'gee', the contained procedure, rather
than the parent, where 's' is a dummy argument. A quick look
at trans_decl.c(gfc_get_symbol_decl) revealed that nothing
was being done to ensure that DECL_CONTEXT(length) and
DECL_CONTEXT(sym->backend_decl) were the same.  This patch
fixes that and asserts that it should be so.  The test case
is a regurgitation of that submitted to Bugzilla.

Regtested on Cygwin_NT/PIV.  OK for trunk?

Paul

2006-08-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/28600
	* trans-decl.c (gfc_get_symbol_decl): Ensure that the
	DECL_CONTEXT of the length of a character dummy is the
	same as that of the symbol declaration.

2006-08-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/28600
	* gfortran.dg/assumed_charlen_function_4.f90: New test.

Attachment: pr28600.diff
Description: pr28600.diff

Attachment: pr28600.diff
Description: pr28600.diff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]