------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-10-01 
07:39 -------
Subject: Bug 16404

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-10-01 07:39:08

Modified files:
        gcc/fortran    : ChangeLog gfortran.h match.c resolve.c symbol.c 
        gcc/testsuite  : ChangeLog 
        gcc/testsuite/gfortran.dg/g77: 980628-2.f 980628-3.f 980628-9.f 
                                       980628-10.f 
Added files:
        gcc/testsuite/gfortran.dg: equiv_constraint_1.f90 
                                   equiv_constraint_2.f90 
                                   equiv_constraint_3.f90 
                                   equiv_constraint_4.f90 
                                   equiv_constraint_5.f90 
                                   equiv_constraint_6.f90 
                                   equiv_constraint_7.f90 
                                   equiv_constraint_8.f90 
                                   private_type_1.f90 private_type_2.f90 

Log message:
        2005-10-01  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/16404
        PR fortran/20835
        PR fortran/20890
        PR fortran/20899
        PR fortran/20900
        PR fortran/20901
        PR fortran/20902
        * gfortran.h: Prototype for gfc_add_in_equivalence.
        * match.c (gfc_match_equivalence): Make a structure component
        an explicit,rather than a syntax, error in an equivalence
        group.  Call gfc_add_in_equivalence to add the constraints
        imposed in check_conflict.
        * resolve.c (resolve_symbol): Add constraints: No public
        structures with private-type components and no public
        procedures with private-type dummy arguments.
        (resolve_equivalence_derived): Add constraint that prevents
        a structure equivalence member from having a default
        initializer.
        (sequence_type): New static function to determine whether an
        object is default numeric, default character, non-default
        or mixed sequence. Add corresponding enum typespec.
        (resolve_equivalence): Add constraints to equivalence groups
        or their members: No more than one initialized member and
        that different types are not equivalenced for std=f95.  All
        the simple constraints have been moved to check_conflict.
        * symbol.c (check_conflict): Simple equivalence constraints
        added, including those removed from resolve_symbol.
        (gfc_add_in_equivalence): New function to interface calls
        match_equivalence to check_conflict.
        
        2005-10-01  Paul Thomas  <[EMAIL PROTECTED]>
        
        PR fortran/16404
        PR fortran/20835
        PR fortran/20890
        PR fortran/20899
        PR fortran/20900
        PR fortran/20901
        PR fortran/20902
        gfortran.dg/equiv_constraint_1.f90: New test.
        gfortran.dg/equiv_constraint_2.f90: New test.
        gfortran.dg/equiv_constraint_3.f90: New test.
        gfortran.dg/equiv_constraint_4.f90: New test.
        gfortran.dg/equiv_constraint_5.f90: New test.
        gfortran.dg/equiv_constraint_6.f90: New test.
        gfortran.dg/equiv_constraint_7.f90: New test.
        gfortran.dg/equiv_constraint_8.f90: New test.
        gfortran.dg/private_type_1.f90: New test.
        gfortran.dg/private_type_2.f90: New test.
        gfortran.dg/g77/980628-2.f, 980628-3.f, 980628-9.f,
        980628-10.f: Assert std=gnu to permit mixing of
        types in equivalence statements.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.572&r2=1.573
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.h.diff?cvsroot=gcc&r1=1.87&r2=1.88
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.c.diff?cvsroot=gcc&r1=1.45&r2=1.46
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/resolve.c.diff?cvsroot=gcc&r1=1.56&r2=1.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/symbol.c.diff?cvsroot=gcc&r1=1.35&r2=1.36
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6119&r2=1.6120
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_1.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_2.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_3.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_4.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_5.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_6.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/equiv_constraint_8.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/private_type_1.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/private_type_2.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/g77/980628-2.f.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/g77/980628-3.f.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/g77/980628-9.f.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/g77/980628-10.f.diff?cvsroot=gcc&r1=1.1&r2=1.2



-- 


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

Reply via email to