From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88971 invoked by alias); 14 Feb 2018 17:11:16 -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 88962 invoked by uid 89); 14 Feb 2018 17:11:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy= X-HELO: mail-it0-f48.google.com Received: from mail-it0-f48.google.com (HELO mail-it0-f48.google.com) (209.85.214.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Feb 2018 17:11:14 +0000 Received: by mail-it0-f48.google.com with SMTP id l187so6135266ith.4 for ; Wed, 14 Feb 2018 09:11:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=E4mgliEa7vWRc+9riETXQkFgd00Dx+caNSKti8ptJ44=; b=QbgwwxH7eQKE2RcBXR/h8Y3mCOa6usqqgYPR9R8filzP81EzdftFdCQT9J7E4Cs7Hz bjyrfcVhP2oxzw2T42rek7ak+zfVtJT3/HJS7vRx4S9EqFwS3iZn/7jFBtlLBnrJqrpC ZO2obLO4RFVzi7INt7gSykgTPHEF7owor70UXy6e/2fpjcQ09u65LVp83e9pVoEiSH1L Z6nk7LtmuoqlNHAXu0ltareyhopR87ikfSo46PRbZ7n3rJOEoQCQLiwYEnZqIoB+1RTb rt1WyX4hXADejJgB9aZ4zPgjlFdXEJ+Ut5KW7U1q6JyAmRiMpFyVswZSvILeuq6IqifQ 5l5w== X-Gm-Message-State: APf1xPBHR3eT55XTOBIX1w0Lic9o6QX1Ny9f8jeg3InJjof++GXxD8v4 pjv9LBjsgucN2f2D3LN5abntQdgWykhSrxaXQAovnQeI X-Google-Smtp-Source: AH8x227DS2CVgo6/ucBqVCQGsSYUMb+fY2fTwL878Mcuj9TPe6oYuIfP8UT4HCgDctLZtIU6E9Q0T1rhfggXnGGOOT8= X-Received: by 10.36.61.142 with SMTP id n136mr6964159itn.6.1518628272261; Wed, 14 Feb 2018 09:11:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.17.200 with HTTP; Wed, 14 Feb 2018 09:10:51 -0800 (PST) From: Jason Merrill Date: Wed, 14 Feb 2018 17:11:00 -0000 Message-ID: Subject: RFA: PATCH to build_type_attribute_qual_variant for c++/84314, ICE with fastcall To: gcc-patches List Content-Type: multipart/mixed; boundary="001a1144467eb71cd105652f32ee" X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00855.txt.bz2 --001a1144467eb71cd105652f32ee Content-Type: text/plain; charset="UTF-8" Content-length: 484 This testcase involves a fastcall-qualified function type. During mangling, we use build_type_attribute_qual_variant to look up an attribute-unqualified version of that type. build_type_attribute_qual_variant calls type_hash_canon and finds the original unqualified type, but then clobbers its TYPE_CANONICAL because it's incompatible with the fastcall-qualified type. Fixed by leaving TYPE_CANONICAL of a previously existing type alone. Tested x86_64-pc-linux-gnu. OK for trunk? --001a1144467eb71cd105652f32ee Content-Type: text/plain; charset="US-ASCII"; name="84314.diff" Content-Disposition: attachment; filename="84314.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jdnc0t1n0 Content-length: 7198 Y29tbWl0IGRjYTA0YzdmYjlkNzAwMmQzNDJmNmU1ZDQ3ZGZiZTg1NTY5ZGJj NWUKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFR1ZSBGZWIgMTMgMTU6MTU6MjYgMjAxOCAtMDUwMAoKICAgICAg ICAgICAgUFIgYysrLzg0MzE0IC0gSUNFIHdpdGggdGVtcGxhdGVzIGFuZCBm YXN0Y2FsbCBhdHRyaWJ1dGUuCiAgICAKICAgICAgICAgICAgKiBhdHRyaWJz LmMgKGJ1aWxkX3R5cGVfYXR0cmlidXRlX3F1YWxfdmFyaWFudCk6IERvbid0 IGNsb2JiZXIKICAgICAgICAgICAgVFlQRV9DQU5PTklDQUwgb24gYW4gZXhp c3RpbmcgdHlwZS4KCmRpZmYgLS1naXQgYS9nY2MvYXR0cmlicy5jIGIvZ2Nj L2F0dHJpYnMuYwppbmRleCAyY2FjOWM0MDNiNC4uZDEzYTNkNGI4OGIgMTAw NjQ0Ci0tLSBhL2djYy9hdHRyaWJzLmMKKysrIGIvZ2NjL2F0dHJpYnMuYwpA QCAtMTEyNywxOSArMTEyNywyOSBAQCBidWlsZF90eXBlX2F0dHJpYnV0ZV9x dWFsX3ZhcmlhbnQgKHRyZWUgb3R5cGUsIHRyZWUgYXR0cmlidXRlLCBpbnQg cXVhbHMpCiAJdHR5cGUgPSAobGFuZ19ob29rcy50eXBlcy5jb3B5X2xhbmdf cXVhbGlmaWVycwogCQkgKHR0eXBlLCBUWVBFX01BSU5fVkFSSUFOVCAob3R5 cGUpKSk7CiAKLSAgICAgIG50eXBlID0gYnVpbGRfZGlzdGluY3RfdHlwZV9j b3B5ICh0dHlwZSk7CisgICAgICB0cmVlIGR0eXBlID0gbnR5cGUgPSBidWls ZF9kaXN0aW5jdF90eXBlX2NvcHkgKHR0eXBlKTsKIAogICAgICAgVFlQRV9B VFRSSUJVVEVTIChudHlwZSkgPSBhdHRyaWJ1dGU7CiAKICAgICAgIGhhc2h2 YWxfdCBoYXNoID0gdHlwZV9oYXNoX2Nhbm9uX2hhc2ggKG50eXBlKTsKICAg ICAgIG50eXBlID0gdHlwZV9oYXNoX2Nhbm9uIChoYXNoLCBudHlwZSk7CiAK LSAgICAgIC8qIElmIHRoZSB0YXJnZXQtZGVwZW5kZW50IGF0dHJpYnV0ZXMg bWFrZSBOVFlQRSBkaWZmZXJlbnQgZnJvbQotCSBpdHMgY2Fub25pY2FsIHR5 cGUsIHdlIHdpbGwgbmVlZCB0byB1c2Ugc3RydWN0dXJhbCBlcXVhbGl0eQot CSBjaGVja3MgZm9yIHRoaXMgdHlwZS4gICovCi0gICAgICBpZiAoVFlQRV9T VFJVQ1RVUkFMX0VRVUFMSVRZX1AgKHR0eXBlKQotCSAgfHwgIWNvbXBfdHlw ZV9hdHRyaWJ1dGVzIChudHlwZSwgdHR5cGUpKQotCVNFVF9UWVBFX1NUUlVD VFVSQUxfRVFVQUxJVFkgKG50eXBlKTsKKyAgICAgIGlmIChudHlwZSAhPSBk dHlwZSkKKwkvKiBUaGlzIHZhcmlhbnQgd2FzIGFscmVhZHkgaW4gdGhlIGhh c2ggdGFibGUsIGRvbid0IG1lc3Mgd2l0aAorCSAgIFRZUEVfQ0FOT05JQ0FM LiAgKi87CisgICAgICBlbHNlIGlmIChUWVBFX1NUUlVDVFVSQUxfRVFVQUxJ VFlfUCAodHR5cGUpCisJICAgICAgIHx8ICFjb21wX3R5cGVfYXR0cmlidXRl cyAobnR5cGUsIHR0eXBlKSkKKwl7CisJICAvKiBJZiB0aGUgdGFyZ2V0LWRl cGVuZGVudCBhdHRyaWJ1dGVzIG1ha2UgTlRZUEUgZGlmZmVyZW50IGZyb20K KwkgICAgIGl0cyBjYW5vbmljYWwgdHlwZSwgd2Ugd2lsbCBuZWVkIHRvIHVz ZSBzdHJ1Y3R1cmFsIGVxdWFsaXR5CisJICAgICBjaGVja3MgZm9yIHRoaXMg dHlwZS4KKworCSAgICAgQnV0IG1ha2Ugc3VyZSB3ZSBkb24ndCBnZXQgaGVy ZSBmb3Igc3RyaXBwaW5nIGF0dHJpYnV0ZXMgZnJvbSBhCisJICAgICB0eXBl OyB0aGUgbm8tYXR0cmlidXRlIHR5cGUgbWlnaHQgbm90IG5lZWQgc3RydWN0 dXJhbCBjb21wYXJpc29uLAorCSAgICAgYW5kIGl0IHNob3VsZCBoYXZlIGJl ZW4gaW4gdGhlIGhhc2ggdGFibGUgYWxyZWFkeS4gICovCisJICBnY2NfYXNz ZXJ0IChhdHRyaWJ1dGUpOworCSAgU0VUX1RZUEVfU1RSVUNUVVJBTF9FUVVB TElUWSAobnR5cGUpOworCX0KICAgICAgIGVsc2UgaWYgKFRZUEVfQ0FOT05J Q0FMIChudHlwZSkgPT0gbnR5cGUpCiAJVFlQRV9DQU5PTklDQUwgKG50eXBl KSA9IFRZUEVfQ0FOT05JQ0FMICh0dHlwZSk7CiAKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZysrLmRnL2V4dC9hdHRyaWI1NS5DIGIvZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvZXh0L2F0dHJpYjU1LkMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRjMGNkYzQ4YjdhCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L2F0dHJpYjU1LkMK QEAgLTAsMCArMSw5OSBAQAorLy8gUFIgYysrLzg0MzE0CisvLyB7IGRnLWRv IGNvbXBpbGUgeyB0YXJnZXQgeyB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSAm JiBpYTMyIH0gfSB9CisvLyB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXcg LXN0ZD1jKysxMSIgfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgYSwgYSBiPiBz dHJ1Y3QgYyB7IHN0YXRpYyBjb25zdGV4cHIgYSBkID0gYjsgfTsKK3RlbXBs YXRlIDxib29sIGI+IHVzaW5nIGUgPSBjPGJvb2wsIGI+OwordGVtcGxhdGUg PGJvb2wsIHR5cGVuYW1lLCB0eXBlbmFtZT4gc3RydWN0IGNvbmRpdGlvbmFs OwordGVtcGxhdGUgPHR5cGVuYW1lLi4uPiBzdHJ1Y3QgZjsKK3RlbXBsYXRl IDx0eXBlbmFtZSBnLCB0eXBlbmFtZSBoPgorc3RydWN0IGY8ZywgaD4gOiBj b25kaXRpb25hbDxnOjpkLCBnLCBoPjo6aSB7fTsKK3RlbXBsYXRlIDx0eXBl bmFtZS4uLj4gc3RydWN0IGo7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgZywgdHlw ZW5hbWUgaD4gc3RydWN0IGo8ZywgaD4gOiBjb25kaXRpb25hbDwxLCBoLCBn Pjo6aSB7fTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBnLCB0eXBlbmFtZSBoLCB0 eXBlbmFtZSBrLCB0eXBlbmFtZS4uLiBsPgorc3RydWN0IGo8ZywgaCwgaywg bC4uLj4gOiBjb25kaXRpb25hbDwxLCBqPGgsIGs+LCBnPjo6aSB7fTsKK3N0 cnVjdCBhYSA6IGU8IWJvb2woKT4ge307Cit0ZW1wbGF0ZSA8dHlwZW5hbWUs IHR5cGVuYW1lPiBzdHJ1Y3QgbSA6IGM8Ym9vbCwgZmFsc2U+IHt9OwordGVt cGxhdGUgPHR5cGVuYW1lLCB0eXBlbmFtZSBuPiBzdHJ1Y3QgbyB7CisgIHRl bXBsYXRlIDx0eXBlbmFtZT4gc3RhdGljIGM8Ym9vbCwgdHJ1ZT4gcChpbnQp OworICB0eXBlZGVmIGRlY2x0eXBlKHA8bj4oMCkpIGk7Cit9OwordGVtcGxh dGUgPHR5cGVuYW1lLCB0eXBlbmFtZT4gc3RydWN0IGFiIDogbzxpbnQsIGlu dD46Omkge307Cit0ZW1wbGF0ZSA8dHlwZW5hbWU+IHN0cnVjdCBzIHsgdHlw ZWRlZiBpbnQgYWQ7IH07Cit0ZW1wbGF0ZSA8Ym9vbCwgdHlwZW5hbWUgPSB2 b2lkPiBzdHJ1Y3QgcTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBhPiBzdHJ1Y3Qg cTx0cnVlLCBhPiB7IHR5cGVkZWYgYSBpOyB9OwordGVtcGxhdGUgPGJvb2ws IHR5cGVuYW1lIGFlLCB0eXBlbmFtZT4gc3RydWN0IGNvbmRpdGlvbmFsIHsg dHlwZWRlZiBhZSBpOyB9OwordGVtcGxhdGUgPHR5cGVuYW1lIGFlLCB0eXBl bmFtZSByPiBzdHJ1Y3QgY29uZGl0aW9uYWw8ZmFsc2UsIGFlLCByPiB7Cisg IHR5cGVkZWYgciBpOworfTsKK3N0cnVjdCBCIHsKKyAgQihpbnQpOworfTsK K3RlbXBsYXRlIDx1bnNpZ25lZCwgdHlwZW5hbWUuLi4+IHN0cnVjdCBhZjsK K3RlbXBsYXRlIDx1bnNpZ25lZCBhZywgdHlwZW5hbWUgdCwgdHlwZW5hbWUu Li4gYWg+CitzdHJ1Y3QgYWY8YWcsIHQsIGFoLi4uPiA6IGFmPDEsIGFoLi4u PiwgQiB7CisgIHR5cGVkZWYgYWY8MSwgYWguLi4+IGFpOworICBhaSBhbChh Zik7CisgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBhbT4gYWYoYWY8YWcsIGFt Li4uPiBwMSkgOiBhaShhbChwMSkpLCBCKDApIHt9Cit9OwordGVtcGxhdGUg PHVuc2lnbmVkIGFnLCB0eXBlbmFtZSB0PiBzdHJ1Y3QgYWY8YWcsIHQ+IHt9 OwordGVtcGxhdGUgPGludCwgdHlwZW5hbWUuLi4gYW8+IHN0cnVjdCBhcCB7 CisgIHRlbXBsYXRlIDx0eXBlbmFtZS4uLiBhbT4gc3RhdGljIGNvbnN0ZXhw ciBib29sIGFyKCkgeworICAgIHJldHVybiBqPGFiPGFtLCBhbz4uLi4+Ojpk OworICB9Cit9OwordGVtcGxhdGUgPHR5cGVuYW1lLi4uIGFvPiBjbGFzcyBh cyA6IHB1YmxpYyBhZjwwLCBhby4uLj4geworICB0eXBlZGVmIGFmPDAsIGFv Li4uPiBhaTsKKworcHVibGljOgorICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4+ IHVzaW5nIGF1ID0gYXA8bTxpbnQsIGludD46OmQsIGFvLi4uPjsKKyAgdGVt cGxhdGUgPHR5cGVuYW1lLi4uIGFtLAorICAgICAgICAgICAgdHlwZW5hbWUg cTxhdTw+Ojp0ZW1wbGF0ZSBhcjxhbS4uLj4oKSwgYm9vbD46OmkgPSB0cnVl PgorICBhcyhhczxhbS4uLj4gYW4pIDogYWkoYW4pIHt9Cit9OwordGVtcGxh dGUgPHR5cGVuYW1lLi4uIGFvPiBhczx0eXBlbmFtZSBzPGFvPjo6YWQuLi4+ IGF4KGFvLi4uKTsKK25hbWVzcGFjZSBheSB7CitjbGFzcyBheiB7fTsKK30K K3VzaW5nIGF5OjphejsKK25hbWVzcGFjZSBheSB7Cit0ZW1wbGF0ZSA8dHlw ZW5hbWUgYmE+IHN0cnVjdCBDIHsgdHlwZWRlZiBiYSBiYzsgfTsKK30KK3Rl bXBsYXRlIDx0eXBlbmFtZT4gY2xhc3MgYmQ7Cit0ZW1wbGF0ZSA8dHlwZW5h bWUgYmksIHR5cGVuYW1lIG4+IHVzaW5nIGJqID0gZjxtPGJpLCBuPiwgYWI8 YmksIG4+PjsKK3RlbXBsYXRlIDx0eXBlbmFtZSBiZiwgdHlwZW5hbWUuLi4g Ymg+IGNsYXNzIGJkPGJmKGJoLi4uKT4geworICBzdHJ1Y3QgRiA6IGJqPGlu dCwgYmY+IHt9OworICB0ZW1wbGF0ZSA8dHlwZW5hbWUgYmwsIHR5cGVuYW1l PiB1c2luZyBibSA9IHR5cGVuYW1lIHE8Ymw6OmQ+OjppOworCitwdWJsaWM6 CisgIHRlbXBsYXRlIDx0eXBlbmFtZSBiZywgdHlwZW5hbWUgPSBibTxhYSwg dm9pZD4sIHR5cGVuYW1lID0gYm08Riwgdm9pZD4+CisgIGJkKGJnKTsKKyAg dXNpbmcgYm4gPSBiZjsKKyAgYm4gYm87Cit9OwordGVtcGxhdGUgPHR5cGVu YW1lIGJmLCB0eXBlbmFtZS4uLiBiaD4KK3RlbXBsYXRlIDx0eXBlbmFtZSBi ZywgdHlwZW5hbWUsIHR5cGVuYW1lPgorYmQ8YmYoYmguLi4pPjo6YmQoYmcp IHsKKyAgYm87Cit9Cit0eXBlZGVmIGxvbmcgbG9uZyhfX2F0dHJpYnV0ZV9f KChmYXN0Y2FsbCkpIGJxKShpbnQgKik7CitzdHJ1Y3QgdiA6IGF5OjpDPGFz PGJxLCBicSwgaW50Pj4geworICBiYyBidCgpIHsgcmV0dXJuIGF4KG51bGxw dHIsIG51bGxwdHIsIGF6KCkpOyB9Cit9OworY2xhc3MgdyB7CitwdWJsaWM6 CisgIGludCAqY2MoKTsKK307CitjbGFzcyB4IDogdyB7CisgIHZvaWQgY2Uo KTsKK307CituYW1lc3BhY2UgdSB7CitjbGFzcyBjZiB7CitwdWJsaWM6Cisg IHN0YXRpYyBjZiBjZyhpbnQsIGludCAqLCBpbnQsIGF6LCBiZDxsb25nIGxv bmcoaW50ICopPik7Cit9OworfQordm9pZCB4OjpjZSgpIHsKKyAgYXV0byBi dSA9IDA7CisgIHU6OmNmOjpjZyhidSwgY2MoKSwgMSwge30sIDApOworfQo= --001a1144467eb71cd105652f32ee--