This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Belated patch to gfortran 4.0
- From: Tobias Schlüter <tobias dot schlueter at physik dot uni-muenchen dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Toon Moene <toon at moene dot indiv dot nluug dot nl>,Paul Thomas <paulthomas2 at wanadoo dot fr>, fortran at gcc dot gnu dot org,gcc-patches at gcc dot gnu dot org
- Date: Mon, 06 Jun 2005 01:34:33 +0200
- Subject: Re: Belated patch to gfortran 4.0
- References: <24149829.1117986283175.JavaMail.root@dtm1eusosrv72.dtm.ops.eu.uu.net> <42A34D37.5030202@moene.indiv.nluug.nl> <20050605192117.GK22349@devserv.devel.redhat.com>
Jakub Jelinek wrote:
> On Sun, Jun 05, 2005 at 09:06:31PM +0200, Toon Moene wrote:
>>Paul Thomas wrote:
>>
>>
>>>As you will see, I just committed to 4.0 , belatedly, the character
>>>related patches already committed to 4.1.
>>
>>How about your namelist cleanup patch ? AFAICS, it isn't included in
>>4.0 yet.
>>
>>If you do not have the time to pursue this, I'll take a stab at it the
>>next weekend.
>
>
> I'm using the following backport on 4.0 branch for more than a month now.
> Tested on 7 linux arches, there is just one extra failure on ppc64 and
> s390x (and none on the remaining 5 ones):
> +FAIL: gfortran.dg/namelist_14.f90 -O0 (test for excess errors)
> +WARNING: gfortran.dg/namelist_14.f90 -O0 compilation failed to produce executable
> but that one looks like a middle-end bug and is present on HEAD as well.
Given that two of our maintainers agreed that this would be a good thing to
do, and the amount of testing you put this through, I committed this to the
4.0 branch after putting it through the usual testing on my box.
Thanks a lot,
- Tobi
>
> 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/17472
> PR fortran/18209
> PR fortran/18396
> PR fortran/19467
> PR fortran/19657
> * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
> declaration for st_set_nml_var and st_set_nml_var_dim. Remove
> declarations of old namelist functions.
> (build_dt): Simplified call to transfer_namelist_element.
> (nml_get_addr_expr): Generates address expression for start of
> object data. New function.
> (nml_full_name): Qualified name for derived type components. New
> function.
> (transfer_namelist_element): Modified for calls to new functions
> and improved derived type handling.
>
> PR libfortran/12884 gfortran.dg/pr12884.f: New test
> PR libfortran/17285 gfortran.dg/pr17285.f90: New test
> PR libfortran/17472, 18396, 18209 gfortran.dg/pr17472.f: New test
> PR libfortran/18122, 18591 gfortran.dg/pr18122.f90: New test
> PR libfortran/18210 gfortran.dg/pr18210.f90: New test
> PR libfortran/18392 gfortran.dg/pr18392.f90: New test
> PR libfortran/19467 gfortran.dg/pr19467.f90: New test
> PR libfortran/19657 gfortran.dg/pr19657.f90: New test
> * gfortran.dg/namelist_1.f90: Correct comment (PUBLIC and PRIVATE wrong way round).
> * gfortran.dg/namelist_2.f90: Variables with INTENT(IN) cannot be in namelists. New test
> * gfortran.dg/namelist_3.f90: Pointers cannot be in namelists. New test
> * gfortran.dg/namelist_11.f: Tests reals and qualifiers in namelist. New test
> * gfortran.dg/namelist_12.f: Tests integers and qualifiers in namelist. New test
> * gfortran.dg/namelist_13.f90: Tests derived types in namelist. New test
> * gfortran.dg/namelist_14.f90: Tests trans-io.c namelist support. New test
> * gfortran.dg/namelist_15.f90: Tests arrays of derived types in namelist. New test
> * gfortran.dg/namelist_16.f90: Tests complex in namelist. New test
> * gfortran.dg/namelist_17.f90: Tests logical in namelist. New test
> * gfortran.dg/namelist_18.f90: Tests charcter delimiters in namelist. New test
> * gfortran.dg/namelist_19.f90: Tests namelist errors. New test
> * gfortran.dg/namelist_20.f90: Tests negative bounds for explicit arrays. New test
>
> 2005-04-18 Paul Thomas <pault@gcc.gnu.org>
> Jerry DeLisle <jvdelisle@verizon.net>
>
> * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
> * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
> call for ext_name. These fix the bug reported by Jerry DeLisle to
> the fortran list and are based on his suggested fix.
>
> 2005-04-18 Paul Thomas <pault@gcc.gnu.org>
>
> * io/list_read.c (nml_touch_nodes, nml_read_obj,
> nml_get_obj_data): Fix memory leaks in code for derived types.
>
> 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
>
> * io/list_read.c (eat_separator): at_eol = 1 replaced
> (zapped at some time?).
>
> 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
>
> PR libgfortran/12884
> PR libgfortran/17285
> PR libgfortran/18122
> PR libgfortran/18210
> PR libgfortran/18392
> PR libgfortran/18591
> PR libgfortran/18879
> * io/io.h (nml_ls): Declare.
> (namelist_info): Modify for arrays.
> * io/list_read.c (namelist_read): Reduced to call to new functions.
> (match_namelist_name): Simplified.
> (nml_query): Handles stdin queries ? and =?. New function.
> (nml_get_obj_data): Parses object name. New function.
> (touch_nml_nodes): Marks objects for read. New function.
> (untouch_nml_nodes): Resets objects. New function.
> (parse_qualifier): Parses and checks qualifiers. New function
> (nml_read_object): Reads and stores object data. New function.
> (eat_separator): No new_record on '/' in namelist.
> (finish_separator): No new_record on '/' in namelist.
> (read_logical): Error return for namelist.
> (read_integer): Error return for namelist.
> (read_complex): Error return for namelist.
> (read_real): Error return for namelist.
> * io/lock.c (library_end): Free extended namelist_info types.
> * io/transfer.c (st_set_nml_var): Modified for arrays.
> (st_set_nml_var_dim): Dimension descriptors. New function.
> * io/write.c (namelist_write): Reduced to call to new functions.
> (nml_write_obj): Writes output for object. New function.
> (write_integer): Suppress leading blanks for repeat counts.
> (write_int): Suppress leading blanks for repeat counts.
> (write_float): Suppress leading blanks for repeat counts.
> (output_float): Suppress leading blanks for repeat counts.