From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by sourceware.org (Postfix) with ESMTPS id B224A3858D20; Wed, 6 Dec 2023 16:09:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B224A3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B224A3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::52c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701878995; cv=none; b=IdEr2SrJHWQi1If31+gSJO/Y9i16eduE7mH/aJ0OVS6arJKhiFNPdX1dhoR2c8kAYTol7odmlKgDsPjgE3Btn8bxCtu3GRkOZuasDG9CWwKUYIqe5kfmjqqRaggMo4s+Afq5HgKhmX/X7zmXh03glff3j33WcsIrg15faNY9Bt4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701878995; c=relaxed/simple; bh=3v13Gr1TLDudABWMcxqt6Xx1S8Sbt/JDchMKAB9GJA0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=RJYDG173zvnv2WAZEVW6KhhOVShTofP6jphdlwvxqzE8jL9Vm0+Kff8YTa/iRpO8gE9iXi2cMMknYYCZm4gDFivcbPuYghOu5Za1DuCeq9lh8mj1PCShoi/ZzJP7F/ypjwx4ytkjR+ViXtZ0hBcFHH0F/OrzaXJYqlqfaW5I5fM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-5c68da9d639so2397763a12.3; Wed, 06 Dec 2023 08:09:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701878988; x=1702483788; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=3v13Gr1TLDudABWMcxqt6Xx1S8Sbt/JDchMKAB9GJA0=; b=f3VvqF9LSnQ7sT3H0wdlc7QOuAblIejlqDh3wcgKdRu4BIUy1DsmFncm4ojD4ZIzfv nHJZFYnuJKpUer8R1WyBm24N6a6ngNfWc2QcMrVP5TUnVoQW7V6e+KCuhPeP7qIHrN8B ICL/puMEnbAOqEVKYjqY/j34MD1JY3cFJPzElHa5iZkmxIBGD4HL+2dn0oyYwjtEleiY ZD/uIoR+9/ysoqrpy0P1+TA0nEX2BRKaRmuDCzsY1PHVNl8etqWTg4tPOzXg1KYd6j+G SJnr9Ql3tKjtPPF/SwMiYpAaaCIiDvBBAQvmtl7HUcpsHyQr93M5zqPQIeVyyllJ2s2C qL9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701878988; x=1702483788; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=3v13Gr1TLDudABWMcxqt6Xx1S8Sbt/JDchMKAB9GJA0=; b=YIMr7/o9jrX7SgqaG705ykMdLc4LuTgbgCbPFRGFmtH06NsQL8d1DxlKUIsZgcMlTs 8h+juttit7R0vRNGRknqVVB1tCfEe+FDyGpk8QKaSEdDhsMYH0ikjh4IRNbX3n+84uiG u0YL9699C9C8M5U7CaDGdlfH7U+ujPM2h1yCMhHjfbjQSl+pPfesUlaUXycqbSjLCHaC FQc3IbYZJ2WVizdT2chA+Z0QScN3PGMBsi4UOVpO8zqSKn1ylDnSUlbMkjASl6bI+zbZ PEqD14CV8s7g59BZI0f0RzDR9wAuJ6bqTjGiyCxC3mQEsx8MaHMyKAt0eg/jl5hJFP7f 8rTQ== X-Gm-Message-State: AOJu0YxRnJhCS5Lc5AHZMmrnjs1J5cJoSFQHJq3yA/4FaXZnIBxEa7zW txDrMpVCpUmiUjh92vwzSSN1AQBMy3/xDgZJinA7raMBIHQ= X-Google-Smtp-Source: AGHT+IFPJjBJE7jyaeyNOB13x/v5SSt+byfd10m/VG19GdBUifmDdZ9sTl6pGwKI3BR0U17kFTQLhUYaiWDbz5mytKE= X-Received: by 2002:a17:90b:30c5:b0:286:6cc1:2cc0 with SMTP id hi5-20020a17090b30c500b002866cc12cc0mr849150pjb.74.1701878988093; Wed, 06 Dec 2023 08:09:48 -0800 (PST) MIME-Version: 1.0 From: Paul Richard Thomas Date: Wed, 6 Dec 2023 16:09:36 +0000 Message-ID: Subject: {Patch, fortran] PR112834 - Class array function selector causes chain of syntax and other spurious errors To: "fortran@gcc.gnu.org" , gcc-patches Content-Type: multipart/mixed; boundary="000000000000898cd4060bd994fd" X-Spam-Status: No, score=-6.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_BLACK 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: --000000000000898cd4060bd994fd Content-Type: multipart/alternative; boundary="000000000000898cd2060bd994fb" --000000000000898cd2060bd994fb Content-Type: text/plain; charset="UTF-8" Dear All, This patch was rescued from my ill-fated and long winded attempt to provide a fix-up for function selector references, where the function is parsed after the procedure containing the associate/select type construct (PRs 89645 and 99065). The fix-ups broke down completely once these constructs were enclosed by another associate construct, where the selector is a derived type or class function. My inclination now is to introduce two pass parsing for contained procedures. Returning to PR112834, the patch is simple enough and is well described by the change logs. PR111853 was fixed as a side effect of the bigger patch. Steve Kargl had also posted the same fix on the PR. Regression tests - OK for trunk and 13-branch? Paul --000000000000898cd2060bd994fb-- --000000000000898cd4060bd994fd Content-Type: application/octet-stream; name="Change.Logs" Content-Disposition: attachment; filename="Change.Logs" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lptynkdu0 Rm9ydHJhbjogRml4IHByb2JsZW1zIHdpdGggY2xhc3MgYXJyYXkgZnVuY3Rp b24gc2VsZWN0b3JzIFtQUjExMjgzNF0KCjIwMjMtMTItMDYgIFBhdWwgVGhv bWFzICA8cGF1bHRAZ2NjLmdudS5vcmc+CgpnY2MvZm9ydHJhbgoJUFIgZm9y dHJhbi8xMTI4MzQKCSogbWF0Y2guY2MgKGJ1aWxkX2Fzc29jaWF0ZV9uYW1l KTogRml4IHdoaXRlc3BhY2UgaXNzdWVzLgoJKHNlbGVjdF90eXBlX3NldF90 bXApOiBJZiB0aGUgc2VsZWN0b3IgaXMgb2YgdW5rbm93biB0eXBlLCBnbwoJ dGhlIFNFTEVDVCBUWVBFIHNlbGVjdG9yIHRvIHNlZSBpZiB0aGlzIGlzIGEg ZnVuY3Rpb24gYW5kLCBpZgoJdGhlIHJlc3VsdCBpcyBhdmFpbGFibGUsIHVz ZSBpdHMgdHlwZXNwZWMuCgkqIHBhcnNlLmNjIChwYXJzZV9hc3NvY2lhdGUp OiBBZ2FpbiwgdXNlIHRoZSBmdW5jdGlvbiByZXN1bHQgaWYKCXRoZSB0eXBl IG9mIHRoZSBzZWxlY3RvciByZXN1bHQgaXMgdW5rbm93bi4KCSogdHJhbnMt c3RtdC5jYyAodHJhbnNfYXNzb2NpYXRlX3Zhcik6IFRoZSBleHByZXNzaW9u IGhhcyB0byBiZQoJb2YgdHlwZSBjbGFzcywgZm9yIGNsYXNzX3RhcmdldCB0 byBiZSB0cnVlLiBDb252ZXJ0IGFuZCBmaXgKCWNsYXNzIGZ1bmN0aW9ucy4g UGFzcyB0aGUgZml4ZWQgZXhwcmVzc2lvbi4KCglQUiBmb3J0cmFuLzExMTg1 MwoJKiByZXNvbHZlLmNjIChnZmNfZXhwcmVzc2lvbl9yYW5rKTogQXZvaWQg bnVsbCBkZXJlZmVyZW5jZS4KCmdjYy90ZXN0c3VpdGUvCglQUiBmb3J0cmFu LzExMjgzNAoJKiBnZm9ydHJhbi5kZy9hc3NvY2lhdGVfNjMuZjkwIDogTmV3 IHRlc3QuCgoJUFIgZm9ydHJhbi8xMTE4NTMKCSogZ2ZvcnRyYW4uZGcvcHIx MTE4NTMuZjkwIDogTmV3IHRlc3QuCg== --000000000000898cd4060bd994fd Content-Type: text/x-patch; charset="US-ASCII"; name="fix.diff" Content-Disposition: attachment; filename="fix.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lptynvsw1 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL21hdGNoLmNjIGIvZ2NjL2ZvcnRy YW4vbWF0Y2guY2MKaW5kZXggOWUzNTcxZDNkYmUuLmNlY2QyOTQwZGNmIDEw MDY0NAotLS0gYS9nY2MvZm9ydHJhbi9tYXRjaC5jYworKysgYi9nY2MvZm9y dHJhbi9tYXRjaC5jYwpAQCAtNjQzNiw5ICs2NDM2LDkgQEAgYnVpbGRfYXNz b2NpYXRlX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUsIGdmY19leHByICoqZTEs IGdmY19leHByICoqZTIpCgogICBzeW0gPSBleHByMS0+c3ltdHJlZS0+bi5z eW07CiAgIGlmIChleHByMi0+dHMudHlwZSA9PSBCVF9VTktOT1dOKQotICAg ICAgc3ltLT5hdHRyLnVudHlwZWQgPSAxOworICAgIHN5bS0+YXR0ci51bnR5 cGVkID0gMTsKICAgZWxzZQotICBjb3B5X3RzX2Zyb21fc2VsZWN0b3JfdG9f YXNzb2NpYXRlIChleHByMSwgZXhwcjIpOworICAgIGNvcHlfdHNfZnJvbV9z ZWxlY3Rvcl90b19hc3NvY2lhdGUgKGV4cHIxLCBleHByMik7CgogICBzeW0t PmF0dHIuZmxhdm9yID0gRkxfVkFSSUFCTEU7CiAgIHN5bS0+YXR0ci5yZWZl cmVuY2VkID0gMTsKQEAgLTY1MjcsNiArNjUyNyw3IEBAIHNlbGVjdF90eXBl X3NldF90bXAgKGdmY190eXBlc3BlYyAqdHMpCiAgIGdmY19zeW10cmVlICp0 bXAgPSBOVUxMOwogICBnZmNfc3ltYm9sICpzZWxlY3RvciA9IHNlbGVjdF90 eXBlX3N0YWNrLT5zZWxlY3RvcjsKICAgZ2ZjX3N5bWJvbCAqc3ltOworICBn ZmNfZXhwciAqZXhwcjI7CgogICBpZiAoIXRzKQogICAgIHsKQEAgLTY1NTAs NyArNjU1MSwxOSBAQCBzZWxlY3RfdHlwZV9zZXRfdG1wIChnZmNfdHlwZXNw ZWMgKnRzKQogICAgICAgc3ltID0gdG1wLT5uLnN5bTsKICAgICAgIGdmY19h ZGRfdHlwZSAoc3ltLCB0cywgTlVMTCk7CgotICAgICAgaWYgKHNlbGVjdG9y LT50cy50eXBlID09IEJUX0NMQVNTICYmIHNlbGVjdG9yLT5hdHRyLmNsYXNz X29rCisgICAgICAvKiBJZiB0aGUgU0VMRUNUIFRZUEUgc2VsZWN0b3IgaXMg YSBmdW5jdGlvbiB3ZSBtaWdodCBiZSBhYmxlIHRvIG9idGFpbgorCSBhIHR5 cGVzcGVjIGZyb20gdGhlIHJlc3VsdC4gU2luY2UgdGhlIGZ1bmN0aW9uIG1p Z2h0IG5vdCBoYXZlIGJlZW4KKwkgcGFyc2VkIHlldCB3ZSBoYXZlIHRvIGNo ZWNrIHRoYXQgdGhlcmUgaXMgaW5kZWVkIGEgcmVzdWx0IHN5bWJvbC4gICov CisgICAgICBpZiAoc2VsZWN0b3ItPnRzLnR5cGUgPT0gQlRfVU5LTk9XTgor CSAgJiYgZ2ZjX3N0YXRlX3N0YWNrLT5jb25zdHJ1Y3QKKwkgICYmIChleHBy MiA9IGdmY19zdGF0ZV9zdGFjay0+Y29uc3RydWN0LT5leHByMikKKwkgICYm IGV4cHIyLT5leHByX3R5cGUgPT0gRVhQUl9GVU5DVElPTgorCSAgJiYgZXhw cjItPnN5bXRyZWUKKwkgICYmIGV4cHIyLT5zeW10cmVlLT5uLnN5bSAmJiBl eHByMi0+c3ltdHJlZS0+bi5zeW0tPnJlc3VsdCkKKwlzZWxlY3Rvci0+dHMg PSBleHByMi0+c3ltdHJlZS0+bi5zeW0tPnJlc3VsdC0+dHM7CisKKyAgICAg IGlmIChzZWxlY3Rvci0+dHMudHlwZSA9PSBCVF9DTEFTUworICAgICAgICAg ICYmIHNlbGVjdG9yLT5hdHRyLmNsYXNzX29rCiAJICAmJiBzZWxlY3Rvci0+ dHMudS5kZXJpdmVkICYmIENMQVNTX0RBVEEgKHNlbGVjdG9yKSkKIAl7CiAJ ICBzeW0tPmF0dHIucG9pbnRlcgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v cGFyc2UuY2MgYi9nY2MvZm9ydHJhbi9wYXJzZS5jYwppbmRleCBhYmQzYTQy NGYzOC4uYzFmYTc1MWQwZTggMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3Bh cnNlLmNjCisrKyBiL2djYy9mb3J0cmFuL3BhcnNlLmNjCkBAIC01MTMxLDcg KzUxMzEsNyBAQCBwYXJzZV9hc3NvY2lhdGUgKHZvaWQpCiAgIGdmY19jdXJy ZW50X25zID0gbXlfbnM7CiAgIGZvciAoYSA9IG5ld19zdC5leHQuYmxvY2su YXNzb2M7IGE7IGEgPSBhLT5uZXh0KQogICAgIHsKLSAgICAgIGdmY19zeW1i b2wqIHN5bTsKKyAgICAgIGdmY19zeW1ib2wgKnN5bSwgKnRzeW07CiAgICAg ICBnZmNfZXhwciAqdGFyZ2V0OwogICAgICAgaW50IHJhbms7CgpAQCAtNTE5 NSw2ICs1MTk1LDE2IEBAIHBhcnNlX2Fzc29jaWF0ZSAodm9pZCkKIAkgICAg ICBzeW0tPnRzLnR5cGUgPSBCVF9ERVJJVkVEOwogCSAgICAgIHN5bS0+dHMu dS5kZXJpdmVkID0gZGVyaXZlZDsKIAkgICAgfQorCSAgZWxzZSBpZiAodGFy Z2V0LT5zeW10cmVlICYmICh0c3ltID0gdGFyZ2V0LT5zeW10cmVlLT5uLnN5 bSkpCisJICAgIHsKKwkgICAgICBzeW0tPnRzID0gdHN5bS0+cmVzdWx0ID8g dHN5bS0+cmVzdWx0LT50cyA6IHRzeW0tPnRzOworCSAgICAgIGlmIChzeW0t PnRzLnR5cGUgPT0gQlRfQ0xBU1MpCisJCXsKKwkJICBpZiAoQ0xBU1NfREFU QSAoc3ltKS0+YXMpCisJCSAgICB0YXJnZXQtPnJhbmsgPSBDTEFTU19EQVRB IChzeW0pLT5hcy0+cmFuazsKKwkJICBzeW0tPmF0dHIuY2xhc3Nfb2sgPSAx OworCQl9CisJICAgIH0KIAl9CgogICAgICAgcmFuayA9IHRhcmdldC0+cmFu azsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MgYi9nY2Mv Zm9ydHJhbi9yZXNvbHZlLmNjCmluZGV4IDE2NmI3MDJjZDlhLi45MjY3OGI4 MTZhMSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYworKysg Yi9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCkBAIC01NjY5LDcgKzU2NjksNyBA QCBnZmNfZXhwcmVzc2lvbl9yYW5rIChnZmNfZXhwciAqZSkKICAgICAgIGlm IChyZWYtPnR5cGUgIT0gUkVGX0FSUkFZKQogCWNvbnRpbnVlOwoKLSAgICAg IGlmIChyZWYtPnUuYXIudHlwZSA9PSBBUl9GVUxMKQorICAgICAgaWYgKHJl Zi0+dS5hci50eXBlID09IEFSX0ZVTEwgJiYgcmVmLT51LmFyLmFzKQogCXsK IAkgIHJhbmsgPSByZWYtPnUuYXIuYXMtPnJhbms7CiAJICBicmVhazsKZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuY2MgYi9nY2MvZm9y dHJhbi90cmFucy1zdG10LmNjCmluZGV4IDUwYjcxZTY3MjM0Li5iNzBjMDc5 ZmM1NSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJhbnMtc3RtdC5jYwor KysgYi9nY2MvZm9ydHJhbi90cmFucy1zdG10LmNjCkBAIC0xNzQ2LDYgKzE3 NDYsNyBAQCB0cmFuc19hc3NvY2lhdGVfdmFyIChnZmNfc3ltYm9sICpzeW0s IGdmY193cmFwcGVkX2Jsb2NrICpibG9jaykKICAgZSA9IHN5bS0+YXNzb2Mt PnRhcmdldDsKCiAgIGNsYXNzX3RhcmdldCA9IChlLT5leHByX3R5cGUgPT0g RVhQUl9WQVJJQUJMRSkKKwkJICAgICYmIGUtPnRzLnR5cGUgPT0gQlRfQ0xB U1MKIAkJICAgICYmIChnZmNfaXNfY2xhc3Nfc2NhbGFyX2V4cHIgKGUpCiAJ CQl8fCBnZmNfaXNfY2xhc3NfYXJyYXlfcmVmIChlLCBOVUxMKSk7CgpAQCAt MjAzNyw3ICsyMDM4LDEyIEBAIHRyYW5zX2Fzc29jaWF0ZV92YXIgKGdmY19z eW1ib2wgKnN5bSwgZ2ZjX3dyYXBwZWRfYmxvY2sgKmJsb2NrKQoKICAgICAg IC8qIENsYXNzIGFzc29jaWF0ZS1uYW1lcyBjb21lIHRoaXMgd2F5IGJlY2F1 c2UgdGhleSBhcmUKIAkgdW5jb25kaXRpb25hbGx5IGFzc29jaWF0ZSBwb2lu dGVycyBhbmQgdGhlIHN5bWJvbCBpcyBzY2FsYXIuICAqLwotICAgICAgaWYg KHN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUyAmJiBDTEFTU19EQVRBIChzeW0p LT5hdHRyLmRpbWVuc2lvbikKKyAgICAgIGlmIChzeW0tPnRzLnR5cGUgPT0g QlRfQ0xBU1MgJiYgZS0+ZXhwcl90eXBlID09RVhQUl9GVU5DVElPTikKKwl7 CisJICBnZmNfY29udl9leHByICgmc2UsIGUpOworCSAgc2UuZXhwciA9IGdm Y19ldmFsdWF0ZV9ub3cgKHNlLmV4cHIsICZzZS5wcmUpOworCX0KKyAgICAg IGVsc2UgaWYgKHN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUyAmJiBDTEFTU19E QVRBIChzeW0pLT5hdHRyLmRpbWVuc2lvbikKIAl7CiAJICB0cmVlIHRhcmdl dF9leHByOwogCSAgLyogRm9yIGEgY2xhc3MgYXJyYXkgd2UgbmVlZCBhIGRl c2NyaXB0b3IgZm9yIHRoZSBzZWxlY3Rvci4gICovCg== --000000000000898cd4060bd994fd Content-Type: text/x-fortran; charset="US-ASCII"; name="associate_63.f90" Content-Disposition: attachment; filename="associate_63.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lptyobxk2 ISB7IGRnLWRvIHJ1biB9CiEKISBUZXN0IHRoZSBmaXggZm9yIFBSMTEyODM0 IGluIHdoaWNoIGNsYXNzIGFycmF5IGZ1bmN0aW9uIHNlbGVjdG9ycyBjYXVz ZWQKISBwcm9ibGVtcyBmb3IgYm90aCBBU1NPQ0lBVEUgYW5kIFNFTEVDVF9U WVBFLgohCiEgQ29udHJpYnV0ZWQgYnkgUGF1bCBUaG9tYXMgIDxwYXVsdEBn Y2MuZ251Lm9yZz4KIQptb2R1bGUgbQogIGltcGxpY2l0IG5vbmUKICB0eXBl IHQKICAgIGludGVnZXIgOjogaSA9IDAKICBlbmQgdHlwZSB0CiAgaW50ZWdl ciA6OiBpID0gMAogIHR5cGUodCksIHBhcmFtZXRlciA6OiB0ZXN0X2FycmF5 ICgyKSA9IFt0KDQyKSx0KDg0KV0sICYKICAgICAgICAgICAgICAgICAgICAg ICAgdGVzdF9zY2FsYXIgPSB0KDk5KQplbmQgbW9kdWxlIG0KbW9kdWxlIGNs YXNzX3NlbGVjdG9ycwogIHVzZSBtCiAgaW1wbGljaXQgbm9uZQogIHByaXZh dGUKICBwdWJsaWMgZm9vMgpjb250YWlucwogIGZ1bmN0aW9uIGJhcjMoKSBy ZXN1bHQocmVzKQogICAgY2xhc3ModCksIGFsbG9jYXRhYmxlIDo6IHJlcyg6 KQogICAgYWxsb2NhdGUgKHJlcywgc291cmNlID0gdGVzdF9hcnJheSkKICBl bmQKCiAgc3Vicm91dGluZSBmb28yKCkKICAgIGFzc29jaWF0ZSAodmFyMSA9 PiBiYXIzKCkpCiAgICAgIGlmIChhbnkgKHZhcjElaSAubmUuIHRlc3RfYXJy YXklaSkpIHN0b3AgMQogICAgICBpZiAodmFyMSgyKSVpIC5uZS4gdGVzdF9h cnJheSgyKSVpKSBzdG9wIDIKICAgICAgYXNzb2NpYXRlICh6enozID0+IHZh cjElaSkKICAgICAgICBpZiAoYW55ICh6enozIC5uZS4gdGVzdF9hcnJheSVp KSkgc3RvcCAzCiAgICAgICAgaWYgKHp6ejMoMikgLm5lLiB0ZXN0X2FycmF5 KDIpJWkpIHN0b3AgNAogICAgICBlbmQgYXNzb2NpYXRlCiAgICAgIHNlbGVj dCB0eXBlICh4ID0+IHZhcjEpCiAgICAgICAgdHlwZSBpcyAodCkKICAgICAg ICAgIGlmIChhbnkgKHglaSAubmUuIHRlc3RfYXJyYXklaSkpIHN0b3AgNQog ICAgICAgICAgaWYgKHgoMiklaSAubmUuIHRlc3RfYXJyYXkoMiklaSkgc3Rv cCA2CiAgICAgICAgY2xhc3MgZGVmYXVsdAogICAgICAgICAgc3RvcCA3CiAg ICAgIGVuZCBzZWxlY3QKICAgIGVuZCBhc3NvY2lhdGUKCiAgICBzZWxlY3Qg dHlwZSAoeSA9PiBiYXIzICgpKQogICAgICB0eXBlIGlzICh0KQogICAgICAg IGlmIChhbnkgKHklaSAubmUuIHRlc3RfYXJyYXklaSkpIHN0b3AgOAogICAg ICAgIGlmICh5KDIpJWkgLm5lLiB0ZXN0X2FycmF5KDIpJWkpIHN0b3AgOQog ICAgICAgY2xhc3MgZGVmYXVsdAogICAgICAgIHN0b3AgMTAKICAgIGVuZCBz ZWxlY3QKICBlbmQgc3Vicm91dGluZSBmb28yCmVuZCBtb2R1bGUgY2xhc3Nf c2VsZWN0b3JzCgogIHVzZSBjbGFzc19zZWxlY3RvcnMKICBjYWxsIGZvbzIK ZW5kCg== --000000000000898cd4060bd994fd Content-Type: text/x-fortran; charset="US-ASCII"; name="pr111853.f90" Content-Disposition: attachment; filename="pr111853.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lptys7uo3 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgQSBudWxsIGRlcmVmZXJlbmNlIGZp eGVkCiEKISBDb250cmlidXRlZCBieSBEYW5pZWwgT3Rlcm8gIDxjYW51N0B5 YWhvby5lcz4KIQpzdWJyb3V0aW5lIGZvbyAocnZlYykKICBUWVBFIHZlY19y ZWN0XzJEX3JlYWxfYWNjCiAgICBJTlRFR0VSIDo6IGFycgogIEVORCBUWVBF CiAgQ0xBU1ModmVjX3JlY3RfMkRfcmVhbF9hY2MpICBydmVjCgogIEFTU09D SUFURSAoYXJyPT5ydmVjJWFycikKICAgIGNhbGwgYmFyKGFyciphcnIpCiAg ZW5kIGFzc29jaWF0ZQplbmQK --000000000000898cd4060bd994fd--