From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id E365E3858423; Tue, 19 Oct 2021 14:49:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E365E3858423 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: CdPXYy5wWbZ3V4vdQ2AkKNKg4VzpU/ape2nv2QAjFgnF2JZqjXsVAHqt/TjyV4NJ0skPYySe2p gJADgatmHoMPO+9EpAWoJkr4LoVHPjxddEtgdK1SvO8B+8c/rZJwVEgoy6ybS79BT7dvQnFjuX QUR4xMlcuWJ7bYmVRhnE6nteuqQtQO9qupC5tTHPMYHoeVNmdR2e52Scg2GJhjFCyCBh5LhGla N9Z+K7+oDVLsDeJUTfhd0mEnlhZ+2LqVREoHTY47uuKg0gvZM+pYxckrwjoQpXxW/HdqXiOqjB xDLQseHZIN7FGELizCVMdlJR X-IronPort-AV: E=Sophos;i="5.87,164,1631606400"; d="diff'?scan'208";a="67365699" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 19 Oct 2021 06:49:09 -0800 IronPort-SDR: JnTevmgcyulvVI5haRgrq3sm6BSSGfzK6PGSTfftgM8j+o+WxO4UrcPWgHaMN3os7D8aGRJ0/c PetD93ztTFqTjoQ+Qs3KOaDbqmiHxl2ATf4TJnImKFBdtrQh1NriZs45xKLc2N1/lHY11s5z9Y 9Nzen4OiIffZaTy8Cx9zW8jR05DDx12Jw8J4MWeJAjoYszC6AhO91IQnq/7rNzB9DW+tvTKXPn 3KXmVInuprJG6kRn4FluRwU1DfaM3khO3S8pX3YiFdTEg6jCI8HN0sQb1JmnvGNTOTSptnNhYJ tMw= Content-Type: multipart/mixed; boundary="------------nyeSPWFc5OpiFzZ7wGYf0R4d" Message-ID: Date: Tue, 19 Oct 2021 16:49:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: [Patch, committed] Fortran: Fix 'fn spec' for deferred character length (was: Re: [r12-4457 Regression] FAIL: gfortran.dg/deferred_type_param_6.f90 -Os execution test on Linux/x86_64) Content-Language: en-US To: Jan Hubicka , Tobias Burnus CC: sunil.k.pandey , fortran , , References: <20211016161130.731AF286470F@gskx-2.sc.intel.com> <20211016182354.GE64164@kam.mff.cuni.cz> <20211016185437.GB23986@kam.mff.cuni.cz> From: Tobias Burnus In-Reply-To: <20211016185437.GB23986@kam.mff.cuni.cz> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2021 14:49:12 -0000 --------------nyeSPWFc5OpiFzZ7wGYf0R4d Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable On 16.10.21 20:54, Jan Hubicka wrote: > I wrote: >> Fortran has for a long time 'character(len=3D5), allocatable" or >> "character(len=3D*)". In the first case, the "5" can be ignored as both >> caller and callee know the length. In the second case, the length is >> determined by the argument, but it cannot be changed. >> >> Since a not-that-short while, 'len=3D:' together with allocatable/pointe= r >> is supported. >> >> In the latter case, the value can be change when the array >> association/allocation is changed. >> ... >> + if (!sym->ts.u.cl->length >> + && ((sym->attr.allocatable && sym->attr.target) >> + || sym->attr.pointer)) >> + spec[spec_len++] =3D '.'; >> + if (!sym->ts.u.cl->length && sym->attr.allocatable) >> + spec[spec_len++] =3D 'w'; >> + else >> + spec[spec_len++] =3D 'R'; > Also escaping is quite important bit of information so it would be > good to figure out if it really can escape rather than playing safe. The pointer to the string length variable itself does not escape, only its integer string value: subroutine foo(x) character(len=3D:), pointer :: x character(len=3D:), pointer :: y y =3D> x has in the dump: .y =3D *_x; y =3D (character(kind=3D1)[1:.y] *) *x; Thus, 'w' can always be used. Committed as obvious as r12-4511-gff0eec94e87dfb7dc387f120ca5ade2707aecf50 Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------nyeSPWFc5OpiFzZ7wGYf0R4d Content-Type: text/x-patch; charset="UTF-8"; name="committed.diff" Content-Disposition: attachment; filename="committed.diff" Content-Transfer-Encoding: base64 Y29tbWl0IGZmMGVlYzk0ZTg3ZGZiN2RjMzg3ZjEyMGNhNWFkZTI3MDdhZWNmNTAKQXV0aG9y OiBUb2JpYXMgQnVybnVzIDx0b2JpYXNAY29kZXNvdXJjZXJ5LmNvbT4KRGF0ZTogICBUdWUg T2N0IDE5IDE2OjM4OjU2IDIwMjEgKzAyMDAKCiAgICBGb3J0cmFuOiBGaXggJ2ZuIHNwZWMn IGZvciBkZWZlcnJlZCBjaGFyYWN0ZXIgbGVuZ3RoCiAgICAKICAgIFNob3dzIG5vdyB1cCB3 aXRoIGdmb3J0cmFuLmRnL2RlZmVycmVkX3R5cGVfcGFyYW1fNi5mOTAgZHVlIHRvIG1vcmUg TUUKICAgIG9wdGltaXphdGlvbnMsIGNhdXNpbmcgZmFpbHMgd2l0aG91dCB0aGlzIGNvbW1p dC4KICAgIAogICAgZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICog dHJhbnMtdHlwZXMuYyAoY3JlYXRlX2ZuX3NwZWMpOiBGb3IgYWxsb2NhdGFibGUvcG9pbnRl cgogICAgICAgICAgICBjaGFyYWN0ZXIobGVuPTopLCB1c2UgJ3cnIG5vdCAnUicgYXMgZm4g c3BlYyBmb3IgdGhlIGxlbmd0aCBkdW1teQogICAgICAgICAgICBhcmd1bWVudC4KLS0tCiBn Y2MvZm9ydHJhbi90cmFucy10eXBlcy5jIHwgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJh bi90cmFucy10eXBlcy5jIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtdHlwZXMuYwppbmRleCA1MGZj ZWViYzk0MS4uNDI3NzgwNjdkYmUgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5zLXR5 cGVzLmMKKysrIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtdHlwZXMuYwpAQCAtMzAxNCw3ICszMDE0 LDExIEBAIGNyZWF0ZV9mbl9zcGVjIChnZmNfc3ltYm9sICpzeW0sIHRyZWUgZm50eXBlKQog CX0KICAgICAgIGlmIChzeW0tPnRzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSKQogCXsKLQkgIHNw ZWNbc3BlY19sZW4rK10gPSAnUic7CisJICBpZiAoIXN5bS0+dHMudS5jbC0+bGVuZ3RoCisJ ICAgICAgJiYgKHN5bS0+YXR0ci5hbGxvY2F0YWJsZSB8fCBzeW0tPmF0dHIucG9pbnRlcikp CisJICAgIHNwZWNbc3BlY19sZW4rK10gPSAndyc7CisJICBlbHNlCisJICAgIHNwZWNbc3Bl Y19sZW4rK10gPSAnUic7CiAJICBzcGVjW3NwZWNfbGVuKytdID0gJyAnOwogCX0KICAgICB9 Cg== --------------nyeSPWFc5OpiFzZ7wGYf0R4d--