[Bug fortran/45197] [F2008] Allow IMPURE elemental procedures

domob at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Aug 15 15:28:00 GMT 2010



------- Comment #2 from domob at gcc dot gnu dot org  2010-08-15 15:28 -------
Subject: Bug 45197

Author: domob
Date: Sun Aug 15 15:28:10 2010
New Revision: 163261

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163261
Log:
2010-08-15  Daniel Kraft  <d@domob.eu>

        PR fortran/45197
        * decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL
        routines not IMPURE also as PURE.
        * intrinsic.c (enum klass): New class `CLASS_PURE' and renamed
        `NO_CLASS' in `CLASS_IMPURE'.
        (add_sym): Set symbol-attributes `pure' and `elemental' correctly.
        (add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'.
        (add_functions): Ditto.
        (add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE.
        * resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE.
        (resolve_formal_arglist): Check that arguments to ELEMENTAL procedures
        are not ALLOCATABLE and have their INTENT specified.

2010-08-15  Daniel Kraft  <d@domob.eu>

        PR fortran/45197
        * gfortran.dg/elemental_args_check_3.f90: New test.
        * gfortran.dg/impure_1.f08: New test.
        * gfortran.dg/impure_2.f08: New test.
        * gfortran.dg/impure_3.f90: New test.
        * gfortran.dg/typebound_proc_6.f03: Changed expected error message.

Added:
    trunk/gcc/testsuite/gfortran.dg/elemental_args_check_3.f90
    trunk/gcc/testsuite/gfortran.dg/impure_1.f08
    trunk/gcc/testsuite/gfortran.dg/impure_2.f08
    trunk/gcc/testsuite/gfortran.dg/impure_3.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/typebound_proc_6.f03


-- 


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



More information about the Gcc-bugs mailing list