From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6357 invoked by alias); 11 May 2009 17:30:24 -0000 Received: (qmail 5718 invoked by uid 48); 11 May 2009 17:30:06 -0000 Date: Mon, 11 May 2009 17:30:00 -0000 Message-ID: <20090511173006.5717.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/39865] ICE in gfc_conv_scalarized_array_ref In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub 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: 2009-05/txt/msg00938.txt.bz2 ------- Comment #10 from jakub at gcc dot gnu dot org 2009-05-11 17:30 ------- Testcase: subroutine f1 (a) character(len=1) :: a(7:) character(len=12) :: b character(len=1) :: c(2:10) write (b, a) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort write (b, a(:)) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort write (b, a(8:)) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort c(2) = ' ' c(3) = '(' c(4) = '3' c(5) = 'A' c(6) = '4' c(7) = ')' write (b, c) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort write (b, c(:)) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort write (b, c(3:)) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort end subroutine f1 subroutine f2 (a) character(len=1) :: a(10:,20:) character(len=12) :: b write (b, a) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort write (b, a) 'Hell', 'o wo', 'rld!' if (b .ne. 'Hello world!') call abort end subroutine f2 interface subroutine f1 (a) character(len=1) :: a(:) end end interface interface subroutine f2 (a) character(len=1) :: a(:,:) end end interface integer :: i, j character(len=1) :: e (6, 7:9), f (3,2), g (10) e = 'X' e(2,8) = ' ' e(3,8) = '(' e(4,8) = '3' e(2,9) = 'A' e(3,9) = '4' e(4,9) = ')' f = e(2:4,8:9) g = 'X' g(2) = ' ' g(3) = '(' g(4) = '3' g(5) = 'A' g(6) = '4' g(7) = ')' call f1 (g(2:7)) call f2 (f) call f2 (e(2:4,8:9)) end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39865