From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26582 invoked by alias); 22 Oct 2012 14:49:56 -0000 Received: (qmail 26550 invoked by uid 22791); 22 Oct 2012 14:49:53 -0000 X-SWARE-Spam-Status: No, hits=-4.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-bk0-f47.google.com (HELO mail-bk0-f47.google.com) (209.85.214.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 22 Oct 2012 14:49:47 +0000 Received: by mail-bk0-f47.google.com with SMTP id jk7so891179bkc.20 for ; Mon, 22 Oct 2012 07:49:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.130.10 with SMTP id q10mr2798284bks.59.1350917385405; Mon, 22 Oct 2012 07:49:45 -0700 (PDT) Received: by 10.204.35.194 with HTTP; Mon, 22 Oct 2012 07:49:44 -0700 (PDT) In-Reply-To: References: Date: Mon, 22 Oct 2012 15:22:00 -0000 Message-ID: Subject: Re: [Patch, Fortran] PR 54997: -Wunused-function gives false warnings for procedures passed as actual argument From: Janus Weil To: gfortran , gcc-patches Content-Type: multipart/mixed; boundary=001517448930e0c5c404cca6f669 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 X-SW-Source: 2012-10/txt/msg01938.txt.bz2 --001517448930e0c5c404cca6f669 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1442 Minor update to the patch: It now also sets TREE_USED for entry masters in order to avoid bogus warnings for procedures with ENTRY (cf. comment 6 in the PR, which like comment 0 is a 4.8 regression). Still regtests cleanly. Ok? Cheers, Janus 2012/10/21 Janus Weil : > Hi all, > > here is another patch to silence some more of the bogus warnings about > unused functions that gfortran is currently throwing (cf. also the > previous patch for PR 54224). > > It fixes the usage of the 'referenced' attribute, which should only be > given to procedures which are actually 'used' (called/referenced). > Then TREE_USED is set according to this attribute, which in turn > silences the warning in the middle-end. > > The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk? > > Cheers, > Janus > > > 2012-10-21 Janus Weil > > PR fortran/54997 > * decl.c (match_procedure_decl): Don't set 'referenced' attribute > for PROCEDURE declarations. > * parse.c (gfc_fixup_sibling_symbols,parse_contained): Don't set > 'referenced' attribute for all contained procedures. > * trans-decl.c (gfc_get_symbol_decl): Allow for unreferenced procedures. > (build_function_decl): Set TREE_USED for referenced procedures. > > 2012-10-21 Janus Weil > > PR fortran/54997 > * gfortran.dg/warn_unused_function_2.f90: New. --001517448930e0c5c404cca6f669 Content-Type: application/octet-stream; name="warn_unused_function_2.f90" Content-Disposition: attachment; filename="warn_unused_function_2.f90" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lp9pbm2 Content-length: 769 ISB7IGRnLWRvIGNvbXBpbGUgfQohIHsgZGctb3B0aW9ucyAiLVdhbGwiIH0K IQohIFs0LjggUmVncmVzc2lvbl0gUFIgNTQ5OTc6IC1XdW51c2VkLWZ1bmN0 aW9uIGdpdmVzIGZhbHNlIHdhcm5pbmdzCiEKISBDb250cmlidXRlZCBieSBK YW51cyBXZWlsIDxqYW51c0BnY2MuZ251Lm9yZz4KCm1vZHVsZSBtCgogIGlt cGxpY2l0IG5vbmUKICBwcml2YXRlIDo6IHMxLHMyLHMzCgpjb250YWlucwoK ICBzdWJyb3V0aW5lIHMxICAgICAgICAgICAgISB7IGRnLXdhcm5pbmcgImRl ZmluZWQgYnV0IG5vdCB1c2VkIiB9CiAgICBjYWxsIHMyKHMzKQogIGVuZCBz dWJyb3V0aW5lCgogIHN1YnJvdXRpbmUgczIoZHVtbXkpICAgICAhIHsgZGct d2FybmluZyAiVW51c2VkIGR1bW15IGFyZ3VtZW50IiB9CiAgICBwcm9jZWR1 cmUoKSA6OiBkdW1teQogIGVuZCBzdWJyb3V0aW5lCgogIHN1YnJvdXRpbmUg czMoKQogIGVuZCBzdWJyb3V0aW5lCgplbmQgbW9kdWxlCgoKc3Vicm91dGlu ZSBzdWIKZW50cnkgZW4KZW5kIHN1YnJvdXRpbmUKCgohIHsgZGctZmluYWwg eyBjbGVhbnVwLW1vZHVsZXMgIm0iIH0gfQo= --001517448930e0c5c404cca6f669 Content-Type: application/octet-stream; name="pr54997_v2.diff" Content-Disposition: attachment; filename="pr54997_v2.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8lpa1o03 Content-length: 3185 SW5kZXg6IGdjYy9mb3J0cmFuL2RlY2wuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvZm9ydHJhbi9kZWNsLmMJKHJldmlzaW9uIDE5MjYxOSkK KysrIGdjYy9mb3J0cmFuL2RlY2wuYwkod29ya2luZyBjb3B5KQpAQCAtNDk0 MSw4ICs0OTQxLDYgQEAgbWF0Y2hfcHJvY2VkdXJlX2RlY2wgKHZvaWQpCiAK IAl9CiAKLSAgICAgIGdmY19zZXRfc3ltX3JlZmVyZW5jZWQgKHN5bSk7Ci0K ICAgICAgIGlmIChnZmNfbWF0Y2hfZW9zICgpID09IE1BVENIX1lFUykKIAly ZXR1cm4gTUFUQ0hfWUVTOwogICAgICAgaWYgKGdmY19tYXRjaF9jaGFyICgn LCcpICE9IE1BVENIX1lFUykKSW5kZXg6IGdjYy9mb3J0cmFuL3BhcnNlLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL2ZvcnRyYW4vcGFyc2Uu YwkocmV2aXNpb24gMTkyNjE5KQorKysgZ2NjL2ZvcnRyYW4vcGFyc2UuYwko d29ya2luZyBjb3B5KQpAQCAtMzkyOCw3ICszOTI4LDYgQEAgZ2ZjX2ZpeHVw X3NpYmxpbmdfc3ltYm9scyAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfbmEKICAg Z2ZjX3N5bXRyZWUgKnN0OwogICBnZmNfc3ltYm9sICpvbGRfc3ltOwogCi0g IHN5bS0+YXR0ci5yZWZlcmVuY2VkID0gMTsKICAgZm9yIChucyA9IHNpYmxp bmdzOyBuczsgbnMgPSBucy0+c2libGluZykKICAgICB7CiAgICAgICBzdCA9 IGdmY19maW5kX3N5bXRyZWUgKG5zLT5zeW1fcm9vdCwgc3ltLT5uYW1lKTsK QEAgLTQwNTAsNyArNDA0OSw2IEBAIHBhcnNlX2NvbnRhaW5lZCAoaW50IG1v ZHVsZSkKIAkgIC8qIE1hcmsgdGhpcyBhcyBhIGNvbnRhaW5lZCBmdW5jdGlv biwgc28gaXQgaXNuJ3QgcmVwbGFjZWQKIAkgICAgIGJ5IG90aGVyIG1vZHVs ZSBmdW5jdGlvbnMuICAqLwogCSAgc3ltLT5hdHRyLmNvbnRhaW5lZCA9IDE7 Ci0JICBzeW0tPmF0dHIucmVmZXJlbmNlZCA9IDE7CiAKIAkgIC8qIFNldCBp bXBsaWNpdF9wdXJlIHNvIHRoYXQgaXQgY2FuIGJlIHJlc2V0IGlmIGFueSBv ZiB0aGUKIAkgICAgIHRlc3RzIGZvciBwdXJpdHkgZmFpbC4gIFRoaXMgaXMg dXNlZCBmb3Igc29tZSBvcHRpbWlzYXRpb24KSW5kZXg6IGdjYy9mb3J0cmFu L3RyYW5zLWRlY2wuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2Mv Zm9ydHJhbi90cmFucy1kZWNsLmMJKHJldmlzaW9uIDE5MjYxOSkKKysrIGdj Yy9mb3J0cmFuL3RyYW5zLWRlY2wuYwkod29ya2luZyBjb3B5KQpAQCAtMTE5 NSwxMCArMTE5NSwxMSBAQCBnZmNfZ2V0X3N5bWJvbF9kZWNsIChnZmNfc3lt Ym9sICogc3ltKQogICBib29sIGludHJpbnNpY19hcnJheV9wYXJhbWV0ZXIg PSBmYWxzZTsKIAogICBnY2NfYXNzZXJ0IChzeW0tPmF0dHIucmVmZXJlbmNl ZAotCQl8fCBzeW0tPmF0dHIudXNlX2Fzc29jCi0JCXx8IHN5bS0+bnMtPnBy b2NfbmFtZS0+YXR0ci5pZl9zb3VyY2UgPT0gSUZTUkNfSUZCT0RZCi0JCXx8 IChzeW0tPm1vZHVsZSAmJiBzeW0tPmF0dHIuaWZfc291cmNlICE9IElGU1JD X0RFQ0wKLQkJICAgICYmIHN5bS0+YmFja2VuZF9kZWNsKSk7CisJICAgICAg fHwgc3ltLT5hdHRyLmZsYXZvciA9PSBGTF9QUk9DRURVUkUKKwkgICAgICB8 fCBzeW0tPmF0dHIudXNlX2Fzc29jCisJICAgICAgfHwgc3ltLT5ucy0+cHJv Y19uYW1lLT5hdHRyLmlmX3NvdXJjZSA9PSBJRlNSQ19JRkJPRFkKKwkgICAg ICB8fCAoc3ltLT5tb2R1bGUgJiYgc3ltLT5hdHRyLmlmX3NvdXJjZSAhPSBJ RlNSQ19ERUNMCisJCSAgJiYgc3ltLT5iYWNrZW5kX2RlY2wpKTsKIAogICBp ZiAoc3ltLT5ucyAmJiBzeW0tPm5zLT5wcm9jX25hbWUgJiYgc3ltLT5ucy0+ cHJvY19uYW1lLT5hdHRyLmZ1bmN0aW9uKQogICAgIGJ5cmVmID0gZ2ZjX3Jl dHVybl9ieV9yZWZlcmVuY2UgKHN5bS0+bnMtPnByb2NfbmFtZSk7CkBAIC0x ODU0LDYgKzE4NTUsOSBAQCBidWlsZF9mdW5jdGlvbl9kZWNsIChnZmNfc3lt Ym9sICogc3ltLCBib29sIGdsb2JhbAogCSAgfHwgc3ltLT5hdHRyLnB1Ymxp Y191c2VkKSkKICAgICBUUkVFX1BVQkxJQyAoZm5kZWNsKSA9IDE7CiAKKyAg aWYgKHN5bS0+YXR0ci5yZWZlcmVuY2VkIHx8IHN5bS0+YXR0ci5lbnRyeV9t YXN0ZXIpCisgICAgVFJFRV9VU0VEIChmbmRlY2wpID0gMTsKKwogICBhdHRy aWJ1dGVzID0gYWRkX2F0dHJpYnV0ZXNfdG9fZGVjbCAoYXR0ciwgTlVMTF9U UkVFKTsKICAgZGVjbF9hdHRyaWJ1dGVzICgmZm5kZWNsLCBhdHRyaWJ1dGVz LCAwKTsKIAo= --001517448930e0c5c404cca6f669--