From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2523 invoked by alias); 22 Jul 2007 16:31:54 -0000 Received: (qmail 2376 invoked by alias); 22 Jul 2007 16:31:29 -0000 Date: Sun, 22 Jul 2007 16:32:00 -0000 Message-ID: <20070722163129.2375.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/29962] Initialization expressions checking in gfc_intrinsic_func_interface In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dfranke 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: 2007-07/txt/msg02254.txt.bz2 ------- Comment #8 from dfranke at gcc dot gnu dot org 2007-07-22 16:31 ------- Subject: Bug 29962 Author: dfranke Date: Sun Jul 22 16:31:11 2007 New Revision: 126826 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126826 Log: gcc/fortran: 2007-07-22 Daniel Franke PR fortran/29962 PR fortran/31253 PR fortran/31265 PR fortran/31639 * gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure, generic, specific, actual_ok, noreturn into bits of a bitfield, added bits for inquiry, transformational, conversion. * check.c (non_init_transformational): Removed, removed all callers. * intrinsic.c (enum class): New. (add_sym*): Replaced argument elemetal by enum class. Changed all callers. (add_functions): Assign appropriate classes to intrinsic functions. (add_subroutines): Assign appropriate classes to intrinsic subroutines. (add_conv): Set conversion attribute. (gfc_init_expr_extensions): Removed, removed all callers. (gfc_intrinsic_func_interface): Reimplemented check for non-standard initializatione expressions. * expr.c (check_specification_function): New. (gfc_is_constant_expr): Added check for specification functions. (check_init_expr_arguments): New. (check_inquiry): Changed return value to MATCH, added checks for inquiry functions defined by F2003. (check_transformational): New. (check_null): New. (check_elemental): New. (check_conversion): New. (check_init_expr): Call new check functions, add more specific error messages. gcc/testsuite: 2007-07-22 Daniel Franke PR fortran/29962 * gfortran.dg/array_initializer_1.f90: Removed warning. * gfortran.dg/initialization_1.f90: Adjusted messages. * gfortran.dg/nested_modules_6.f90: Removed warning. PR fortran/31253 * gfortran.dg/initialization_7.f90: New test. PR fortran/31639 * gfortran.dg/initialization_8.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/initialization_7.f90 trunk/gcc/testsuite/gfortran.dg/initialization_8.f90 Modified: trunk/gcc/fortran/check.c trunk/gcc/fortran/expr.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/intrinsic.c trunk/gcc/testsuite/gfortran.dg/array_initializer_1.f90 trunk/gcc/testsuite/gfortran.dg/initialization_1.f90 trunk/gcc/testsuite/gfortran.dg/nested_modules_6.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29962