------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-09 
09:06 -------
Subject: Bug 17917

CVSROOT:        /cvs/gcc
Module name:    gcc
Branch:         gcc-4_0-branch
Changes by:     [EMAIL PROTECTED]       2005-09-09 09:06:09

Modified files:
        gcc/fortran    : gfortran.h match.h match.c module.c primary.c 
                         trans-common.c trans-decl.c ChangeLog 
        gcc/testsuite/gfortran.dg/g77: 19990905-0.f 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/gfortran.dg: module_blank_common.f90 
                                   module_double_reuse.f90 
                                   common_equivalence_1.f 
                                   common_equivalence_2.f 
                                   common_equivalence_3.f 
                                   contained_equivalence_1.f90 
                                   module_commons_1.f90 
                                   module_equivalence_1.f90 
                                   nested_modules_1.f90 

Log message:
        2005-09-09  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/18878
        * module.c (find_use_name_n): Based on original
        find_use_name. Either counts number of use names for a
        given real name or returns use name n.
        (find_use_name, number_use_names): Interfaces to the
        function find_use_name_n.
        (read_module): Add the logic and calls to these functions,
        so that mutiple reuses of the same real name are loaded.
        
        2005-09-09  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/22304
        PR fortran/23270
        PR fortran/18870
        PR fortran/16511
        PR fortran/17917
        * gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
        common.c so that it is accessible to module.c. Add common_head
        field to gfc_symbol structure. Add field for the equivalence
        name AND new attr field, in_equivalence.
        * match.c (gfc_match_common, gfc_match_equivalence): In loops
        that flag common block equivalences, emit an error if the
        common blocks are different, using sym->common_head as the
        common block identifier. Ensure that symbols that are equivalence
        associated with a common block are marked as being in_common.
        * module.c (write_blank_common): New.
        (write_common): Use unmangled common block name.
        (load_equiv): New function ported from g95.
        (read_module): Call load_equiv.
        (write_equiv): New function ported from g95. Correct
        string referencing for gfc functions. Give module
        equivalences a unique name.
        (write_module): Call write_equiv and write_blank_common.
        * primary.c (match_variable) Old gfc_match_variable, made
        static and third argument provided to indicate if parent
        namespace to be visited or not.
        (gfc_match_variable): New. Interface to match_variable.
        (gfc_match_equiv_variable): New. Interface to match_variable.
        * trans-common.c (finish_equivalences): Provide the call
        to create_common with a gfc_common_header so that
        module equivalences are made external, rather than local.
        (find_equivalences): Ensure that all members in common block
        equivalences are marked as used. This prevents the subsequent
        call to this function from making local unions.
        * trans-decl.c (gfc_generate_function_code): Move the call to
        gfc_generate_contained_functions to after the call to
        gfc_trans_common so the use-associated, contained common
        blocks produce the correct references.
        (gfc_create_module_variable): Return for equivalenced symbols
        with existing backend declaration.
        
        2005-09-09  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/18878
        * gfortran.dg/module_double_reuse.f90: New.
        
        2005-09-09  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/23270
        PR fortran/22304
        PR fortran/18870
        PR fortran/17917
        PR fortran/16511
        * gfortran.dg/common_equivalence_1.f: New.
        * gfortran.dg/common_equivalence_2.f: New.
        * gfortran.dg/common_equivalence_3.f: New.
        * gfortran.dg/contained_equivalence_1.f90: New.
        * gfortran.dg/module_blank_common.f90: New.
        * gfortran.dg/module_commons_1.f90: New.
        * gfortran.dg/module_equivalence_1.f90: New.
        * gfortran.dg/nested_modules_1.f90: New.
        * gfortran.dg/g77/19990905-0.f: Remove XFAIL, rearrange
        equivalences and add comment to connect the test with
        the PR.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.58.2.16&r2=1.58.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.10.36.1&r2=1.10.36.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.31.8.11&r2=1.31.8.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/module.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.31.2.2&r2=1.31.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/primary.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.22.2.10&r2=1.22.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-common.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.23.2.4&r2=1.23.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.54.2.5&r2=1.54.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.335.2.114&r2=1.335.2.115
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/module_blank_common.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/module_double_reuse.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/common_equivalence_1.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/common_equivalence_2.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/common_equivalence_3.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/contained_equivalence_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/module_commons_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/module_equivalence_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/nested_modules_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/g77/19990905-0.f.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1&r2=1.1.48.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.394&r2=1.5084.2.395



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17917

Reply via email to