This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, libgfortran] [4.5 Regression] incorrect IO
- From: Tobias Burnus <burnus at net-b dot de>
- To: Jerry DeLisle <jvdelisle at verizon dot net>, fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 8 Jul 2009 10:58:15 +0200
- Subject: Re: [patch, libgfortran] [4.5 Regression] incorrect IO
Dear Jerry,
Jerry DeLisle wrote:
> Regression tested on x86-64-linux-gnu. NIST tested.
> OK for trunk
The patch is OK with PR 40662's example as test case.
Please mention both PRs in the changelog.
Thanks for the patch!
Tobias
> 2009-07-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
>
> PR libfortran/40330
> * io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
> whether the parsed format data was previously saved. Used to determine
> if the current format data should be freed or not.
> * io/transfer.c (st_read_done): Use the format_not_saved bit.
> (st_write_done): Likewise.
> * io/format.c (parse_format_list): Add boolean pointer to arg list. This
> pointer is used to return status to the caller regarding whether it is
> safe to cache the parsed format data. Currently, if a FMT_STRING token
> is encounetered, it is not safe to cache. Also, added a local boolean
> variable to hold this information as recursive calls to
> parse_format_list are made. Remove previous save_format logic.
> (parse_format): Do not use the format caching facility if the current
> unit is an internal unit or if it is not safe to save parsed format
> data.