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]

Re: [patch, libgfortran] Fix PR27304 Data descriptors exhausted


Jerry DeLisle wrote:
:ADDPATCH fortran:

2006-04-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR libgfortran/27304
	* io/transfer.c (formatted_transfer_scaler):  Generate error if data
	descriptors are exhausted.

That should be scalAr. :)


! 	{
! 	  /* No data descriptors left.  */
! 	  if (n > 0)
! 	    generate_error (&dtp->common, NULL,
! 				"Data descriptors exhausted in format");
! 	  return;
! 	}

That error message isn't one that I'd necessarily understand correctly on first reading, despite the fact that I have a native-speaker understanding of the relevant secondary definition of "exhausted".


Also, it occurs to me that I don't understand it on second reading, either. It sounds like the sort of error message that should occur when one has written something like

write(*,'(2I6)'), 3, 4, 5

but that is perfectly acceptable, and simply puts the 5 in the next record (i.e., on the next line).

Thus, I'm a bit baffled: is it possible for this error to occur except in the case (from your test program) where there are no data descriptors in the format at all? If not, perhaps an error message of "No data descriptors found in format" would be better.

I'd also like to see the testcase include a confirmation that the multi-line write statement above works correctly rather than producing the error.

- Brooks


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