From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19025 invoked by alias); 18 Jun 2008 13:55:10 -0000 Received: (qmail 16744 invoked by alias); 18 Jun 2008 13:54:20 -0000 Date: Wed, 18 Jun 2008 13:55:00 -0000 Message-ID: <20080618135420.16743.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/36517] Type-spec in array constructor: Invalid error for -std=f2003/f2008 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: 2008-06/txt/msg01079.txt.bz2 ------- Comment #5 from domob at gcc dot gnu dot org 2008-06-18 13:54 ------- Subject: Bug 36517 Author: domob Date: Wed Jun 18 13:53:32 2008 New Revision: 136894 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136894 Log: 2008-06-18 Daniel Kraft PR fortran/36517, fortran/36492 * gfortran.dg/array_constructor_25.f03: New test. * gfortran.dg/array_constructor_26.f03: New test. * gfortran.dg/array_constructor_27.f03: New test. * gfortran.dg/array_constructor_28.f03: New test. * gfortran.dg/array_constructor_29.f03: New test. * gfortran.dg/array_constructor_30.f03: New test. * gfortran.dg/array_constructor_type_19.f03: New test. * gfortran.dg/array_constructor_type_20.f03: New test. * gfortran.dg/array_constructor_type_21.f03: New test. 2008-06-18 Daniel Kraft PR fortran/36517, fortran/36492 * array.c (gfc_resolve_character_array_constructor): Call gfc_set_constant_character_len with changed length-chec argument. * decl.c (gfc_set_constant_character_len): Changed array argument to be a generic length-checking argument that can be used for correct checking with typespec and in special cases where the should-be length is different from the target length. (build_struct): Call gfc_set_constant_character_len with changed length checking argument and introduced additional checks for exceptional conditions on invalid code. (add_init_expr_to_sym), (do_parm): Call gfc_set_constant_character_len with changed argument. * match.h (gfc_set_constant_character_len): Changed third argument to int for the should-be length rather than bool. Added: trunk/gcc/testsuite/gfortran.dg/array_constructor_25.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_26.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_27.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_28.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_29.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_30.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_type_19.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_type_20.f03 trunk/gcc/testsuite/gfortran.dg/array_constructor_type_21.f03 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/array.c trunk/gcc/fortran/decl.c trunk/gcc/fortran/match.h trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36517