From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10841 invoked by alias); 26 Dec 2005 09:08:03 -0000 Received: (qmail 10520 invoked by alias); 26 Dec 2005 09:07:49 -0000 Date: Mon, 26 Dec 2005 09:08:00 -0000 Message-ID: <20051226090749.10519.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/25391] Module derived type issue In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pault at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2005-12/txt/msg02568.txt.bz2 List-Id: ------- Comment #4 from pault at gcc dot gnu dot org 2005-12-26 09:07 ------- Subject: Bug 25391 Author: pault Date: Mon Dec 26 09:07:27 2005 New Revision: 109061 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109061 Log: 2005-12-26 Paul Thomas PR fortran/20889 *resolve.c(resolve_structure_cons): Do not attempt to convert the type of mismatched pointer type components, except when the constructor component is BT_UNKNOWN; emit error instead. PR fortran/25018 * expr.c (check_inquiry): Return FAILURE if there is no symtree to provide a name. Error/warning for assumed character length argument to LEN for an initialization expression, using GFC_GNU_STD. Add an argument to flag that the expression is not restricted. (check_init_expr): Improve the message for a failing variable. (gfc_match_init_expr): Call check_enquiry again to make sure that unsimplified expressions are not causing unnecessary errors. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 * interface.c (gfc_compare_types): Broken into two. (gfc_compare_derived_types): Second half of gfc_compare_types with corrections for a missing check that module name is non-NULL and a check for private components. * symbol.c (gfc_free_dt_list): New function. (gfc_free_namespace): Call gfc_free_dt_list. * resolve.c (resolve_symbol): Build the list of derived types in the symbols namespace. * gfortran.h: Define the structure type gfc_dt_list. Add a new field, derived_types to gfc_namespace. Provide a prototye for the new function gfc_compare_derived_types. * trans_types.c (gfc_get_derived_type): Test for the derived type being available in the host namespace. In this case, the host backend declaration is used for the structure and its components. If an unbuilt, equal structure that is not use associated is found in the host namespace, build it there and then. On exit,traverse the namespace of the derived type to see if there are equal but unbuilt. If so, copy the structure and its component declarations. (copy_dt_decls_ifequal): New functions to copy declarations to other equal structure types. PR fortran/20862 * io.c (gfc_match_format): Make the appearance of a format statement in a module specification block an error. PR fortran/23152 * match.c (gfc_match_namelist): Set assumed shape arrays in namelists as std=GFC_STD_GNU and assumed size arrays as an unconditional error. PR fortran/25069 * match.c (gfc_match_namelist): Set the respecification of a USE associated namelist group as std=GFC_STD_GNU. Permit the concatenation on no error. PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * io.c (resolve_tag): Change std on IOSTAT != default integer to GFC_STD_GNU and change message accordingly. Add same error for SIZE. (match_dt_element, gfortran.h): Add field err_where to gfc_dt and set it when tags are being matched. (gfc_resolve_dt): Remove tests that can be done before resolution and add some of the new ones here. (check_io_constraints): New function that checks for most of the data transfer constraints. Some of these were previously done in match_io, from where this function is called, and some were done in gfc_resolve_dt. (match_io): Remove most of the tests of constraints and add the call to check_io_constraints. 2005-12-26 Paul Thomas PR fortran/20889 * gfortran.dg/pointer_component_type_1.f90: New test. PR fortran/25018 * gfortran.dg/initialization_1.f90: New test. * gfortran.dg/enum_5.f90: Change dg-error to new message. * gfortran.dg/g77/980616-0.f: The same. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 *gfortran.dg/used_dummy_types_1.f90: New test. *gfortran.dg/used_dummy_types_2.f90: New test. *gfortran.dg/used_dummy_types_3.f90: New test. *gfortran.dg/used_dummy_types_4.f90: New test. *gfortran.dg/used_dummy_types_5.f90: New test. PR fortran/23152 * gfortran.dg/namelist_use.f90: Add trap for warning on NAMELIST group already being USE associated. * gfortran.dg/assumed_shape_nml.f90: New test. * gfortran.dg/assumed_size_nml.f90: New test. PR fortran/20862 PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/iostat_3.f90: Change wording of warning. * gfortran.dg/g77/19981216-0.f: the same. Modified: branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/expr.c branches/gcc-4_1-branch/gcc/fortran/gfortran.h branches/gcc-4_1-branch/gcc/fortran/interface.c branches/gcc-4_1-branch/gcc/fortran/io.c branches/gcc-4_1-branch/gcc/fortran/match.c branches/gcc-4_1-branch/gcc/fortran/resolve.c branches/gcc-4_1-branch/gcc/fortran/symbol.c branches/gcc-4_1-branch/gcc/fortran/trans-types.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/enum_5.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/g77/19981216-0.f branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/g77/980616-0.f branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/namelist_use.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25391