]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/trans.h
re PR fortran/40632 (Support F2008's contiguous attribute)
authorTobias Burnus <burnus@net-b.de>
Mon, 21 Jun 2010 14:15:56 +0000 (16:15 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 21 Jun 2010 14:15:56 +0000 (16:15 +0200)
commitfe4e525c241f01ef04d2405172e337dfb1d63dda
tree021d3ff6f25beca1bdf707ef4ee39618d4492016
parent6ca9ec9caf619c7c87740d598bc2539163615bd6
re PR fortran/40632 (Support F2008's contiguous attribute)

2010-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40632
        * interface.c (compare_parameter): Add gfc_is_simply_contiguous
        checks.
        * symbol.c (gfc_add_contiguous): New function.
        (gfc_copy_attr, check_conflict): Handle contiguous attribute.
        * decl.c (match_attr_spec): Ditto.
        (gfc_match_contiguous): New function.
        * resolve.c (resolve_fl_derived, resolve_symbol): Handle
        contiguous.
        * gfortran.h (symbol_attribute): Add contiguous.
        (gfc_is_simply_contiguous): Add prototype.
        (gfc_add_contiguous): Add prototype.
        * match.h (gfc_match_contiguous): Add prototype.
        * parse.c (decode_specification_statement,
        decode_statement): Handle contiguous attribute.
        * expr.c (gfc_is_simply_contiguous): New function.
        * dump-parse-tree.c (show_attr): Handle contiguous.
        * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
        Ditto.
        * trans-expr.c (gfc_add_interface_mapping): Copy
        attr.contiguous.
        * trans-array.c (gfc_conv_descriptor_stride_get,
        gfc_conv_array_parameter): Handle contiguous arrays.
        * trans-types.c (gfc_build_array_type, gfc_build_array_type,
        gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
        Ditto.
        * trans.h (gfc_array_kind): Ditto.
        * trans-decl.c (gfc_get_symbol_decl): Ditto.

2010-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40632
        * gfortran.dg/contiguous_1.f90: New.
        * gfortran.dg/contiguous_2.f90: New.
        * gfortran.dg/contiguous_3.f90: New.

From-SVN: r161079
22 files changed:
gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/dependency.c
gcc/fortran/dependency.h
gcc/fortran/dump-parse-tree.c
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/fortran/match.h
gcc/fortran/module.c
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/fortran/trans-array.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-types.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/contiguous_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/contiguous_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/contiguous_3.f90 [new file with mode: 0644]