From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15648 invoked by alias); 14 Dec 2007 17:20:07 -0000 Received: (qmail 15503 invoked by uid 48); 14 Dec 2007 17:19:55 -0000 Date: Fri, 14 Dec 2007 17:20:00 -0000 Message-ID: <20071214171955.15502.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/27997] Fortran 2003: Support type-spec for array constructor In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus 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-12/txt/msg01293.txt.bz2 ------- Comment #4 from burnus at gcc dot gnu dot org 2007-12-14 17:19 ------- By the way, your patch does not work, unless I messed up locally. For the example of comment 0 I get "Hayash" and not "Hayashi": static character(kind=1)[1:6] * A.1[3]= {&"Takata"[1]{ ... Test case: ! { dg-do run } ! ! PR fortran/27997 ! ! Support array constructors with typespec. ! program test implicit none character(15) :: a(3) a = (/ character(len=7) :: 'Takata', 'Tanaka', 'Hayashi' /) if ( len([ character(len=7) :: ]) /= 7) call abort() if ( size([ integer :: ]) /= 0) call abort() if( a(1) /= 'Takata' .or. a(1)(7:7) /= achar(32) & .or. a(1)(15:15) /= achar(32) & .or. a(2) /= 'Tanaka' .or. a(2)(7:7) /= achar(32) & .or. a(2)(15:15) /= achar(32) & .or. a(3) /= 'Hayashi' .or. a(3)(8:8) /= achar(32))& .or. a(1)(15:15) /= achar(32))& call abort() end program test -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27997