From patchwork Thu Mar 17 21:35:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harald Anlauf X-Patchwork-Id: 599244 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3qR1qY239hz9sCk for ; Fri, 18 Mar 2016 08:35:36 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=sPBTi/Ff; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; q=dns; s=default; b=uvipb4oBJ1Jzor9+ EwpQ0RHXVm8wE9gdQ36RA7w7eugTcUAdB6e5a2iApXQaRC8dseRS4Ezigtwpf/qc GjgPI0jy0ChZsNMD1u5w1/YtOPlHpZsLG4McgTxT3kWpcilczo7zXMIbc/a6DBl8 gdMS766DLckCSR/e9nZrZ81q89I= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; s=default; bh=jAORsaSKlcT1BJVx9Ajf38 wDUJ8=; b=sPBTi/FfivRIpx0qAU4E5TsaeqpdE88bBLIohvP47tMKzLkmceEA7T pyCxnf4z7Bb1g9wKp3O9d3vIlEjRwThGx4H+i5dAEDWSjefcR9MeMJvDOawtFs/t j4niP7I3RsNDTE2TDRXJIX5cwhlszhikFsYWfdfv7KDY17b7aUD/A= Received: (qmail 34971 invoked by alias); 17 Mar 2016 21:35:26 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 33746 invoked by uid 89); 17 Mar 2016 21:35:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.9 required=5.0 tests=BAYES_50, FREEMAIL_FROM, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 spammy=H*MI:gmx, mpz_init, sk:is_con, Proceed X-Spam-User: qpsmtpd, 2 recipients X-HELO: mout.gmx.net Received: from mout.gmx.net (HELO mout.gmx.net) (212.227.15.18) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 17 Mar 2016 21:35:23 +0000 Received: from proton.at.home ([217.232.140.43]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MIMUZ-1aekpd2IJz-0049RJ; Thu, 17 Mar 2016 22:35:18 +0100 Message-ID: <56EB230F.8060900@gmx.de> Date: Thu, 17 Mar 2016 22:35:11 +0100 From: Harald Anlauf User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 MIME-Version: 1.0 To: fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [Patch, fortran] PR68566 ICE on using unusable array in reshape (double free or corruption) X-UI-Out-Filterresults: notjunk:1; V01:K0:XAc8z9R8Kwg=:9CJDUeIf6YNArGnakkG2Aq BxTw4ery+Riy1c9PeNCVMtm4XVRsLaNZeWJ0VNe+GMa8g9qEZVavF/VSQtJqLmM5oPlGNoE4o w7zfLOp3JzOfM9Iin87i8v7tkNSvxbjYw9lW4H1J/F/zO2pBufXMuAa2BxUVeqERjRZa2ONy2 N8tpGir2q1muPF23hCe4lCme4vru1AXhnCTUHZ6l0uBRKH2Fuc8B852dprICPd/nPOXhSK6lK nLaFBsCO5wpVzNXnNznwFxwsn13YfWFvc7ALImTXcP+mRGEhqtT1CCD5ejG7QgM9vH2pnOwue ZdcO/ab6+aL2L49POWesV8FVRNz9P30Od6KtAJqrjDzTStHHzID5gQsTJ+zyaqwasXwc85BYm tQYheGT1bABmnvn5tEt2srf19Xud4/DDbUTa4I57rxYn9wqJkrn6SN0VqD7a/YamhhXujzsVK J0FBAOzpRKDqPK+pNafQqELB3WbTwZ3oiN/JdWDCzLgHvqyPLexoxJ/u7/RBJtzZt4qFJAuVP l44XWkcxoNun78M0V/xrSCoJMP8LO3duFK5hOoK7heFNvXYmpDZ0IHA9oCFgMwFyQqzMh5jv8 G14/dxRWvBxNAXz5NNqDFiDkcsylAO8ibatanM4f990KIl2K6o+aMnRX+fckaY+BicIIjHzLY rjLCxxlgsWTlNcRrw+oF9e46juoKqoas2vtOh/qr+bWlcCv+KTlW8so4squRF4lt0Gb3szXUT +0OGW/RyjkjW5dx6iX6PJ4bTzFPq96slPkVTFkVJgqfu9p6nVc5oU101tStTx8+3Wu3LRkyKU 9eG2gac Hi, the above ICE is fixed by the following simple/trivial fix: +end Regtested with no new failures on i686-pc-linux-gnu. Whoever wants to take it... Cheers, Harald Index: gcc/fortran/simplify.c =================================================================== --- gcc/fortran/simplify.c (revision 234170) +++ gcc/fortran/simplify.c (working copy) @@ -5163,6 +5163,9 @@ || !is_constant_array_expr (order_exp)) return NULL; + if (source->shape == NULL) + return NULL; + /* Proceed with simplification, unpacking the array. */ mpz_init (index); Proposed testcase: Index: gcc/testsuite/gfortran.dg/pr68566.f90 =================================================================== --- gcc/testsuite/gfortran.dg/pr68566.f90 (revision 0) +++ gcc/testsuite/gfortran.dg/pr68566.f90 (revision 0) @@ -0,0 +1,8 @@ +! { dg-do compile } +! PR fortran/68566 - ICE on using unusable array in reshape +! Testcase by Gerhard Steinmetz + +program p + integer, parameter :: a(:) = 1 ! { dg-error "or of deferred shape" } + integer, parameter :: b(2,2) = reshape([a], [2,2])