This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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] PR29490 - ICE whilst building formal/actual interface


:ADDPATCH fortran:

This PR is due to an ICE which occurs when building the interface
mapping for an array argument, where the dummy has a variable
lbound.  In this case, trans-types.c(gfc_get_nodesc_array_type)
declines to set GFC_TYPE_ARRAY_LBOUND or GFC_TYPE_ARRAY_UBOUND
and gfc_set_interface_mapping_bounds.  The solution is to use
the descriptor values for both bounds.  The testcase is that
provided by the reporter.

Thank you to Richard Guenther for the gdb session that he posted
8 minutes after the PR appeared! This pinpointed the problem
precisely.

Regested on PIV/Cygwin_NT - OK for trunk?

Paul

2006-10-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29490
	* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
	that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
	values for it and GFC_TYPE_ARRAY_UBOUND.

2006-10-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29490
	* gfortran.dg/actual_array_interface_1.f90: New test.

  

 <<submit.diff>>  <<Change.logs>> 

Attachment: submit.diff
Description: submit.diff

Attachment: Change.logs
Description: Change.logs


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