From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61248 invoked by alias); 29 Mar 2017 20:25:50 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 61224 invoked by uid 89); 29 Mar 2017 20:25:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=sk:joachim, s1, enhances X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-yw0-f169.google.com Received: from mail-yw0-f169.google.com (HELO mail-yw0-f169.google.com) (209.85.161.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 29 Mar 2017 20:25:48 +0000 Received: by mail-yw0-f169.google.com with SMTP id i203so18994182ywc.3; Wed, 29 Mar 2017 13:25:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=+HMXAi2CUKwbWmtM1pkHjEPgo1JrxaWSqAceUQLUYs8=; b=f+cVfXaAycecmAULwvLAL0iqWV4u+Ojtqma0VMrc6Qj2pD4yGer9JVONCm6+81wmI4 s9PetOo+Ed9JBEJ5Kbuj6cep7or2B3jipH0Qwny8Nk4v8zlCGnpBmQU6kWUcxfuTQeIB a/ZdGi60P/ykogYHLUPi2xPez0O2KHf3hglPMIWFpLTalgrbqQ7gkuz0S84rDANVJTTh PgN2/5j0dJpAao867/p5gLsuI9q4EAIs7MYwzbPJhX8SIz2XbzhJ+Q5vppl+qLwF9mzy YN8crn+ddZ5m3QeRlvtvQ8dFxliYbNunHRL8UFTQU21uWA3U3UA3U01jSjnBf836QWXK WHfA== X-Gm-Message-State: AFeK/H0KFueff6owPYLMCMTvPQYW4ik841fbraofeVuZdbPM3O8cubU3Jmv/8rT3ULCpTwGN8OSAioJ3hFY2dA== X-Received: by 10.37.39.130 with SMTP id n124mr2263794ybn.127.1490819148237; Wed, 29 Mar 2017 13:25:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.129.129.133 with HTTP; Wed, 29 Mar 2017 13:25:47 -0700 (PDT) From: Janus Weil Date: Wed, 29 Mar 2017 20:35:00 -0000 Message-ID: Subject: [Patch, Fortran, F03] PR 80046: Explicit interface required: pointer argument To: gfortran , gcc-patches Content-Type: multipart/mixed; boundary=94eb2c134fd4c1b35c054be461f9 X-SW-Source: 2017-03/txt/msg01494.txt.bz2 --94eb2c134fd4c1b35c054be461f9 Content-Type: text/plain; charset=UTF-8 Content-length: 576 Hi all, here is a patch that enhances the diagnostics for procedure-pointer assignments, so that procedure-pointer components that need an explicit interface are correctly rejected. Regtests cleanly on x86_64-linux-gnu. Ok for trunk? Cheers, Janus 2017-03-29 Janus Weil PR fortran/80046 * expr.c (gfc_check_pointer_assign): Check if procedure pointer components in a pointer assignment need an explicit interface. 2017-03-29 Janus Weil PR fortran/80046 * gfortran.dg/proc_ptr_comp_48.f90: New test case. --94eb2c134fd4c1b35c054be461f9 Content-Type: text/plain; charset=US-ASCII; name="pr80046.diff" Content-Disposition: attachment; filename="pr80046.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j0vf27c50 Content-length: 2542 SW5kZXg6IGdjYy9mb3J0cmFuL2V4cHIuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvZm9ydHJhbi9leHByLmMJKHJldmlzaW9uIDI0NjU3MykK KysrIGdjYy9mb3J0cmFuL2V4cHIuYwkod29ya2luZyBjb3B5KQpAQCAtMzU5 NSwyNSArMzU5NSw0MSBAQCBnZmNfY2hlY2tfcG9pbnRlcl9hc3NpZ24gKGdm Y19leHByICpsdmFsdWUsIGdmY19leAogCSAgcmV0dXJuIGZhbHNlOwogCX0K IAotICAgICAgaWYgKHMxID09IHMyIHx8ICFzMSB8fCAhczIpCi0JcmV0dXJu IHRydWU7Ci0KICAgICAgIC8qIEYwODo3LjIuMi40ICg0KSAgKi8KLSAgICAg IGlmIChzMS0+YXR0ci5pZl9zb3VyY2UgPT0gSUZTUkNfVU5LTk9XTgotCSAg JiYgZ2ZjX2V4cGxpY2l0X2ludGVyZmFjZV9yZXF1aXJlZCAoczIsIGVyciwg c2l6ZW9mKGVycikpKQorICAgICAgaWYgKHMyICYmIGdmY19leHBsaWNpdF9p bnRlcmZhY2VfcmVxdWlyZWQgKHMyLCBlcnIsIHNpemVvZihlcnIpKSkKIAl7 Ci0JICBnZmNfZXJyb3IgKCJFeHBsaWNpdCBpbnRlcmZhY2UgcmVxdWlyZWQg Zm9yICVxcyBhdCAlTDogJXMiLAotCQkgICAgIHMxLT5uYW1lLCAmbHZhbHVl LT53aGVyZSwgZXJyKTsKLQkgIHJldHVybiBmYWxzZTsKKwkgIGlmIChjb21w MSAmJiAhczEpCisJICAgIHsKKwkgICAgICBnZmNfZXJyb3IgKCJFeHBsaWNp dCBpbnRlcmZhY2UgcmVxdWlyZWQgZm9yIGNvbXBvbmVudCAlcXMgYXQgJUw6 ICVzIiwKKwkJCSBjb21wMS0+bmFtZSwgJmx2YWx1ZS0+d2hlcmUsIGVycik7 CisJICAgICAgcmV0dXJuIGZhbHNlOworCSAgICB9CisJICBlbHNlIGlmIChz MS0+YXR0ci5pZl9zb3VyY2UgPT0gSUZTUkNfVU5LTk9XTikKKwkgICAgewor CSAgICAgIGdmY19lcnJvciAoIkV4cGxpY2l0IGludGVyZmFjZSByZXF1aXJl ZCBmb3IgJXFzIGF0ICVMOiAlcyIsCisJCQkgczEtPm5hbWUsICZsdmFsdWUt PndoZXJlLCBlcnIpOworCSAgICAgIHJldHVybiBmYWxzZTsKKwkgICAgfQog CX0KLSAgICAgIGlmIChzMi0+YXR0ci5pZl9zb3VyY2UgPT0gSUZTUkNfVU5L Tk9XTgotCSAgJiYgZ2ZjX2V4cGxpY2l0X2ludGVyZmFjZV9yZXF1aXJlZCAo czEsIGVyciwgc2l6ZW9mKGVycikpKQorICAgICAgaWYgKHMxICYmIGdmY19l eHBsaWNpdF9pbnRlcmZhY2VfcmVxdWlyZWQgKHMxLCBlcnIsIHNpemVvZihl cnIpKSkKIAl7Ci0JICBnZmNfZXJyb3IgKCJFeHBsaWNpdCBpbnRlcmZhY2Ug cmVxdWlyZWQgZm9yICVxcyBhdCAlTDogJXMiLAotCQkgICAgIHMyLT5uYW1l LCAmcnZhbHVlLT53aGVyZSwgZXJyKTsKLQkgIHJldHVybiBmYWxzZTsKKwkg IGlmIChjb21wMiAmJiAhczIpCisJICAgIHsKKwkgICAgICBnZmNfZXJyb3Ig KCJFeHBsaWNpdCBpbnRlcmZhY2UgcmVxdWlyZWQgZm9yIGNvbXBvbmVudCAl cXMgYXQgJUw6ICVzIiwKKwkJCSBjb21wMi0+bmFtZSwgJnJ2YWx1ZS0+d2hl cmUsIGVycik7CisJICAgICAgcmV0dXJuIGZhbHNlOworCSAgICB9CisJICBl bHNlIGlmIChzMi0+YXR0ci5pZl9zb3VyY2UgPT0gSUZTUkNfVU5LTk9XTikK KwkgICAgeworCSAgICAgIGdmY19lcnJvciAoIkV4cGxpY2l0IGludGVyZmFj ZSByZXF1aXJlZCBmb3IgJXFzIGF0ICVMOiAlcyIsCisJCQkgczItPm5hbWUs ICZydmFsdWUtPndoZXJlLCBlcnIpOworCSAgICAgIHJldHVybiBmYWxzZTsK KwkgICAgfQogCX0KIAorICAgICAgaWYgKHMxID09IHMyIHx8ICFzMSB8fCAh czIpCisJcmV0dXJuIHRydWU7CisKICAgICAgIGlmICghZ2ZjX2NvbXBhcmVf aW50ZXJmYWNlcyAoczEsIHMyLCBuYW1lLCAwLCAxLAogCQkJCSAgIGVyciwg c2l6ZW9mKGVyciksIE5VTEwsIE5VTEwpKQogCXsK --94eb2c134fd4c1b35c054be461f9 Content-Type: text/x-fortran; charset=US-ASCII; name="proc_ptr_comp_48.f90" Content-Disposition: attachment; filename="proc_ptr_comp_48.f90" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j0vf3iqs1 Content-length: 1753 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgUFIgODAwNDY6IFtGMDNdIEV4cGxp Y2l0IGludGVyZmFjZSByZXF1aXJlZDogcG9pbnRlciBhcmd1bWVudAohCiEg Q29udHJpYnV0ZWQgYnkgSm9hY2hpbSBIZXJiIDxqb2FjaGltLmhlcmJAZ214 LmRlPgoKcHJvZ3JhbSBwCiAgaW1wbGljaXQgbm9uZQoKICB0eXBlIDo6IE5v ZGVfdAogICAgcHJvY2VkdXJlKE5vZGVDbG9uZXIpLCBub3Bhc3MsIHBvaW50 ZXIgOjogY2xvbmVQcm9jID0+IE5VTEwoKQogICAgcHJvY2VkdXJlKCksIG5v cGFzcywgcG9pbnRlciA6OiBub0lmYyA9PiBOVUxMKCkKICBlbmQgdHlwZQoK ICBpbnRlcmZhY2UKICAgIHN1YnJvdXRpbmUgTm9kZUNsb25lciggdGd0LCBz cmMgKQogICAgICBpbXBvcnQgTm9kZV90CiAgICAgIHR5cGUoTm9kZV90KSwg cG9pbnRlciwgaW50ZW50KG91dCkgOjogdGd0CiAgICAgIHR5cGUoTm9kZV90 KSwgICAgICAgICAgIGludGVudChpbikgOjogc3JjCiAgICBlbmQgc3Vicm91 dGluZQogIGVuZCBpbnRlcmZhY2UKCiAgdHlwZShOb2RlX3QpIDo6IG5vZGUK ICBwcm9jZWR1cmUoTm9kZUNsb25lciksIHBvaW50ZXIgOjogY2xvbmVOb2Rl CiAgcHJvY2VkdXJlKCksIHBvaW50ZXIgOjogbm9JZmMKCiAgY2xvbmVOb2Rl ID0+IG5vZGUlbm9JZmMgICAgICAgISB7IGRnLWVycm9yICJFeHBsaWNpdCBp bnRlcmZhY2UgcmVxdWlyZWQiIH0KICBub2RlJW5vSWZjID0+IGNsb25lTm9k ZSAgICAgICAhIHsgZGctZXJyb3IgIkV4cGxpY2l0IGludGVyZmFjZSByZXF1 aXJlZCIgfQoKICBub0lmYyA9PiBub2RlJWNsb25lUHJvYyAgICAgICAhIHsg ZGctZXJyb3IgIkV4cGxpY2l0IGludGVyZmFjZSByZXF1aXJlZCIgfQogIG5v ZGUlY2xvbmVQcm9jID0+IG5vSWZjICAgICAgICEgeyBkZy1lcnJvciAiRXhw bGljaXQgaW50ZXJmYWNlIHJlcXVpcmVkIiB9CgogIG5vZGUlY2xvbmVQcm9j ID0+IG5vZGUlbm9JZmMgICEgeyBkZy1lcnJvciAiRXhwbGljaXQgaW50ZXJm YWNlIHJlcXVpcmVkIiB9CiAgbm9kZSVub0lmYyA9PiBub2RlJWNsb25lUHJv YyAgISB7IGRnLWVycm9yICJFeHBsaWNpdCBpbnRlcmZhY2UgcmVxdWlyZWQi IH0KCiAgISB0aGUgZm9sbG93aW5nIGNhc2VzIGFyZSBsZWdhbAoKICBub2Rl JW5vSWZjID0+IG5vZGUlbm9JZmMKICBub2RlJWNsb25lUHJvYyA9PiBub2Rl JWNsb25lUHJvYwoKICBjbG9uZU5vZGUgPT4gbm9kZSVjbG9uZVByb2MKICBu b2RlJWNsb25lUHJvYyA9PiBjbG9uZU5vZGUKCiAgbm9JZmMgPT4gbm9kZSVu b0lmYwogIG5vZGUlbm9JZmMgPT4gbm9JZmMKCmVuZAo= --94eb2c134fd4c1b35c054be461f9--