From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6604 invoked by alias); 8 Nov 2011 18:18:31 -0000 Received: (qmail 6578 invoked by uid 22791); 8 Nov 2011 18:18:25 -0000 X-SWARE-Spam-Status: No, hits=-3.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,TW_FN X-Spam-Check-By: sourceware.org Received: from mail-yw0-f47.google.com (HELO mail-yw0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 08 Nov 2011 18:18:10 +0000 Received: by ywf9 with SMTP id 9so902542ywf.20 for ; Tue, 08 Nov 2011 10:18:09 -0800 (PST) Received: by 10.236.154.193 with SMTP id h41mr44079493yhk.15.1320776156399; Tue, 08 Nov 2011 10:15:56 -0800 (PST) MIME-Version: 1.0 Received: by 10.236.154.193 with SMTP id h41mr44066222yhk.15.1320775948409; Tue, 08 Nov 2011 10:12:28 -0800 (PST) Received: by 10.151.47.7 with HTTP; Tue, 8 Nov 2011 10:11:58 -0800 (PST) Date: Tue, 08 Nov 2011 18:26:00 -0000 Message-ID: Subject: [PATCH] [Annotalysis] Support trylock attributes on virtual methods. From: Delesley Hutchins To: gcc-patches , Diego Novillo , Ollie Wild Content-Type: multipart/mixed; boundary=20cf303ea4a23b9ac204b13d1dc1 X-System-Of-Record: true X-IsSubscribed: yes 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: 2011-11/txt/msg01222.txt.bz2 --20cf303ea4a23b9ac204b13d1dc1 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 613 This patch fixes a bug wherein the trylock attribute would not work if it was attached to a virtual method. Bootstrapped and passed gcc regression testsuite on x86_64-unknown-linux-gnu. Okay for google/gcc-4_6? -DeLesley Changelog.google-4_6: 2011-11-08 DeLesley Hutchins * tree-threadsafe-analyze.c: factors out code to get function decl. testsuite/Changelog.google-4_6: 2011-11-08 DeLesley Hutchins * g++.dg/thread-ann/thread_annot_lock-85.C: New regression test -- DeLesley Hutchins | Software Engineer | delesley@google.com | 505-206-0315 --20cf303ea4a23b9ac204b13d1dc1 Content-Type: text/x-patch; charset=US-ASCII; name="gcc-virtual-trylock.patch" Content-Disposition: attachment; filename="gcc-virtual-trylock.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gur7rwm60 Content-length: 3990 SW5kZXg6IHRlc3RzdWl0ZS9nKysuZGcvdGhyZWFkLWFubi90aHJlYWRfYW5u b3RfbG9jay04NS5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3Rz dWl0ZS9nKysuZGcvdGhyZWFkLWFubi90aHJlYWRfYW5ub3RfbG9jay04NS5D CShyZXZpc2lvbiAwKQorKysgdGVzdHN1aXRlL2crKy5kZy90aHJlYWQtYW5u L3RocmVhZF9hbm5vdF9sb2NrLTg1LkMJKHJldmlzaW9uIDApCkBAIC0wLDAg KzEsMjIgQEAKKy8vIFJlZ3Jlc3Npb24gdGVzdCwgaGFuZGxlIHRyeWxvY2sg b24gdmlydHVhbCBtZXRob2QuIAorLy8geyBkZy1kbyBjb21waWxlIH0KKy8v IHsgZGctb3B0aW9ucyAiLVd0aHJlYWQtc2FmZXR5IiB9CisKKyNpbmNsdWRl ICJ0aHJlYWRfYW5ub3RfY29tbW9uLmgiCisKK2NsYXNzIExPQ0tBQkxFIExv Y2sgeworIHB1YmxpYzoKKyB2aXJ0dWFsIH5Mb2NrKCkge30KKyB2aXJ0dWFs IGJvb2wgVHJ5TG9jaygpIEVYQ0xVU0lWRV9UUllMT0NLX0ZVTkNUSU9OKHRy dWUpIHsgcmV0dXJuIHRydWU7IH0KKyB2b2lkIFVubG9jaygpIFVOTE9DS19G VU5DVElPTigpIHt9Cit9OworCisKK3ZvaWQgZm9vKCkgeworICBMb2NrIHg7 CisgIExvY2sgKnAgPSAmeDsKKyAgaWYgKHAtPlRyeUxvY2soKSkgeworICAg IHAtPlVubG9jaygpOworICB9Cit9CisKSW5kZXg6IHRyZWUtdGhyZWFkc2Fm ZS1hbmFseXplLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdHJlZS10 aHJlYWRzYWZlLWFuYWx5emUuYwkocmV2aXNpb24gMTgwOTg0KQorKysgdHJl ZS10aHJlYWRzYWZlLWFuYWx5emUuYwkod29ya2luZyBjb3B5KQpAQCAtMjUw OCwyNiArMjUwOCwxNCBAQAogICByZXR1cm47CiB9CiAKLS8qIFRoZSBtYWlu IHJvdXRpbmUgdGhhdCBoYW5kbGVzIGdpbXBsZSBjYWxsIHN0YXRlbWVudHMu ICAqLwogCi1zdGF0aWMgdm9pZAotaGFuZGxlX2NhbGxfZ3MgKGdpbXBsZSBj YWxsLCBzdHJ1Y3QgYmJfdGhyZWFkc2FmZV9pbmZvICpjdXJyZW50X2JiX2lu Zm8pCi17CisvKiBHZXQgdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGZyb20g YSBnaW1wbGUgY2FsbCBzdG10LiAgVGhpcyBoYW5kbGVzIGJvdGgKKyAgIG9y ZGluYXJ5IGZ1bmN0aW9uIGNhbGxzIGFuZCB2aXJ0dWFsIG1ldGhvZHMuICov CitzdGF0aWMgdHJlZQorZ2V0X2ZkZWNsX2Zyb21fZ2ltcGxlX3N0bXQgKGdp bXBsZSBjYWxsKSB7CiAgIHRyZWUgZmRlY2wgPSBnaW1wbGVfY2FsbF9mbmRl Y2wgKGNhbGwpOwotICBpbnQgbnVtX2FyZ3MgPSBnaW1wbGVfY2FsbF9udW1f YXJncyAoY2FsbCk7Ci0gIGludCBhcmdfaW5kZXggPSAwOwotICB0cmVlIGFy Z190eXBlID0gTlVMTF9UUkVFOwotICB0cmVlIGFyZzsKLSAgdHJlZSBsaHM7 Ci0gIGxvY2F0aW9uX3QgbG9jdXM7Ci0KLSAgaWYgKCFnaW1wbGVfaGFzX2xv Y2F0aW9uIChjYWxsKSkKLSAgICBsb2N1cyA9IGlucHV0X2xvY2F0aW9uOwot ICBlbHNlCi0gICAgbG9jdXMgPSBnaW1wbGVfbG9jYXRpb24gKGNhbGwpOwot CiAgIC8qIElmIHRoZSBjYWxsZWUgZm5kZWNsIGlzIE5VTEwsIGNoZWNrIGlm IGl0IGlzIGEgdmlydHVhbCBmdW5jdGlvbiwKLSAgICAgYW5kIGlmIHNvLCB0 cnkgdG8gZ2V0IGl0cyBkZWNsIHRocm91Z2ggdGhlIHJlZmVyZW5jZSBvYmpl Y3QuICAqLworICAgICAgIGFuZCBpZiBzbywgdHJ5IHRvIGdldCBpdHMgZGVj bCB0aHJvdWdoIHRoZSByZWZlcmVuY2Ugb2JqZWN0LiAgKi8KICAgaWYgKCFm ZGVjbCkKICAgICB7CiAgICAgICB0cmVlIGNhbGxlZSA9IGdpbXBsZV9jYWxs X2ZuIChjYWxsKTsKQEAgLTI1NDYsNyArMjUzNCwyOCBAQAogICAgICAgICAg ICAgICBmZGVjbCA9IGxhbmdfaG9va3MuZ2V0X3ZpcnR1YWxfZnVuY3Rpb25f ZGVjbCAoY2FsbGVlLCBvYmp0eXBlKTsgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICB9CiAgICAgfQorICByZXR1cm4gZmRlY2w7Cit9CiAKKworLyog VGhlIG1haW4gcm91dGluZSB0aGF0IGhhbmRsZXMgZ2ltcGxlIGNhbGwgc3Rh dGVtZW50cy4gICovCisKK3N0YXRpYyB2b2lkCitoYW5kbGVfY2FsbF9ncyAo Z2ltcGxlIGNhbGwsIHN0cnVjdCBiYl90aHJlYWRzYWZlX2luZm8gKmN1cnJl bnRfYmJfaW5mbykKK3sKKyAgdHJlZSBmZGVjbCA9IGdldF9mZGVjbF9mcm9t X2dpbXBsZV9zdG10IChjYWxsKTsKKyAgaW50IG51bV9hcmdzID0gZ2ltcGxl X2NhbGxfbnVtX2FyZ3MgKGNhbGwpOworICBpbnQgYXJnX2luZGV4ID0gMDsK KyAgdHJlZSBhcmdfdHlwZSA9IE5VTExfVFJFRTsKKyAgdHJlZSBhcmc7Cisg IHRyZWUgbGhzOworICBsb2NhdGlvbl90IGxvY3VzOworCisgIGlmICghZ2lt cGxlX2hhc19sb2NhdGlvbiAoY2FsbCkpCisgICAgbG9jdXMgPSBpbnB1dF9s b2NhdGlvbjsKKyAgZWxzZQorICAgIGxvY3VzID0gZ2ltcGxlX2xvY2F0aW9u IChjYWxsKTsKKwogICAvKiBUaGUgY2FsbGVlIGZuZGVjbCBjb3VsZCBiZSBO VUxMLCBlLmcuLCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgaW4KICAg ICAgYXMgYW4gYXJndW1lbnQuICAqLwogICBpZiAoZmRlY2wpCkBAIC0yODM5 LDcgKzI4NDgsOCBAQAogICAgICAgICB9CiAgICAgICBlbHNlIGlmIChpc19n aW1wbGVfY2FsbCAoZ3MpKQogICAgICAgICB7Ci0gICAgICAgICAgdHJlZSBm ZGVjbCA9IGdpbXBsZV9jYWxsX2ZuZGVjbCAoZ3MpOworICAgICAgICAgIHRy ZWUgZmRlY2wgPSBnZXRfZmRlY2xfZnJvbV9naW1wbGVfc3RtdCAoZ3MpOwor CiAgICAgICAgICAgLyogVGhlIGZ1bmN0aW9uIGRlY2wgY291bGQgYmUgbnVs bCBpbiBzb21lIGNhc2VzLCBlLmcuCiAgICAgICAgICAgICAgYSBmdW5jdGlv biBwb2ludGVyIHBhc3NlZCBpbiBhcyBhIHBhcmFtZXRlci4gICovCiAgICAg ICAgICAgaWYgKGZkZWNsCg== --20cf303ea4a23b9ac204b13d1dc1--