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]

[PR fortran/85797, patch] - ICE in gfc_element_size, at fortran/target-memory.c:126


The attached patch fixes an ICE-on-invalid code when the TRANSFER
intrinsic is being handed procedures to the SOURCE or MOLD arguments.
My reading of the standard suggests that this is not allowed:

  SOURCE shall be a scalar or array of any type.

  MOLD shall be a scalar or array of any type. ...

I was struggling for some moment with the idea that SOURCE could be
a procedure pointer (technically), but finally dismissed it.
The patch thus rejects procedures as arguments.

Regtests cleanly on x86_64-pc-linux-gnu.

OK for trunk?

Harald

2019-03-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85797
	* check.c (gfc_check_transfer): Reject procedures as actual
	arguments for SOURCE and MOLD of TRANSFER intrinsic.

2019-03-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85797
	* gfortran.dg/pr85797.f90: New test.

Attachment: patch-pr85797
Description: Text document

Attachment: patch-pr85797-testcase
Description: Text document


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