From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11901 invoked by alias); 6 Jan 2015 15:19:31 -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 11876 invoked by uid 89); 6 Jan 2015 15:19:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-qg0-f44.google.com Received: from mail-qg0-f44.google.com (HELO mail-qg0-f44.google.com) (209.85.192.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 06 Jan 2015 15:19:29 +0000 Received: by mail-qg0-f44.google.com with SMTP id q107so16645026qgd.17; Tue, 06 Jan 2015 07:19:27 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.140.95.71 with SMTP id h65mr82873634qge.92.1420557567305; Tue, 06 Jan 2015 07:19:27 -0800 (PST) Received: by 10.96.149.69 with HTTP; Tue, 6 Jan 2015 07:19:27 -0800 (PST) Date: Tue, 06 Jan 2015 15:19:00 -0000 Message-ID: Subject: [Patch, Fortran, F03] PR 64508: interface check missing for procedure pointer component as actual argument From: Janus Weil To: gfortran , gcc-patches Content-Type: multipart/mixed; boundary=001a11c174b02ec918050bfd551e X-SW-Source: 2015-01/txt/msg00241.txt.bz2 --001a11c174b02ec918050bfd551e Content-Type: text/plain; charset=UTF-8 Content-length: 691 Hi all, here is a patch which adds an interface check for procedure pointer components as acual arguments. Such a check is there already for ordinary procedures and procedure pointers, but missing for PPCs. It checks the interface of the actual argument versus the interface of the dummy procedure, according to the usual rules. Regtested on x86_64-unknown-linux-gnu. Ok for trunk? Cheers, Janus 2015-01-06 Janus Weil PR fortran/64508 * interface.c (compare_parameter): Interface check for procedure-pointer component as actual argument. 2015-01-06 Janus Weil PR fortran/64508 * gfortran.dg/proc_ptr_comp_41.f90: New. --001a11c174b02ec918050bfd551e Content-Type: text/plain; charset=US-ASCII; name="pr64508.diff" Content-Disposition: attachment; filename="pr64508.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i4lf82080 Content-length: 1794 SW5kZXg6IGdjYy9mb3J0cmFuL2ludGVyZmFjZS5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9mb3J0cmFuL2ludGVyZmFjZS5jCShSZXZpc2lv biAyMTkyNjEpCisrKyBnY2MvZm9ydHJhbi9pbnRlcmZhY2UuYwkoQXJiZWl0 c2tvcGllKQpAQCAtMTkyMiw2ICsxOTIyLDggQEAgY29tcGFyZV9wYXJhbWV0 ZXIgKGdmY19zeW1ib2wgKmZvcm1hbCwgZ2ZjX2V4cHIgKmEKIHsKICAgZ2Zj X3JlZiAqcmVmOwogICBib29sIHJhbmtfY2hlY2ssIGlzX3BvaW50ZXI7Cisg IGNoYXIgZXJyWzIwMF07CisgIGdmY19jb21wb25lbnQgKnBwYzsKIAogICAv KiBJZiB0aGUgZm9ybWFsIGFyZyBoYXMgdHlwZSBCVF9WT0lELCBpdCdzIHRv IG9uZSBvZiB0aGUgaXNvX2NfYmluZGluZwogICAgICBwcm9jcyBjX2ZfcG9p bnRlciBvciBjX2ZfcHJvY3BvaW50ZXIsIGFuZCB3ZSBuZWVkIHRvIGFjY2Vw dCBtb3N0CkBAIC0xOTQyLDcgKzE5NDQsNiBAQCBjb21wYXJlX3BhcmFtZXRl ciAoZ2ZjX3N5bWJvbCAqZm9ybWFsLCBnZmNfZXhwciAqYQogCiAgIGlmIChh Y3R1YWwtPnRzLnR5cGUgPT0gQlRfUFJPQ0VEVVJFKQogICAgIHsKLSAgICAg IGNoYXIgZXJyWzIwMF07CiAgICAgICBnZmNfc3ltYm9sICphY3Rfc3ltID0g YWN0dWFsLT5zeW10cmVlLT5uLnN5bTsKIAogICAgICAgaWYgKGZvcm1hbC0+ YXR0ci5mbGF2b3IgIT0gRkxfUFJPQ0VEVVJFKQpAQCAtMTk3Niw2ICsxOTc3 LDE5IEBAIGNvbXBhcmVfcGFyYW1ldGVyIChnZmNfc3ltYm9sICpmb3JtYWws IGdmY19leHByICphCiAgICAgICByZXR1cm4gMTsKICAgICB9CiAKKyAgcHBj ID0gZ2ZjX2dldF9wcm9jX3B0cl9jb21wIChhY3R1YWwpOworICBpZiAocHBj KQorICAgIHsKKyAgICAgIGlmICghZ2ZjX2NvbXBhcmVfaW50ZXJmYWNlcyAo Zm9ybWFsLCBwcGMtPnRzLmludGVyZmFjZSwgcHBjLT5uYW1lLCAwLCAxLAor CQkJCSAgIGVyciwgc2l6ZW9mKGVyciksIE5VTEwsIE5VTEwpKQorCXsKKwkg IGlmICh3aGVyZSkKKwkgICAgZ2ZjX2Vycm9yICgiSW50ZXJmYWNlIG1pc21h dGNoIGluIGR1bW15IHByb2NlZHVyZSAlcXMgYXQgJUw6ICVzIiwKKwkJICAg ICAgIGZvcm1hbC0+bmFtZSwgJmFjdHVhbC0+d2hlcmUsIGVycik7CisJICBy ZXR1cm4gMDsKKwl9CisgICAgfQorCiAgIC8qIEYyMDA4LCBDMTI0MS4gICov CiAgIGlmIChmb3JtYWwtPmF0dHIucG9pbnRlciAmJiBmb3JtYWwtPmF0dHIu Y29udGlndW91cwogICAgICAgJiYgIWdmY19pc19zaW1wbHlfY29udGlndW91 cyAoYWN0dWFsLCB0cnVlKSkK --001a11c174b02ec918050bfd551e Content-Type: text/x-fortran; charset=US-ASCII; name="proc_ptr_comp_41.f90" Content-Disposition: attachment; filename="proc_ptr_comp_41.f90" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i4lf8a0h1 Content-length: 997 ISB7IGRnLWRvIGNvbXBpbGUgfQohCiEgUFIgNjQ1MDg6IFtGMDNdIGludGVy ZmFjZSBjaGVjayBtaXNzaW5nIGZvciBwcm9jZWR1cmUgcG9pbnRlciBjb21w b25lbnQgYXMgYWN0dWFsIGFyZ3VtZW50CiEKISBDb250cmlidXRlZCBieSBK YW51cyBXZWlsIDxqYW51c0BnY2MuZ251Lm9yZz4KCiAgVFlQRSA6OiBwYXJl bnQKICBFTkQgVFlQRQoKICBUWVBFLCBFWFRFTkRTKHBhcmVudCkgOjogZXh0 ZW5zaW9uCiAgICBwcm9jZWR1cmUoZXh0ZW5zaW9uX3Byb2MpLCBwb2ludGVy IDo6IHBwYwogIEVORCBUWVBFCgogIENMQVNTKGV4dGVuc2lvbiksIEFMTE9D QVRBQkxFIDo6IHgKICBDQUxMIHNvbWVfcHJvYyh4JXBwYykgICAgICAgICAg ICAgICAhICB7IGRnLWVycm9yICJJbnRlcmZhY2UgbWlzbWF0Y2ggaW4gZHVt bXkgcHJvY2VkdXJlIiB9Cgpjb250YWlucwoKICBTVUJST1VUSU5FIHBhcmVu dF9wcm9jKGFyZykKICAgIENMQVNTKHBhcmVudCksIElOVEVOVChJTikgOjog YXJnCiAgRU5EIFNVQlJPVVRJTkUKCiAgU1VCUk9VVElORSBleHRlbnNpb25f cHJvYyhhcmcpCiAgICBDTEFTUyhleHRlbnNpb24pLCBJTlRFTlQoSU4pIDo6 IGFyZwogIEVORCBTVUJST1VUSU5FCgoKICBTVUJST1VUSU5FIHNvbWVfcHJv Yyhwcm9jKQogICAgUFJPQ0VEVVJFKHBhcmVudF9wcm9jKSA6OiBwcm9jCiAg ICBUWVBFKFBhcmVudCkgOjogYQogICAgQ0FMTCBwcm9jKGEpCiAgRU5EIFNV QlJPVVRJTkUKCmVuZAo= --001a11c174b02ec918050bfd551e--