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 E3E6B3858D1E; Tue, 20 Jun 2023 10:50:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E3E6B3858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="6.00,256,1681200000"; d="diff'?scan'208";a="10399804" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 20 Jun 2023 02:50:41 -0800 IronPort-SDR: GcOjihDAzsZtEkV+H10tyHfTjvH66tvOnS0bY75gWLV5j/uPd4cppXo5DDDTJF0n5P39NeDAwZ 5dM8VvnPX1GjFtUk4zLfcVRtEk/OFh9fVXRjKpVM2n3m7WpEW612qLVaXCgJU3u9yX+RZh2z7o E/5bQfj8rnUcj8cWPfMj9wJoIfKSwMktOwFiCV0t3/idERpK2Rk3lcIcnkuWIB4s4wPTJ6lYtK 0KrPRUaTsTwqqN1uJ1rcuqicPRSe4P3e8lyrcKe7IFY5V8U4PahZXS4YWg3nDL95aSa+rIntfv Mvc= Content-Type: multipart/mixed; boundary="------------oJnbLsEGHU3taF8tcwDkG0W9" Message-ID: <7e2f6b2d-b1e2-8aed-f9ea-11f5a72c5794@codesourcery.com> Date: Tue, 20 Jun 2023 12:50:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Content-Language: en-US To: gcc-patches , fortran From: Tobias Burnus Subject: [Patch] Fortran's gfc_match_char: %S to match symbol with host_assoc X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------oJnbLsEGHU3taF8tcwDkG0W9 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable When just matching a symbol, one can use 'gfc_match_symbol (&sym, host_asso= c)' and has the option to match with and without host association. However, when matching something more complex via 'gfc_match' like "something ( %s ) , " the match uses host_assoc =3D false. While it can be combined ("something (" + symbol + " ) ,"), this requires keeping track of the previous location and resetting it. It seems to be much simply to add a new flag supporting host_assoc =3D true= , which this patch does (using '%S'). The advantage is also that when looking at the comment or at the "%s" implementation, it is clear that there are tw= o variants, making it less likely to choose the wrong matching. OK for mainline? Tobias PS: I will use it in an upcoming OpenMP to parse 'uses_allocators'. ----------------- 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 --------------oJnbLsEGHU3taF8tcwDkG0W9 Content-Type: text/x-patch; charset="UTF-8"; name="match-sym.diff" Content-Disposition: attachment; filename="match-sym.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbidzIGdmY19tYXRjaF9jaGFyOiAlUyB0byBtYXRjaCBzeW1ib2wgd2l0aCBob3N0 X2Fzc29jCgpnZmNfbWF0Y2ggKCIuLi4gJXMgLi4uIiwgLi4uKSBtYXRjaGVzIGEgZ2ZjX3N5 bWJvbCBidXQgd2l0aApob3N0X2Fzc29jID0gMC4gVGhpcyBjb21taXQgYWRkcyAnJVMnIGFz IHZhcmlhbnQgd2hpY2ggbWF0Y2hlcwp3aXRoIGhvc3RfYXNzb2MgPSAxCgpnY2MvZm9ydHJh bi9DaGFuZ2VMb2c6CgoJKiBtYXRjaC5jYyAoZ2ZjX21hdGNoX2NoYXIpOiBNYXRjaCB3aXRo ICclUycgYSBzeW1ib2wKCXdpdGggaG9zdF9hc3NvYyA9IDEuCgpkaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vbWF0Y2guY2MgYi9nY2MvZm9ydHJhbi9tYXRjaC5jYwppbmRleCBlN2JlN2Zk ZGM2NC4uYTM1MGViZjc1NGUgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL21hdGNoLmNjCisr KyBiL2djYy9mb3J0cmFuL21hdGNoLmNjCkBAIC0xMDg0LDcgKzEwODQsOCBAQCBnZmNfbWF0 Y2hfY2hhciAoY2hhciBjLCBib29sIGdvYmJsZV93cykKIAogICAgJSUgIExpdGVyYWwgcGVy Y2VudCBzaWduCiAgICAlZSAgRXhwcmVzc2lvbiwgcG9pbnRlciB0byBhIHBvaW50ZXIgaXMg c2V0Ci0gICAlcyAgU3ltYm9sLCBwb2ludGVyIHRvIHRoZSBzeW1ib2wgaXMgc2V0CisgICAl cyAgU3ltYm9sLCBwb2ludGVyIHRvIHRoZSBzeW1ib2wgaXMgc2V0IChob3N0X2Fzc29jID0g MCkKKyAgICVTICBTeW1ib2wsIHBvaW50ZXIgdG8gdGhlIHN5bWJvbCBpcyBzZXQgKGhvc3Rf YXNzb2MgPSAxKQogICAgJW4gIE5hbWUsIGNoYXJhY3RlciBidWZmZXIgaXMgc2V0IHRvIG5h bWUKICAgICV0ICBNYXRjaGVzIGVuZCBvZiBzdGF0ZW1lbnQuCiAgICAlbyAgTWF0Y2hlcyBh biBpbnRyaW5zaWMgb3BlcmF0b3IsIHJldHVybmVkIGFzIGFuIElOVFJJTlNJQyBlbnVtLgpA QCAtMTE1MSw4ICsxMTUyLDkgQEAgbG9vcDoKIAkgIGdvdG8gbG9vcDsKIAogCWNhc2UgJ3Mn OgorCWNhc2UgJ1MnOgogCSAgdnAgPSB2YV9hcmcgKGFyZ3AsIHZvaWQgKiopOwotCSAgbiA9 IGdmY19tYXRjaF9zeW1ib2wgKChnZmNfc3ltYm9sICoqKSB2cCwgMCk7CisJICBuID0gZ2Zj X21hdGNoX3N5bWJvbCAoKGdmY19zeW1ib2wgKiopIHZwLCBjID09ICdTJyk7CiAJICBpZiAo biAhPSBNQVRDSF9ZRVMpCiAJICAgIHsKIAkgICAgICBtID0gbjsKCg== --------------oJnbLsEGHU3taF8tcwDkG0W9--