From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38785 invoked by alias); 26 Jun 2017 18:49: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 38726 invoked by uid 89); 26 Jun 2017 18:49:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=As, packs X-HELO: mail-io0-f178.google.com Received: from mail-io0-f178.google.com (HELO mail-io0-f178.google.com) (209.85.223.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Jun 2017 18:49:13 +0000 Received: by mail-io0-f178.google.com with SMTP id h64so5894752iod.0 for ; Mon, 26 Jun 2017 11:49:13 -0700 (PDT) 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=o1Vttp5p/VOv8nvMOGh97AE/6BOS1n1O23s5rib2dUg=; b=b5WjOWqYUO8oy/JFW+bZETVfhfRKeHs5+YufDCDneXlzszKLg9W3jdnSf+B+GO+LVp N1TA5IcecsGJd26H7CrEiRjEHtEjyCl4V5G8cWJIDjH1sl1UKDgQaZ7pZXfFvtibvCh7 Fy1Wr8FTov1nlLEk0LfjLrG219UqKvuceWhLijnyuhQu5J0q/2VEowmWtEWH0y4sdUJw AkrzS5J6IiKRoMehypbtrqazOHz/Tk8P0T8ZJqVcZscpbBXJBSjppQTfmQCKNMjxaXy6 v/jTMfOb2CZLUu5OTEiPVqwQyEXPNfIkgfAzZz6oALDkGep89lV8nGVUifJHPHnMpCEY /V9Q== X-Gm-Message-State: AKS2vOzX9CiBofFwcVSEJO9O3fa+4IH/oy/MesYNa+ZeHOv2uQ8dxk3f 2DBBWjzmnFPAthXXkAD/sAjzXHeoUv95Bmc= X-Received: by 10.107.46.29 with SMTP id i29mr2146507ioo.192.1498502951965; Mon, 26 Jun 2017 11:49:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.11.105 with HTTP; Mon, 26 Jun 2017 11:48:51 -0700 (PDT) From: Jason Merrill Date: Mon, 26 Jun 2017 18:49:00 -0000 Message-ID: Subject: C++ PATCH for c++/81215, deduction failure with variadic TTP To: gcc-patches List Content-Type: multipart/mixed; boundary="001a113703b425e1380552e16873" X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg01953.txt.bz2 --001a113703b425e1380552e16873 Content-Type: text/plain; charset="UTF-8" Content-length: 485 For the C++17 changes to handling of template template parameter matching, I replaced a lot of the old code. But it seems that this piece is still necessary when we aren't in C++17 mode, to handle the case where we are comparing C to set, with different numbers of arguments. This is handled in C++17 mode by coerce_ttp_args_for_tta, but that has other effects that we want to limit to C++17 mode, at least for now. Tested x86_64-pc-linux-gnu, applying to trunk and 7. --001a113703b425e1380552e16873 Content-Type: text/plain; charset="US-ASCII"; name="81215.diff" Content-Disposition: attachment; filename="81215.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4eho83j0 Content-length: 4913 Y29tbWl0IDZkZTg0ZmRhZWYzNGNkNDg2NDllZDUwMTk1OGFhM2M5M2IyODlm N2UKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIE1vbiBKdW4gMjYgMTQ6MzU6NTIgMjAxNyAtMDQwMAoKICAgICAg ICAgICAgUFIgYysrLzgxMjE1IC0gZGVkdWN0aW9uIGZhaWx1cmUgd2l0aCB2 YXJpYWRpYyBUVFAuCiAgICAKICAgICAgICAgICAgKiBwdC5jICh1bmlmeV9i b3VuZF90dHBfYXJncyk6IFJlc3RvcmUgb2xkIGxvZ2ljIGZvciBDKysxNCBh bmQgZG93bi4KCmRpZmYgLS1naXQgYS9nY2MvY3AvcHQuYyBiL2djYy9jcC9w dC5jCmluZGV4IDM5MmZiYTAuLjQzZjljYTggMTAwNjQ0Ci0tLSBhL2djYy9j cC9wdC5jCisrKyBiL2djYy9jcC9wdC5jCkBAIC03MTcwLDI2ICs3MTcwLDY4 IEBAIHVuaWZ5X2JvdW5kX3R0cF9hcmdzICh0cmVlIHRwYXJtcywgdHJlZSB0 YXJncywgdHJlZSBwYXJtLCB0cmVlJiBhcmcsCiAgIHBhcm12ZWMgPSBleHBh bmRfdGVtcGxhdGVfYXJndW1lbnRfcGFjayAocGFybXZlYyk7CiAgIGFyZ3Zl YyA9IGV4cGFuZF90ZW1wbGF0ZV9hcmd1bWVudF9wYWNrIChhcmd2ZWMpOwog Ci0gIHRyZWUgbnBhcm12ZWMgPSBwYXJtdmVjOwogICBpZiAoZmxhZ19uZXdf dHRwKQogICAgIHsKICAgICAgIC8qIEluIGtlZXBpbmcgd2l0aCBQMDUyMlIw LCBhZGp1c3QgUCdzIHRlbXBsYXRlIGFyZ3VtZW50cwogCSB0byBhcHBseSB0 byBBJ3MgdGVtcGxhdGU7IHRoZW4gZmxhdHRlbiBpdCBhZ2Fpbi4gICovCisg ICAgICB0cmVlIG5wYXJtdmVjID0gcGFybXZlYzsKICAgICAgIG5wYXJtdmVj ID0gY29lcmNlX3R0cF9hcmdzX2Zvcl90dGEgKGFyZywgcGFybXZlYywgdGZf bm9uZSk7CiAgICAgICBucGFybXZlYyA9IGV4cGFuZF90ZW1wbGF0ZV9hcmd1 bWVudF9wYWNrIChucGFybXZlYyk7CisKKyAgICAgIGlmICh1bmlmeSAodHBh cm1zLCB0YXJncywgbnBhcm12ZWMsIGFyZ3ZlYywKKwkJIFVOSUZZX0FMTE9X X05PTkUsIGV4cGxhaW5fcCkpCisJcmV0dXJuIDE7CisKKyAgICAgIC8qIElm IHRoZSBQMDUyMiBhZGp1c3RtZW50IGVsaW1pbmF0ZWQgYSBwYWNrIGV4cGFu c2lvbiwgZGVkdWNlCisJIGVtcHR5IHBhY2tzLiAgKi8KKyAgICAgIGlmIChm bGFnX25ld190dHAKKwkgICYmIFRSRUVfVkVDX0xFTkdUSCAobnBhcm12ZWMp IDwgVFJFRV9WRUNfTEVOR1RIIChwYXJtdmVjKQorCSAgJiYgdW5pZnlfcGFj a19leHBhbnNpb24gKHRwYXJtcywgdGFyZ3MsIHBhcm12ZWMsIGFyZ3ZlYywK KwkJCQkgICBERURVQ0VfRVhBQ1QsIC8qc3ViKi90cnVlLCBleHBsYWluX3Ap KQorCXJldHVybiAxOwogICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIC8q IERlZHVjZSBhcmd1bWVudHMgVCwgaSBmcm9tIFRUPFQ+IG9yIFRUPGk+Lgor CSBXZSBjaGVjayBlYWNoIGVsZW1lbnQgb2YgUEFSTVZFQyBhbmQgQVJHVkVD IGluZGl2aWR1YWxseQorCSByYXRoZXIgdGhhbiB0aGUgd2hvbGUgVFJFRV9W RUMgc2luY2UgdGhleSBjYW4gaGF2ZQorCSBkaWZmZXJlbnQgbnVtYmVyIG9m IGVsZW1lbnRzLCB3aGljaCBpcyBhbGxvd2VkIHVuZGVyIE4yNTU1LiAgKi8K KworICAgICAgaW50IGxlbiA9IFRSRUVfVkVDX0xFTkdUSCAocGFybXZlYyk7 CisKKyAgICAgIC8qIENoZWNrIGlmIHRoZSBwYXJhbWV0ZXJzIGVuZCBpbiBh IHBhY2ssIG1ha2luZyB0aGVtCisJIHZhcmlhZGljLiAgKi8KKyAgICAgIGlu dCBwYXJtX3ZhcmlhZGljX3AgPSAwOworICAgICAgaWYgKGxlbiA+IDAKKwkg ICYmIFBBQ0tfRVhQQU5TSU9OX1AgKFRSRUVfVkVDX0VMVCAocGFybXZlYywg bGVuIC0gMSkpKQorCXBhcm1fdmFyaWFkaWNfcCA9IDE7CiAKLSAgaWYgKHVu aWZ5ICh0cGFybXMsIHRhcmdzLCBucGFybXZlYywgYXJndmVjLAotCSAgICAg VU5JRllfQUxMT1dfTk9ORSwgZXhwbGFpbl9wKSkKLSAgICByZXR1cm4gMTsK LQotICAvKiBJZiB0aGUgUDA1MjIgYWRqdXN0bWVudCBlbGltaW5hdGVkIGEg cGFjayBleHBhbnNpb24sIGRlZHVjZQotICAgICBlbXB0eSBwYWNrcy4gICov Ci0gIGlmIChmbGFnX25ld190dHAKLSAgICAgICYmIFRSRUVfVkVDX0xFTkdU SCAobnBhcm12ZWMpIDwgVFJFRV9WRUNfTEVOR1RIIChwYXJtdmVjKQotICAg ICAgJiYgdW5pZnlfcGFja19leHBhbnNpb24gKHRwYXJtcywgdGFyZ3MsIHBh cm12ZWMsIGFyZ3ZlYywKLQkJCSAgICAgICBERURVQ0VfRVhBQ1QsIC8qc3Vi Ki90cnVlLCBleHBsYWluX3ApKQotICAgIHJldHVybiAxOworICAgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBsZW4gLSBwYXJtX3ZhcmlhZGljX3A7ICsraSkK KwkvKiBJZiB0aGUgdGVtcGxhdGUgYXJndW1lbnQgbGlzdCBvZiBQIGNvbnRh aW5zIGEgcGFjaworCSAgIGV4cGFuc2lvbiB0aGF0IGlzIG5vdCB0aGUgbGFz dCB0ZW1wbGF0ZSBhcmd1bWVudCwgdGhlCisJICAgZW50aXJlIHRlbXBsYXRl IGFyZ3VtZW50IGxpc3QgaXMgYSBub24tZGVkdWNlZAorCSAgIGNvbnRleHQu ICAqLworCWlmIChQQUNLX0VYUEFOU0lPTl9QIChUUkVFX1ZFQ19FTFQgKHBh cm12ZWMsIGkpKSkKKwkgIHJldHVybiB1bmlmeV9zdWNjZXNzIChleHBsYWlu X3ApOworCisgICAgICBpZiAoVFJFRV9WRUNfTEVOR1RIIChhcmd2ZWMpIDwg bGVuIC0gcGFybV92YXJpYWRpY19wKQorCXJldHVybiB1bmlmeV90b29fZmV3 X2FyZ3VtZW50cyAoZXhwbGFpbl9wLAorCQkJCQlUUkVFX1ZFQ19MRU5HVEgg KGFyZ3ZlYyksIGxlbik7CisKKyAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg bGVuIC0gcGFybV92YXJpYWRpY19wOyArK2kpCisJaWYgKHVuaWZ5ICh0cGFy bXMsIHRhcmdzLAorCQkgICBUUkVFX1ZFQ19FTFQgKHBhcm12ZWMsIGkpLAor CQkgICBUUkVFX1ZFQ19FTFQgKGFyZ3ZlYywgaSksCisJCSAgIFVOSUZZX0FM TE9XX05PTkUsIGV4cGxhaW5fcCkpCisJICByZXR1cm4gMTsKKworICAgICAg aWYgKHBhcm1fdmFyaWFkaWNfcAorCSAgJiYgdW5pZnlfcGFja19leHBhbnNp b24gKHRwYXJtcywgdGFyZ3MsCisJCQkJICAgcGFybXZlYywgYXJndmVjLAor CQkJCSAgIERFRFVDRV9FWEFDVCwKKwkJCQkgICAvKnN1YnI9Ki90cnVlLCBl eHBsYWluX3ApKQorCXJldHVybiAxOworICAgIH0KIAogICByZXR1cm4gMDsK IH0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL2NwcDB4L3Zh cmlhZGljLXR0cDcuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2NwcDB4L3Zh cmlhZGljLXR0cDcuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4wZGJlOTA0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvY3BwMHgvdmFyaWFkaWMtdHRwNy5DCkBAIC0wLDAgKzEsMTYg QEAKKy8vIFBSIGMrKy84MTIxNQorLy8geyBkZy1kbyBjb21waWxlIHsgdGFy Z2V0IGMrKzExIH0gfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBzdHJ1Y3Qg WCB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVID0gdm9p ZD4gc3RydWN0IHNldCB7IH07CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBWLCB0 ZW1wbGF0ZSA8dHlwZW5hbWUuLi4+IGNsYXNzIEM+Cit2b2lkIGJhciAoY29u c3QgWDxDPFY+PiYpCit7Cit9CisKK3ZvaWQKK2ZvbyAoWDxzZXQ8aW50Pj4m IHgpCit7CisgIGJhciAoeCk7Cit9Cg== --001a113703b425e1380552e16873--