From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4624 invoked by alias); 15 Aug 2010 15:28:35 -0000 Received: (qmail 4593 invoked by alias); 15 Aug 2010 15:28:25 -0000 Date: Sun, 15 Aug 2010 15:28:00 -0000 Message-ID: <20100815152825.4592.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/45197] [F2008] Allow IMPURE elemental procedures In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "domob at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-08/txt/msg01205.txt.bz2 ------- 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 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 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