From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cc-smtpout2.netcologne.de (cc-smtpout2.netcologne.de [89.1.8.212]) by sourceware.org (Postfix) with ESMTPS id 262183854805; Mon, 25 Jan 2021 18:59:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 262183854805 Received: from cc-smtpin2.netcologne.de (cc-smtpin2.netcologne.de [89.1.8.202]) by cc-smtpout2.netcologne.de (Postfix) with ESMTP id 88E5412BC5; Mon, 25 Jan 2021 19:58:58 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by cc-smtpin2.netcologne.de (Postfix) with ESMTP id 8501911E57; Mon, 25 Jan 2021 19:58:58 +0100 (CET) Received: from [2a0a:a540:741:0:2ebc:d8bb:d232:c90c] (helo=cc-smtpin2.netcologne.de) by localhost with ESMTP (eXpurgate 4.19.0) (envelope-from ) id 600f14f2-0254-7f0000012729-7f000001809c-1 for ; Mon, 25 Jan 2021 19:58:58 +0100 Received: from linux-p51k.fritz.box (2a0a-a540-741-0-2ebc-d8bb-d232-c90c.ipv6dyn.netcologne.de [IPv6:2a0a:a540:741:0:2ebc:d8bb:d232:c90c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cc-smtpin2.netcologne.de (Postfix) with ESMTPSA; Mon, 25 Jan 2021 19:58:56 +0100 (CET) Subject: Re: [PATCH] PR fortran/70070 - ICE on initializing character data beyond min/max bound To: Harald Anlauf , fortran , gcc-patches References: From: Thomas Koenig Message-ID: <3fe4244d-60b1-c7f1-10d2-4761428ca64f@netcologne.de> Date: Mon, 25 Jan 2021 19:58:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jan 2021 18:59:01 -0000 Hi Harald, > the attached patch is pretty much self-explaining: check for bounds violation > when initializing a substring in a data statement and treat the resulting error. > > If more detailed information should be emitted with the error message, I'm > open for suggestions. Currently, we issue these error messages in similar circumstances: $ cat a.f90 character (len=3) :: a a = 'abc' print a(0:3) print a(1:4) end program $ gfortran a.f90 a.f90:3:10: 3 | print a(0:3) | 1 Error: Substring start index at (1) is less than one a.f90:4:10: 4 | print a(1:4) | 1 Error: Substring end index at (1) exceeds the string length Could you maybe just re-use these? > Regtested on x86_64-pc-linux-gnu. > > OK for master? OK with adjusted error message. Thanks for the patch! Best regards Thomas