From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15682 invoked by alias); 7 Mar 2006 00:07:01 -0000 Received: (qmail 15532 invoked by alias); 7 Mar 2006 00:06:49 -0000 Date: Tue, 07 Mar 2006 00:07:00 -0000 Message-ID: <20060307000649.15531.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/25395] equivalence to common block array broken 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: 2006-03/txt/msg00677.txt.bz2 List-Id: ------- Comment #5 from pault at gcc dot gnu dot org 2006-03-07 00:06 ------- Subject: Bug 25395 Author: pault Date: Tue Mar 7 00:06:37 2006 New Revision: 111796 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111796 Log: 2006-03-07 Paul Thomas PR fortran/26107 * resolve.c (resolve_function): Add name after test for pureness. * iresolve.c (gfc_resolve_dot_product): Remove any difference in treatment of logical types. * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): New function. PR fortran/26393 * trans-decl.c (gfc_get_symbol_decl): Extend condition that symbols must be referenced to include unreferenced symbols in an interface body. PR fortran/20938 * trans-array.c (gfc_conv_resolve_dependencies): Add call to gfc_are_equivalenced_arrays. * symbol.c (gfc_free_equiv_infos, gfc_free_equiv_lists): New functions. (gfc_free_namespace): Call them. * trans-common.c (copy_equiv_list_to_ns): New function. (add_equivalences): Call it. * gfortran.h: Add equiv_lists to gfc_namespace and define gfc_equiv_list and gfc_equiv_info. * dependency.c (gfc_are_equivalenced_arrays): New function. (gfc_check_dependency): Call it. * dependency.h: Prototype for gfc_are_equivalenced_arrays. PR fortran/24519 * dependency.c (gfc_is_same_range): Correct typo. (gfc_check_section_vs_section): Call gfc_is_same_range. PR fortran/25395 * trans-common.c (add_equivalences): Add a new flag that is set when an equivalence is seen that prevents more from being reset until the start of a new traversal of the list, thus ensuring completion of all the equivalences. PR fortran/25054 * resolve.c (is_non_constant_shape_array): New function. (resolve_fl_variable): Remove code for the new function and call it. (resolve_fl_namelist): New function. Add test for namelist array with non-constant shape, using is_non_constant_shape_array. (resolve_symbol): Remove code for resolve_fl_namelist and call it. PR fortran/25089 * match.c (match_namelist): Increment the refs field of an accepted namelist object symbol. * resolve.c (resolve_fl_namelist): Test namelist objects for a conflict with contained or module procedures. PR fortran/24557 * trans-expr.c (gfc_add_interface_mapping): Use the actual argument for character(*) arrays, rather than casting to the type and kind parameters of the formal argument. 2006-03-07 Paul Thomas PR fortran/26107 * resolve.c (resolve_function): Add name after test for pureness. * gfortran.dg/logical_dot_product.f90: New test. PR fortran/26393 * gfortran.dg/used_interface_ref.f90: New test. PR fortran/20938 * gfortran.dg/dependency_2.f90: New test. * gfortran.fortran-torture/execute/where17.f90: New test. * gfortran.fortran-torture/execute/where18.f90: New test. * gfortran.fortran-torture/execute/where19.f90: New test. * gfortran.fortran-torture/execute/where20.f90: New test. PR fortran/24519 * gfortran.dg/dependency_3.f90: New test. * gfortran.fortran-torture/execute/vect-3.f90: Remove two of the XFAILs. PR fortran/25395 * gfortran.dg/equiv_6.f90: New test. PR fortran/25054 * gfortran.dg/namelist_5.f90: New test. PR fortran/25089 * gfortran.dg/namelist_4.f90: New test. PR fortran/24557 * gfortran.dg/assumed_charlen_needed_1.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_charlen_needed_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/dependency_2.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/dependency_3.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/equiv_6.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/logical_dot_product.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/namelist_4.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/namelist_5.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/pure_dummy_length_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_interface_ref.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.fortran-torture/execute/where17.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.fortran-torture/execute/where18.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.fortran-torture/execute/where19.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.fortran-torture/execute/where20.f90 Modified: branches/gcc-4_1-branch/MAINTAINERS branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/dependency.c branches/gcc-4_1-branch/gcc/fortran/dependency.h branches/gcc-4_1-branch/gcc/fortran/dump-parse-tree.c branches/gcc-4_1-branch/gcc/fortran/gfortran.h branches/gcc-4_1-branch/gcc/fortran/iresolve.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-array.c branches/gcc-4_1-branch/gcc/fortran/trans-common.c branches/gcc-4_1-branch/gcc/fortran/trans-decl.c branches/gcc-4_1-branch/gcc/fortran/trans-expr.c branches/gcc-4_1-branch/gcc/fortran/trans-intrinsic.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/vect/vect-3.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25395