------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-08 
18:46 -------
Subject: Bug 15326

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-09-08 18:46:06

Modified files:
        gcc/fortran    : ChangeLog trans-array.c trans-expr.c 
        gcc/testsuite  : ChangeLog 
Added files:
        gcc/testsuite/gfortran.dg: char_result_1.f90 char_result_2.f90 
                                   char_result_3.f90 char_result_4.f90 
                                   char_result_5.f90 char_result_6.f90 
                                   char_result_7.f90 char_result_8.f90 

Log message:
        PR fortran/15326
        * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
        the GFC_SS_FUNCTION case too.
        * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
        to function pointers as well as function decls.
        (gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
        (gfc_init_interface_mapping, gfc_free_interface_mapping)
        (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
        (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
        (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
        (gfc_apply_interface_mapping_to_ref)
        (gfc_apply_interface_mapping_to_expr)
        (gfc_apply_interface_mapping): New functions.
        (gfc_conv_function_call): Evaluate the arguments before working
        out where the result should go.  Make the null pointer case provide
        the string length in parmse.string_length.  Cope with non-constant
        string lengths, using the above functions to evaluate such lengths.
        Use a temporary typespec; don't assign to sym->cl->backend_decl.
        Don't assign to se->string_length when returning a cached array
        descriptor.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.540&r2=1.541
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-array.c.diff?cvsroot=gcc&r1=1.56&r2=1.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-expr.c.diff?cvsroot=gcc&r1=1.59&r2=1.60
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6030&r2=1.6031
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_1.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_2.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_3.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_4.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_5.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_6.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_7.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/char_result_8.f90.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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

Reply via email to