This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/29392] Segfault on data character initialization



------- Comment #5 from pault at gcc dot gnu dot org  2006-11-10 21:52 -------
Subject: Bug 29392

Author: pault
Date: Fri Nov 10 21:52:00 2006
New Revision: 118666

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118666
Log:
2006-11-10 Paul Thomas <pault@gcc.gnu.org>

        Backport from mainline.

        PR fortran/29371
        * trans-expr.c (gfc_trans_pointer_assignment): Add the expression
        for the assignment of null to the data field to se->pre, rather
        than block.

        PR fortran/29392
        * data.c (create_character_intializer): Copy and simplify
        the expressions for the start and end of a sub-string
        reference.

        PR fortran/29216
        PR fortran/29314
        * gfortran.h : Add EXEC_INIT_ASSIGN.
        * dump-parse-tree.c (gfc_show_code_node): The same.
        * trans-expr.c (gfc_trans_init_assign): New function.
        * trans-stmt.h : Add prototype for gfc_trans_init_assign.
        * trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN.
        * resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by
        EXEC_INIT_ASSIGN.
        (resolve_code): EXEC_INIT_ASSIGN does not need resolution.
        (apply_default_init): New function.
        (resolve_symbol): Call it for derived types that become
        defined but which do not already have an initialization
        expression..
        * st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN.

        PR fortran/29387
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
        a specific case for EXPR_VARIABLE and, in default, build an ss
        to call gfc_conv_expr_descriptor for array expressions..

        PR fortran/29490
        * trans-expr.c (gfc_set_interface_mapping_bounds): In the case
        that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
        values for it and GFC_TYPE_ARRAY_UBOUND.

        PR fortran/29641
        * trans-types.c (gfc_get_derived_type): If the derived type
        namespace has neither a parent nor a proc_name, set NULL for
        the search namespace.

        PR fortran/24518
        * trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
        for both MOD and MODULO, if it is available.

        PR fortran/29565
        * trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
        the declarations from the unused loops by merging the block
        scope for each; this ensures that the temporary is declared.

2006-11-10 Paul Thomas <pault@gcc.gnu.org>

        PR fortran/29371
        * gfortran.dg/nullify_3.f90: New test.

        PR fortran/29392
        * gfortran.dg/data_char_3.f90: New test.

        PR fortran/29216
        * gfortran.dg/result_default_init_1.f90: New test.

        PR fortran/29314
        * gfortran.dg/automatic_default_init_1.f90: New test.

        PR fortran/29387
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
        a specific case for EXPR_VARIABLE and, in default, build an ss
        to call gfc_conv_expr_descriptor for array expressions..

        PR fortran/29490
        * trans-expr.c (gfc_set_interface_mapping_bounds): In the case
        that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
        values for it and GFC_TYPE_ARRAY_UBOUND.

        PR fortran/29641
        * trans-types.c (gfc_get_derived_type): If the derived type
        namespace has neither a parent nor a proc_name, set NULL for
        the search namespace.

        PR fortran/29565
        * gfortran.dg/gfortran.dg/aliasing_dummy_3.f90: New test.


Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/actual_array_interface_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/aliasing_dummy_3.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/automatic_default_init_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/data_char_3.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/intrinsic_actual_2.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/nullify_3.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/result_default_init_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_11.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_12.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/data.c
    branches/gcc-4_1-branch/gcc/fortran/dump-parse-tree.c
    branches/gcc-4_1-branch/gcc/fortran/f95-lang.c
    branches/gcc-4_1-branch/gcc/fortran/gfortran.h
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/st.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/fortran/trans-stmt.h
    branches/gcc-4_1-branch/gcc/fortran/trans-types.c
    branches/gcc-4_1-branch/gcc/fortran/trans.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]