From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52509 invoked by alias); 27 Nov 2017 21:30:34 -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 52316 invoked by uid 89); 27 Nov 2017 21:30:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=ics X-HELO: mail-io0-f170.google.com Received: from mail-io0-f170.google.com (HELO mail-io0-f170.google.com) (209.85.223.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 27 Nov 2017 21:30:03 +0000 Received: by mail-io0-f170.google.com with SMTP id s37so27058192ioe.10 for ; Mon, 27 Nov 2017 13:30:03 -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=agQ5OkifctAtIsGG8EmcxhpBbhMo8y9du5hFswdjwzk=; b=Z0l0+m9W4WFomRrpyK+vke9iOfBYh2Xt6alGRCr4a/Y7+iw77kIQOb7vCHhBhjQjy8 lw9K0S7knyG/i1Gi1FHrjSJT4a0G/ecn8d+2hhlDHbHQbIMSyFlVcwAqxWbAAigND4hI G5EXIPRSNGxLp8Lv59lGuq0Qu1fTqUi8n7w8Kl0ZTD3Er2PzE2I6FQIoUxj34T4nT0Qr T+sULymoq8gMlrGFL6ryDQ2Z245bqP5EFZNUn59Bzonjsykf+A43J0dXqS6DcKsgYsX2 HkuO22tUYQHVpIC53JdxHV9yxwjjyZVDOC8ZW/geGmQoXWHi9wJBZkS6TSVcnNjNPZ1U 12+w== X-Gm-Message-State: AJaThX5kaDf4pDLkvbWe86/CvQH8sUDOE3BShhHjkBgR8ufPvGmUE3jE N8x5jCSG16ZzmdHRe2WACDz/X8xk9G8khEg//wuqiO4t X-Google-Smtp-Source: AGs4zMaJcXn/1eVhrbWjMxkFQDJxnelfRllOFWmSsLwTEiCR1yFkNka/y24I4D/jPspaiaAHtTCw4rn/3100LtRlJj0= X-Received: by 10.107.47.1 with SMTP id j1mr37660124ioo.217.1511818201316; Mon, 27 Nov 2017 13:30:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.171.134 with HTTP; Mon, 27 Nov 2017 13:29:40 -0800 (PST) From: Jason Merrill Date: Mon, 27 Nov 2017 21:37:00 -0000 Message-ID: Subject: C++ PATCH to primary_template_instantiation_p To: gcc-patches List Content-Type: multipart/mixed; boundary="001a11377fbcdb031c055efd9ad7" X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg02330.txt.bz2 --001a11377fbcdb031c055efd9ad7 Content-Type: text/plain; charset="UTF-8" Content-length: 250 All the uses of primary_template_instantiation_p actually want to query whether the entity in question is a specialization of the template, not whether it's an instantiation or explicit specialization. Tested x86_64-pc-linux-gnu, applying to trunk. --001a11377fbcdb031c055efd9ad7 Content-Type: text/plain; charset="US-ASCII"; name="primary-tmpl.diff" Content-Disposition: attachment; filename="primary-tmpl.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jaipibty0 Content-length: 6792 Y29tbWl0IGNhMGEyOTk4NTQwMzAyN2MzNDM4ZTVjM2M0NWFmMzVjYTFkYTZi YjIKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIEZyaSBOb3YgMTcgMTI6MTg6NTcgMjAxNyAtMDUwMAoKICAgICAg ICAgICAgKiBwdC5jIChwcmltYXJ5X3RlbXBsYXRlX3NwZWNpYWxpemF0aW9u X3ApOiBSZW5hbWUgZnJvbQogICAgCiAgICAgICAgICAgIHByaW1hcnlfdGVt cGxhdGVfaW5zdGFudGlhdGlvbl9wLiAgRG9uJ3QgY2hlY2sKICAgICAgICAg ICAgREVDTF9URU1QTEFURV9JTlNUQU5USUFUSU9OLgogICAgICAgICAgICAq IGNhbGwuYywgY3AtdHJlZS5oLCBkZWNsMi5jOiBBZGp1c3QuCgpkaWZmIC0t Z2l0IGEvZ2NjL2NwL2NhbGwuYyBiL2djYy9jcC9jYWxsLmMKaW5kZXggZDI0 MmIwN2EwNmIuLjE3N2MzY2MxM2UzIDEwMDY0NAotLS0gYS9nY2MvY3AvY2Fs bC5jCisrKyBiL2djYy9jcC9jYWxsLmMKQEAgLTM4OTUsNyArMzg5NSw3IEBA IGJ1aWxkX3VzZXJfdHlwZV9jb252ZXJzaW9uXzEgKHRyZWUgdG90eXBlLCB0 cmVlIGV4cHIsIGludCBmbGFncywKIAkJPSBiYWRfYXJnX2NvbnZlcnNpb25f cmVqZWN0aW9uIChOVUxMX1RSRUUsIC0yLAogCQkJCQkJcmV0dHlwZSwgdG90 eXBlKTsKIAkgICAgfQotCSAgZWxzZSBpZiAocHJpbWFyeV90ZW1wbGF0ZV9p bnN0YW50aWF0aW9uX3AgKGNhbmQtPmZuKQorCSAgZWxzZSBpZiAocHJpbWFy eV90ZW1wbGF0ZV9zcGVjaWFsaXphdGlvbl9wIChjYW5kLT5mbikKIAkJICAg JiYgaWNzLT5yYW5rID4gY3JfZXhhY3QpCiAJICAgIHsKIAkgICAgICAvKiAx My4zLjMuMS4yOiBJZiB0aGUgdXNlci1kZWZpbmVkIGNvbnZlcnNpb24gaXMg c3BlY2lmaWVkIGJ5CkBAIC02MTExLDcgKzYxMTEsNyBAQCBhbGlnbmVkX2Rl YWxsb2NhdGlvbl9mbl9wICh0cmVlIHQpCiAgIC8qIEEgdGVtcGxhdGUgaW5z dGFuY2UgaXMgbmV2ZXIgYSB1c3VhbCBkZWFsbG9jYXRpb24gZnVuY3Rpb24s CiAgICAgIHJlZ2FyZGxlc3Mgb2YgaXRzIHNpZ25hdHVyZS4gICovCiAgIGlm IChUUkVFX0NPREUgKHQpID09IFRFTVBMQVRFX0RFQ0wKLSAgICAgIHx8IHBy aW1hcnlfdGVtcGxhdGVfaW5zdGFudGlhdGlvbl9wICh0KSkKKyAgICAgIHx8 IHByaW1hcnlfdGVtcGxhdGVfc3BlY2lhbGl6YXRpb25fcCAodCkpCiAgICAg cmV0dXJuIGZhbHNlOwogCiAgIHRyZWUgYSA9IEZVTkNUSU9OX0FSR19DSEFJ TiAodCk7CkBAIC02MTM2LDcgKzYxMzYsNyBAQCB1c3VhbF9kZWFsbG9jYXRp b25fZm5fcCAodHJlZSB0KQogICAvKiBBIHRlbXBsYXRlIGluc3RhbmNlIGlz IG5ldmVyIGEgdXN1YWwgZGVhbGxvY2F0aW9uIGZ1bmN0aW9uLAogICAgICBy ZWdhcmRsZXNzIG9mIGl0cyBzaWduYXR1cmUuICAqLwogICBpZiAoVFJFRV9D T0RFICh0KSA9PSBURU1QTEFURV9ERUNMCi0gICAgICB8fCBwcmltYXJ5X3Rl bXBsYXRlX2luc3RhbnRpYXRpb25fcCAodCkpCisgICAgICB8fCBwcmltYXJ5 X3RlbXBsYXRlX3NwZWNpYWxpemF0aW9uX3AgKHQpKQogICAgIHJldHVybiBm YWxzZTsKIAogICAvKiBJZiBhIGNsYXNzIFQgaGFzIGEgbWVtYmVyIGRlYWxs b2NhdGlvbiBmdW5jdGlvbiBuYW1lZCBvcGVyYXRvciBkZWxldGUKZGlmZiAt LWdpdCBhL2djYy9jcC9jcC10cmVlLmggYi9nY2MvY3AvY3AtdHJlZS5oCmlu ZGV4IDFjMTljM2QzMWY4Li5jYjEyYzgzNTI5OCAxMDA2NDQKLS0tIGEvZ2Nj L2NwL2NwLXRyZWUuaAorKysgYi9nY2MvY3AvY3AtdHJlZS5oCkBAIC02NTU2 LDcgKzY1NTYsNyBAQCBleHRlcm4gdm9pZCBpbml0X3RlbXBsYXRlX3Byb2Nl c3NpbmcJCSh2b2lkKTsKIGV4dGVybiB2b2lkIHByaW50X3RlbXBsYXRlX3N0 YXRpc3RpY3MJCSh2b2lkKTsKIGJvb2wgdGVtcGxhdGVfdGVtcGxhdGVfcGFy YW1ldGVyX3AJCShjb25zdF90cmVlKTsKIGJvb2wgdGVtcGxhdGVfdHlwZV9w YXJhbWV0ZXJfcCAgICAgICAgICAgICAgICAgIChjb25zdF90cmVlKTsKLWV4 dGVybiBib29sIHByaW1hcnlfdGVtcGxhdGVfaW5zdGFudGlhdGlvbl9wICAg IChjb25zdF90cmVlKTsKK2V4dGVybiBib29sIHByaW1hcnlfdGVtcGxhdGVf c3BlY2lhbGl6YXRpb25fcCAgIChjb25zdF90cmVlKTsKIGV4dGVybiB0cmVl IGdldF9wcmltYXJ5X3RlbXBsYXRlX2lubmVybW9zdF9wYXJhbWV0ZXJzCShj b25zdF90cmVlKTsKIGV4dGVybiB0cmVlIGdldF90ZW1wbGF0ZV9wYXJtc19h dF9sZXZlbCAodHJlZSwgaW50KTsKIGV4dGVybiB0cmVlIGdldF90ZW1wbGF0 ZV9pbm5lcm1vc3RfYXJndW1lbnRzCShjb25zdF90cmVlKTsKZGlmZiAtLWdp dCBhL2djYy9jcC9wdC5jIGIvZ2NjL2NwL3B0LmMKaW5kZXggMmI3MDk2OTk5 OWUuLjUzZDg2ZmI4NzIyIDEwMDY0NAotLS0gYS9nY2MvY3AvcHQuYworKysg Yi9nY2MvY3AvcHQuYwpAQCAtMzIxOSw3ICszMjE5LDcgQEAgZ2V0X2Z1bmN0 aW9uX3RlbXBsYXRlX2RlY2wgKGNvbnN0X3RyZWUgcHJpbWFyeV9mdW5jX3Rt cGxfaW5zdCkKIHsKICAgaWYgKCEgcHJpbWFyeV9mdW5jX3RtcGxfaW5zdAog ICAgICAgfHwgVFJFRV9DT0RFIChwcmltYXJ5X2Z1bmNfdG1wbF9pbnN0KSAh PSBGVU5DVElPTl9ERUNMCi0gICAgICB8fCAhIHByaW1hcnlfdGVtcGxhdGVf aW5zdGFudGlhdGlvbl9wIChwcmltYXJ5X2Z1bmNfdG1wbF9pbnN0KSkKKyAg ICAgIHx8ICEgcHJpbWFyeV90ZW1wbGF0ZV9zcGVjaWFsaXphdGlvbl9wIChw cmltYXJ5X2Z1bmNfdG1wbF9pbnN0KSkKICAgICByZXR1cm4gTlVMTDsKIAog ICByZXR1cm4gREVDTF9URU1QTEFURV9SRVNVTFQgKERFQ0xfVElfVEVNUExB VEUgKHByaW1hcnlfZnVuY190bXBsX2luc3QpKTsKQEAgLTMyODcsMjEgKzMy ODcsMjMgQEAgbWFrZV9pdGhfcGFja19wYXJhbWV0ZXJfbmFtZSAodHJlZSBu YW1lLCBpbnQgaSkKIH0KIAogLyogUmV0dXJuIHRydWUgaWYgVCBpcyBhIHBy aW1hcnkgZnVuY3Rpb24sIGNsYXNzIG9yIGFsaWFzIHRlbXBsYXRlCi0gICBp bnN0YW50aWF0aW9uLiAgKi8KKyAgIHNwZWNpYWxpemF0aW9uLCBub3QgaW5j bHVkaW5nIHRoZSB0ZW1wbGF0ZSBwYXR0ZXJuLiAgKi8KIAogYm9vbAotcHJp bWFyeV90ZW1wbGF0ZV9pbnN0YW50aWF0aW9uX3AgKGNvbnN0X3RyZWUgdCkK K3ByaW1hcnlfdGVtcGxhdGVfc3BlY2lhbGl6YXRpb25fcCAoY29uc3RfdHJl ZSB0KQogewogICBpZiAoIXQpCiAgICAgcmV0dXJuIGZhbHNlOwogCi0gIGlm IChUUkVFX0NPREUgKHQpID09IEZVTkNUSU9OX0RFQ0wpCi0gICAgcmV0dXJu IERFQ0xfTEFOR19TUEVDSUZJQyAodCkKLQkgICAmJiBERUNMX1RFTVBMQVRF X0lOU1RBTlRJQVRJT04gKHQpCi0JICAgJiYgUFJJTUFSWV9URU1QTEFURV9Q IChERUNMX1RJX1RFTVBMQVRFICh0KSk7CisgIGlmIChUUkVFX0NPREUgKHQp ID09IEZVTkNUSU9OX0RFQ0wgfHwgVkFSX1AgKHQpKQorICAgIHJldHVybiAo REVDTF9MQU5HX1NQRUNJRklDICh0KQorCSAgICAmJiBERUNMX1VTRV9URU1Q TEFURSAodCkKKwkgICAgJiYgREVDTF9URU1QTEFURV9JTkZPICh0KQorCSAg ICAmJiBQUklNQVJZX1RFTVBMQVRFX1AgKERFQ0xfVElfVEVNUExBVEUgKHQp KSk7CiAgIGVsc2UgaWYgKENMQVNTX1RZUEVfUCAodCkgJiYgIVRZUEVfREVD TF9BTElBU19QIChUWVBFX05BTUUgKHQpKSkKLSAgICByZXR1cm4gQ0xBU1NU WVBFX1RFTVBMQVRFX0lOU1RBTlRJQVRJT04gKHQpCi0JICAgJiYgUFJJTUFS WV9URU1QTEFURV9QIChDTEFTU1RZUEVfVElfVEVNUExBVEUgKHQpKTsKKyAg ICByZXR1cm4gKENMQVNTVFlQRV9URU1QTEFURV9JTkZPICh0KQorCSAgICAm JiBDTEFTU1RZUEVfVVNFX1RFTVBMQVRFICh0KQorCSAgICAmJiBQUklNQVJZ X1RFTVBMQVRFX1AgKENMQVNTVFlQRV9USV9URU1QTEFURSAodCkpKTsKICAg ZWxzZSBpZiAoYWxpYXNfdGVtcGxhdGVfc3BlY2lhbGl6YXRpb25fcCAodCkp CiAgICAgcmV0dXJuIHRydWU7CiAgIHJldHVybiBmYWxzZTsKQEAgLTMzMzYs NyArMzMzOCw3IEBAIGdldF9wcmltYXJ5X3RlbXBsYXRlX2lubmVybW9zdF9w YXJhbWV0ZXJzIChjb25zdF90cmVlIHQpCiAgIHRyZWUgcGFybXMgPSBOVUxM LCB0ZW1wbGF0ZV9pbmZvID0gTlVMTDsKIAogICBpZiAoKHRlbXBsYXRlX2lu Zm8gPSBnZXRfdGVtcGxhdGVfaW5mbyAodCkpCi0gICAgICAmJiBwcmltYXJ5 X3RlbXBsYXRlX2luc3RhbnRpYXRpb25fcCAodCkpCisgICAgICAmJiBwcmlt YXJ5X3RlbXBsYXRlX3NwZWNpYWxpemF0aW9uX3AgKHQpKQogICAgIHBhcm1z ID0gSU5ORVJNT1NUX1RFTVBMQVRFX1BBUk1TCiAJKERFQ0xfVEVNUExBVEVf UEFSTVMgKFRJX1RFTVBMQVRFICh0ZW1wbGF0ZV9pbmZvKSkpOwogCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9jcHAweC9mbnRtcGRlZmFy ZzJhLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9jcHAweC9mbnRtcGRlZmFy ZzJhLkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjQ5YzFlMDU1N2UwCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvY3BwMHgvZm50bXBkZWZhcmcyYS5DCkBAIC0wLDAgKzEsMjcg QEAKKy8vIFBSIGMrKy80NjgzMQorLy8geyBkZy1kbyBjb21waWxlIHsgdGFy Z2V0IGMrKzExIH0gfQorLy8geyBkZy1vcHRpb25zICIiIH0KKworc3RydWN0 IEIgeyB9Oworc3RydWN0IEQgOiBCIHsgfTsKK3N0cnVjdCBBIHsKKyAgdGVt cGxhdGU8dHlwZW5hbWUgVCA9IHZvaWQ+IG9wZXJhdG9yIEQmKCk7IC8vIHsg ZGctbWVzc2FnZSAidGVtcGxhdGUgY29udmVyc2lvbiIgfQorICBvcGVyYXRv ciBsb25nKCk7Cit9OworCit0ZW1wbGF0ZSA8PiBBOjpvcGVyYXRvciBEJigp OworCit2b2lkIGYobG9uZyk7Cit2b2lkIGYoQiYpOworCitzdHJ1Y3QgQTIg eworICB0ZW1wbGF0ZTx0eXBlbmFtZSBUID0gdm9pZD4gb3BlcmF0b3IgQiYo KTsKK307CisKK3ZvaWQgZjIoY29uc3QgQiYpOworCitpbnQgbWFpbigpIHsK KyAgZihBKCkpOworICBmMihBMigpKTsKKyAgZjIoQSgpKTsJCQkvLyB7IGRn LWVycm9yICIiIH0KK30K --001a11377fbcdb031c055efd9ad7--