]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR fortran/28974 (Extremely slow compilation of enumerated DATA statements.)
authorBud Davis <bdavis9659@sbcglobal.net>
Wed, 15 Nov 2006 05:10:22 +0000 (05:10 +0000)
committerBud Davis <bdavis@gcc.gnu.org>
Wed, 15 Nov 2006 05:10:22 +0000 (05:10 +0000)
commit5868cbf9922413543f1a0f3142232eff43e11f56
tree60df5eb822d32866683ff7c963603250f4e57df4
parent12c789666901a1e60b362e7ddd05429aa44e1554
re PR fortran/28974 (Extremely slow compilation of enumerated DATA statements.)

2006-11-15  Bud Davis <bdavis9659@sbcglobal.net>

        PR fortran/28974
        * gfortran.h (gfc_expr): Add element which holds a splay-tree
        for the exclusive purpose of quick access to a constructor by
        offset.
        * data.c (find_con_by_offset): Use the splay tree for the search.
        (gfc_assign_data_value): Use the splay tree.
        (gfc_assign_data_value_range): ditto.
        * expr.c (gfc_get_expr): Initialize new element to null.
        (gfc_free_expr): Delete splay tree when deleting gfc_expr.

From-SVN: r118844
gcc/fortran/ChangeLog
gcc/fortran/data.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h