------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-05-17 
06:31 -------
Subject: Bug 15080

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-05-17 06:31:51

Modified files:
        gcc/fortran    : ChangeLog 
        gcc/testsuite  : ChangeLog 
        gcc/fortran    : trans-stmt.c 
        gcc/testsuite/gfortran.fortran-torture/execute: forall_3.f90 
Added files:
        gcc/testsuite/gfortran.fortran-torture/execute: where_7.f90 
                                                        where_8.f90 

Log message:
        PR fortran/15080
        * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
        arguments.  If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
        of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
        just that as index.
        (generate_loop_for_rhs_to_temp): Likewise.
        (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
        It non-NULL, add it to body.
        (allocate_temp_for_forall_nest_1): New function, split from
        allocate_temp_for_forall_nest.
        (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
        propagate it down to compute_overall_iter_number.  Use
        allocate_temp_for_forall_nest_1.
        (gfc_trans_assign_need_temp): Remove COUNT2.  Call
        compute_inner_temp_size into a new stmtblock_t.  Adjust calls to
        allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
        and generate_loop_for_temp_to_lhs.
        (gfc_trans_pointer_assign_need_temp): Adjust calls to
        allocate_temp_for_forall_nest.
        (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
        stmtblock_t.  Call compute_overall_iter_number just once, then
        allocate_temp_for_forall_nest_1 twice with the same size.
        Initialize mask indexes if nested_forall_info != NULL.
        (gfc_trans_where_2): Initialize mask indexes before calling
        gfc_trans_nested_forall_loop.
        
        * gfortran.fortran-torture/execute/forall_3.f90: Remove comment
        about the test failing.
        * gfortran.fortran-torture/execute/where_7.f90: New test.
        * gfortran.fortran-torture/execute/where_8.f90: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.425&r2=1.426
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5478&r2=1.5479
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-stmt.c.diff?cvsroot=gcc&r1=1.30&r2=1.31
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.fortran-torture/execute/where_7.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.fortran-torture/execute/where_8.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.fortran-torture/execute/forall_3.f90.diff?cvsroot=gcc&r1=1.3&r2=1.4



-- 


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

Reply via email to