[patch, libgfortran] PR47778 reading two arrays of structures from namelist fails
Jerry DeLisle
jvdelisle@frontier.com
Sun Feb 27 19:12:00 GMT 2011
On 02/27/2011 09:39 AM, Tobias Burnus wrote:
> Jerry DeLisle wrote:
>> The attached patch fixes this bug by resetting the pprev_nl pointer to NULL
>> when the rank of the previous object read was zero. pprev_nl is used to track
>> multiple reads from the same namelist variable.
>> Regression tested on x86-64.
>> OK for trunk? I suggest we should back port to 4.5 and possibly earlier.
>
> OK for 4.6 and for 4.4/4.5.
>
>> }
>> + if (prev_nl && prev_nl->var_rank == 0)
>> + prev_nl = NULL;
>
> I wonder whether a comment would help to understand the code.
>
OK I can put in a comment.
>> --- io/list_read.c (revision 170543)
>> +++ io/list_read.c (working copy)
>> @@ -2985,6 +2985,9 @@
>> {
>> int c;
>> char nml_err_msg[200];
>> +
>> + snprintf (nml_err_msg, sizeof nml_err_msg, "Internal namelist read error");
>
> Is there a reason that you do not use:
>
> char nml_err_msg[200] = "Internal namelist read error";
>
> That looks simpler too me.
No particular reason, it is what we used everywhere else in the code. This
suggests an optimization we could do everywhere. (some other time though). I
will give Jakub's suggestion a try.
Thanks for review.
Jerry
More information about the Fortran
mailing list